Python Sympy矩阵的漂亮输出

use*_*363 8 python sympy python-2.7

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]])
Run Code Online (Sandbox Code Playgroud)

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

ndp*_*dpu 9

尝试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)?
Run Code Online (Sandbox Code Playgroud)

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

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

在此输入图像描述

  • 您可以设置`init_printing(num_columns = 100)`或`init_printing(wrap_line = False)`.参见`help(init_printing)`. (2认同)