如何在python中将矩阵数转换为分数而不是小数?

时间:2019-07-18 08:29:20

标签: python

我在python中有一个矩阵:

aa = np.array([[1, -2], [1, 1]])

然后,我要计算此矩阵aa的逆:

bb = inv(aa)
Finally, I got the result:
print("bb: ", bb)
array([[ 0.33333333,  0.66666667], [-0.33333333,  0.33333333]]))

但是我想以分数格式而不是十进制/浮点数打印结果:

array([[ 1/3,  2/3], [-1/3,  1/3]]))

这是我的原始密码:

import numpy as np
from numpy.linalg import inv
from fractions import Fraction

aa = np.array([[1, -2], [1, 1]])
bb = inv(aa)
print("bb: ", bb)

如何通过python获得此打印结果?

array([[ 1/3,  2/3], [-1/3,  1/3]]))

1 个答案:

答案 0 :(得分:0)

您可以使用sympy

from sympy import Matrix

aa = Matrix([[1, -2], [1, 1]])
bb = aa.inv()
print(bb)  # Matrix([[1/3, 2/3], [-1/3, 1/3]])