指数近似和を求めるために特定のアルゴリズムを使用すると、いくつのFLOPがあるかを理解しようとしています。 factorial(n)はPythonで使われます。私はバイナリ操作のためのFLOPsを理解しているので、ここでも関数内のバイナリ操作も階乗ですか?コンピュータサイエンス専攻ではないので、私はこれらの問題をいくつか持っています。私のコードは次のようになります:pythonでmath.factorial(n)を使用して階乗を計算する際にいくつのFLOPがあるか
from __future__ import division
import numpy as np
import matplotlib.pyplot as plt
import math
x = input ("please enter a number for which you want to run the exponential summation e^{x}")
N = input ("Please enter an integer before which term you want to turncate your summation")
function= math.exp(x)
exp_sum = 0.0
abs_err = 0.0
rel_err = 0.0
for n in range (0, N):
factorial = math.factorial(n) #How many FLOPs here?
power = x**n # calculates N-1 times
nth_term = power/factorial #calculates N-1 times
exp_sum = exp_sum + nth_term #calculates N-1 times
abs_err = abs(function - exp_sum)
rel_err = abs(abs_err)/abs(function)
これを理解してください。私は他のFLOPについても間違っているかもしれません!
コードにはいくつかの問題があります: 'x'は定義されておらず、' function = math.exp(x) 'は不明で再利用はしません。明確にできますか? – jadsq
私のコードを更新しました。見てください – bhjghjh
典型的なNは何ですか?最大Nとは何ですか? – osgx