IPython Notebook Sympy数学渲染

15

我刚开始使用IPython Notebook,被它的强大功能所吸引。我一直在使用网络上提供的一些示例来入门。我正在按照这个教程进行操作:http://nbviewer.ipython.org/url/finiterank.com/cuadernos/suavesylocas.ipynb 但是数学输出没有按照预期呈现。以下是我的代码和输出:

In [30]:

%load_ext sympyprinting
%pylab inline

from __future__ import division
import sympy as sym
from sympy import *

init_printing()

x,y,z=symbols("x y z")
k,m,n=symbols("k m n", integer=True)

The sympyprinting extension is already loaded. To reload it, use:
  %reload_ext sympyprinting

Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.kernel.zmq.pylab.backend_inline].
For more information, type 'help(pylab)'.

In [31]:

t = sin(2*pi*x*(k**2))/ (4*(pi**2)*(k**5)) + (x**2) / (2*k)
t
Out[31]:
  22  ⎞
 x    sin⎝2⋅π⋅k ⋅x⎠
─── + ─────────────
2⋅k         2  5   
         4⋅π ⋅k   

我也尝试了其他示例,但它们也无法正确渲染。我错在哪里了?


似乎有许多版本和用户,因此有很多种方法。我也想知道正确的方法(TM)。 - Krastanov
е¶ВжЮЬеИ†йЩ§init_printingеТМ/жИЦpylabи°МдЉЪеПСзФЯдїАдєИпЉЯ - asmeurer
@asmeurer:没有变化。输出仍然是相同的。 - DotPi
如果您使用%load_ext sympy.interactive.ipythonprinting,它是否有效?您需要SymPy 0.7.2。 - asmeurer
@asmeurer:我有Sympy 0.7.2,但是它显示:未找到对象sympy.interactive.ipythonprinting - DotPi
显示剩余2条评论
3个回答

17

我有同样的问题。尝试一下

from sympy.interactive import printing
printing.init_printing(use_latex=True)

取代

%load_ext sympyprinting

我正在使用sympy 0.7.2版本


在 sympy 1.0 和 IPython 5.4.1 中运行得非常好。谢谢! - scrutari

2

我最近遇到了同样的问题,我使用的是Linux Crunchbang,这是Redhat的一个衍生版本。起初我使用以下命令安装sympy:

pip install sympy

然而,这导致了上述所述的问题。因此,我前往sympy网页并克隆了git存储库到一个文件夹中。然后可以通过以下方式安装(一旦在本地文件夹中):

python setup.py install

之后一切都运行良好,所以我认为这与使用的版本有关。记录一下,我用于在Python中初始化打印的命令是:

import sympy
sympy.init_printing()

2

导入:

from sympy import *
init_printing()

例子:

x = symbols('x')
a = Integral(cos(x)*exp(x), x)
Eq(a, a.doit())

输出:

Eq(Integral(exp(x)*cos(x), x), exp(x)*sin(x)/2 + exp(x)*cos(x)/2)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接