Python Sympy矩阵的漂亮输出

时间:2015-02-18 21:50:20

标签: python python-2.7 sympy

Matrix([[607000, 907, 259, -2165, -1846, 185, -60, -1593, 1445, 1405], [-1000, -2, 0, -1, 0, 0, -1, 0, 0, -1], [0, 0, 1, 0, 0, 0, 0, 0, 0, 0], [-4000, -7, -3, 5, 4, 1, -1, 4, -4, -2], [-317000, -469, -128, 1173, 1001, -105, 35, 862, -772, -771], [-70000, -105, -32, 246, 209, -19, 7, 180, -166, -157], [8000, 14, 6, -10, -9, -1, -1, -8, 9, 4], [-540000, -807, -230, 1925, 1642, -166, 56, 1418, -1284, -1249], [-328000, -488, -137, 1189, 1017, -104, 36, 872, -785, -776], [-70000, -105, -31, 246, 208, -21, 6, 179, -166, -157]])

我认为矩阵太大了,无法打印到控制台。我也遇到了与numpy相同的问题。我可以使用np.set_printoptions(suppress=True,linewidth=10000)修复它。我怎么能用同情来解决这个问题?

1 个答案:

答案 0 :(得分:9)

从sympy尝试pprint

>>> from sympy import Integral, Matrix, pi, pprint
>>> from sympy.abc import x
>>> pprint(Integral(x**2, x))
  /
 |
 |  2
 | x  dx
 |
/

>>> pprint(Matrix([
...   [1/(4*pi), 1],
...   [1, f(x)]
... ]))
⎡ 1       ⎤
⎢───   1  ⎥
⎢4⋅π      ⎥
⎢         ⎥
⎣ 1   f(x)⎦

来自文档(http://docs.sympy.org/latest/tutorial/printing.html):

  

如果你想要的是最好的漂亮打印,请使用init_printing()   功能。这将自动启用最佳打印机   你的环境   如果您计划在交互式计算器类型的会话中工作,那么   init_session()函数会自动导入SymPy中的所有内容,   创建一些常见的符号,设置绘图,然后运行init_printing()

enter image description here