0

我正在尝试获取复值矩阵的实际值。

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

任何帮助表示赞赏

4

2 回答 2

2

mp.re(A[0,0]), mp.re(A[0,1]), mp.re(A[1,0]), 和mp.re(A[1,1])所有的工作,但你是对的,那mp.re(A)是行不通的。目前,您可以循环遍历矩阵,直到找到矢量化解决方案。

于 2014-05-19T23:53:56.843 回答
2

就像其他人想知道的那样:遍历矩阵的最简单方法是使用applya 的函数mp.matrix

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)
于 2015-05-26T15:54:10.910 回答