sympy 中的预测数和激进输出
presion number and radical output in sympy
以下程序的结果很糟糕。另一方面,我希望结果是精度为三位数的浮点数(非符号)。是否有技巧可以将所有输出打印成三位精度的浮点数?
from sympy import *
H= Matrix([[ 1. , 0.05433693 , 0.10472542],
[ 0.05433693 , 1. , 0.85837621],
[ 0.10472542 , 0.85837621 ,1. ]])
ppp=Matrix(H)
z=ppp.eigenvals()
pprint(z)
>>> for k,v in z.items():
... print '%s, %s' % (k.n(3, chop=True), v)
...
0.178 + 1.13*I, 1
0.178 - 1.13*I, 1
2.64, 1
以下程序的结果很糟糕。另一方面,我希望结果是精度为三位数的浮点数(非符号)。是否有技巧可以将所有输出打印成三位精度的浮点数?
from sympy import *
H= Matrix([[ 1. , 0.05433693 , 0.10472542],
[ 0.05433693 , 1. , 0.85837621],
[ 0.10472542 , 0.85837621 ,1. ]])
ppp=Matrix(H)
z=ppp.eigenvals()
pprint(z)
>>> for k,v in z.items():
... print '%s, %s' % (k.n(3, chop=True), v)
...
0.178 + 1.13*I, 1
0.178 - 1.13*I, 1
2.64, 1