我已经用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函数将正常工作。