Вы можете использовать applyfunc
, чтобы применить округление к данному ди git или evalf
/ n
, чтобы получить определенное количество значащих цифр.
>>> from sympy import randMatrix
>>> m = (randMatrix(3,3).row_join(eye(3))).rref()[0]
>>> m.applyfunc(lambda x: round(x, 3))
Matrix([
[1, 0, 0, 0.004, -0.022, 0.016],
[0, 1, 0, 0.015, 0.001, -0.006],
[0, 0, 1, -0.022, 0.027, 0.0]])
>>> m.n(3)
Matrix([
[1.0, 0, 0, 0.00404, -0.0225, 0.016],
[ 0, 1.0, 0, 0.0149, 0.000538, -0.00604],
[ 0, 0, 1.0, -0.0216, 0.0268, 0.000228]])