SciPy 中的求解器可以处理复杂值(即 x=x'+i*x")吗?我对使用 Nelder-Mead 类型的最小化函数特别感兴趣。我通常是 Matlab 用户,我知道 Matlab 没有复杂的求解器。如果 SciPy 可以做到这一点,那么我肯定是一个皈依者!提前致谢。
问问题
1121 次
1 回答
2
它看起来既不适合复数,scipy.optimize.fmin
也不scipy.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])
但是,是的,如果这些函数确实能很好地处理复数,那就太好了。
于 2015-07-06T17:42:26.193 回答