SymPy:LaTeX打印具有许多参数的函数

时间:2014-05-14 18:54:10

标签: python latex sympy

我的问题与SymPy的LaTeX打印机的输出有关。具体来说,我有一个多个参数的函数,我希望得到它的衍生物。举个例子,我有以下脚本:

from sympy import *
a1, a2, a3, a4, a5 = symbols("a1 a2 a3 a4 a5")
f = Function("f")(a1, a2, a3, a4, a5)
g = Function("g")(f)
print latex(Derivative(g, a2))

这是stdout:

\frac{\partial}{\partial a_{2}} g{\left (f{\left (a_{1},a_{2},a_{3},a_{4},a_{5} \right )} \right )}
但是,我希望我的输出看起来像这样:

\frac{\partial g}{\partial{ a_{2}}}

使用SymPy可以吗?提前谢谢。

PS:有没有办法在这些帖子中呈现LaTeX?

1 个答案:

答案 0 :(得分:1)

衍生物的乳胶印刷根据被区分的物体中的变量数选择部分d或d。在您的情况下,只有单个变量a_2,因此将使用d。它还取决于被区分的函数是否具有多个变量。在你的情况下,你有这样的功能,但你不希望它(显然)显示它所依赖的变量。我能想到的最接近的黑客就是使用这样的东西:

>>> dots=var('...')
>>> a2 = var('a2')
>>> (Derivative(g(a2,dots),a2))
 ∂             
───(g(a₂, ...))
∂a₂     

>>> (Derivative(g(dots,a2,dots),a2))
 ∂                  
───(g(..., a₂, ...))
∂a₂  

注意:我使用live.sympy生成乳胶输出。我想你也可以使用isympy。