我已经用numpy来保存复数矩阵。输出文件如下所示:

(1.100412357301083777e-02+1.471303433818593742e-02j)     (1.511426586599529109e-02+-2.516143258497194335e-03j)
(1.084202636262432407e-02+1.438252996657629623e-02j)     (1.447620213198375083e-02+4.471111098343749646e-03j)


现在,我尝试使用numpy data = np.loadtxt('PsiPfree1.out', delimiter='\t', dtype=np.complex128)读取它,但是出现以下错误:

items = [conv(val) for (conv, val) in zip(converters, vals)]
ValueError: complex() arg is a malformed string`


有什么想法可以使它起作用吗?

编辑:我现在也尝试不带括号使矩阵看起来像这样:

1.100412357301083777e-02+1.471303433818593742e-02j  1.511426586599529109e-02+-2.516143258497194335e-03j
1.084202636262432407e-02+1.438252996657629623e-02j  1.447620213198375083e-02+4.471111098343749646e-03j


这导致相同的问题。

最佳答案

问题是,我使用的numpy savetxt函数np.savetxt('PsiPges.out',PsiPges , delimiter='\t')导出了数据矩阵,但是对于所有负虚部,它都写入了+-(请参见上面发布的矩阵)。如果仅用-代替,则loadtxt函数将正常工作。

09-25 18:54