値の配列の最初の推定値がx
の場合、私はx
に最も近いシステムのルートを見つけようとしています。 f_i
がf
任意の10進精度の方程式系の根を見つける
内にある特定の機能がある
0 = f_1(x)
0 = f_2(x)
....
0 = f_n(x)
パッケージは内があります:あなたはシステムのルーツを見つけることに慣れている場合は、方程式のシステムのためのf
満足するルートを見つけることを理解するであろうscipy
これは正確に:scipy.optimize.newton_krylov
です。例えば:私は非常に精密な仕事をしていますので、
import scipy.optimize as sp
def f(x):
f0 = (x[0]**2) + (3*(x[1]**3)) - 2
f1 = x[0] * (x[1]**2)
return [f0, f1]
# Nearest root is [sqrt(2), 0]
print sp.newton_krylov(f, [2, .01], iter=100, f_tol=Dc('1e-15'))
>>> [ 1.41421356e+00 3.49544535e-10] # Close enough!
はしかし、私は、Python内decimal
パッケージを使用しています。 decimal
は、通常の小数精度よりも多くを提供します。 scipy.optimize.newton_krylov
は浮動小数点精度の値を返します。任意の正確な小数精度で私の答えを得る方法はありますか?