SciPy中的复杂解算器

时间:2013-05-31 15:19:19

标签: scipy mathematical-optimization complex-numbers

SciPy中的求解器可以处理复杂的值(即x = x'+ i * x“)吗?我对使用Nelder-Mead类型最小化函数特别感兴趣。我通常是Matlab用户,我知道Matlab没有复杂的求解器。如果SciPy可以做到这一点那么我肯定是转换器!提前谢谢。

1 个答案:

答案 0 :(得分:2)

看起来scipy.optimize.fminscipy.optimize.leastsq都不适合复杂的数字。例如,fmin(lambda x: np.linalg.norm(x - np.array((1.2, 3+2j))), np.array((0j, 0j)))收敛到array([ 1.19996429, 2.99997809])leastsq失败。为了使它工作,我想在R ^ 2中嵌入你的复数。所以喜欢

fmin(lambda x: np.linalg.norm(x - np.array((1.2, 0, 3,2))), np.array((0,0, 0,0)))

收敛于

array([  1.20000095e+00,  -4.11719096e-05,   2.99999705e+00,    2.00001270e+00])

但是,如果这些功能在复杂的数字中表现得很好,那就太好了。