2013-05-31 1 views
4

SciPy의 해법은 복잡한 값 (즉, x = x '+ i * x ")을 다룰 수 있습니까? 특히 Nelder-Mead 유형 최소화 함수를 사용하고 싶습니다. 일반적으로 저는 Matlab 사용자이고 나는 매트랩 복잡한 해법이없는 것을 알고있다. SciPy 다음이 할 수 있다면 나는 사전에 확인! 감사에 대한 변환입니다.SciPy의 복잡한 해법

+1

"복잡한 해결사"란 무엇을 의미합니까? 두 개의 복소수의 비교는 각 "수"가 2 차원이기 때문에 잘못 정의됩니다. x> y를 고려하십시오. 답은 진짜 (x)> 진짜 (y), imag (x)> imag (y), | x | > | y |, angle (x)> angle (y), real (x) + imag (x)> real (y) + imag (y) 또는 다른 것? – matt

+0

[this other stack overflow] (http://stackoverflow.com/questions/15213141/how-to-do-nonlinear-complex-root-finding-in-python?rq=1) 대답이 도움이됩니까? –

답변

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))) 
01 23,516,

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

으로 수렴

하지만 그 기능은 복잡한 숫자와 함께 좋은 플레이 한 경우에 참 좋을 것입니다.