我使用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
这会导致同样的问题。
答案 0 :(得分:1)
问题是,我使用的numpy savetxt函数np.savetxt('PsiPges.out',PsiPges , delimiter='\t')
导出了数据矩阵,但是对于所有负虚部,它都会写+-
(参见上面发布的矩阵)。如果仅由-
替换,则loadtxt函数可以正常工作。