2014-05-19 1 views
0

복소수 값 행렬의 실수 값을 얻으려고합니다.python/mpmath - 복잡한 행렬의 실제 값을 얻는 방법?

import mpmath as mp 
A = mp.matrix([[1+1j, 2+2j],[3+2j, 4+2j]]) 

둘 다 시도했다 :

mp.re(A) 
np.real(A) 

하지만 둘 다 일을.

나 또한 여기에 정보를 찾는 시도했지만 첫 번째 오류 메시지가 제공 http://docs.sympy.org/0.6.7/modules/mpmath/basics.html

아무것도 발견하지 않았습니다

: cannot create mpf from matrix ...

두 번째는 제공 : 어떤 도움이

감사 insufficient indices for matrix

+0

'A.re' 또는 'A.real'을 대신 사용해 보셨습니까? – Midnighter

+0

그들은 또한 오류를 제공합니다.''matrix '객체에는 속성이 없습니다.', 당신의 제안은 당신의 컴퓨터에서 작동합니까? – evan54

답변

1

mp.re(A[0,0]), mp.re(A[0,1]), mp.re(A[1,0])mp.re(A[1,1]) 모두 작동하지만 요 u가 맞습니다. mp.re(A)이 작동하지 않습니다. 당분간은 벡터화 된 솔루션을 찾을 때까지 매트릭스를 반복 할 수 있습니다.

+0

그래 내가 그 일을 끝내고 ... – evan54

0

그냥 다른 사람이 궁금해하는 경우 : 매트릭스를 반복하는 가장 쉬운 방법은 mp.matrixapply 함수를 사용하는 것입니다.

import mpmath as mp 

X = mp.matrix([[1+10j, 2+20j],[3+30j, 4+40j]]) 
real = X.apply(mp.re) 
imag = X.apply(mp.im) 
관련 문제