2

假设我有以下代码:

import sympy as sp
from sympy.physics.quantum import TensorProduct

s=sp.eye(2)
a=TensorProduct(s*x,TensorProduct(s,s)).subs(x,x**2+2*x+1)
sp.pprint(a)

该代码将生成一个宽度有限的输出(我讨厌):

在此处输入图像描述

我的问题是:

  1. 为什么在我的窗口有足够空间的情况下存在宽度限制以及如何更改它?
  2. 如何将这样的输出打印到文件中?
4

2 回答 2

3

对于python>=3.4,

from contextlib import redirect_stdout
import sympy as sp
from sympy.physics.quantum import TensorProduct

s = sp.eye(2)
x = sp.symbols('x')
a = TensorProduct(s*x, TensorProduct(s, s)).subs(x, x**2+2*x+1)

with open('data.txt', 'w') as f:
    with redirect_stdout(f):
        sp.pprint(a, wrap_line=False)

.

于 2018-05-30T08:22:27.263 回答
0

sympy.preview

sp.preview(a, viewer='file', filename="out.png", dvioptions=['-D','300'])

将允许您将表达式保存为 LaTeX/png/pdf。

于 2022-02-03T14:52:21.510 回答