SymPy:带有多个参数的函数的LaTeX打印

2 投票
1 回答
877 浏览
提问于 2025-04-18 06:34

我有一个问题,跟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))

运行这个脚本后,输出结果是:

\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可以做到这一点吗?提前谢谢!

另外,有没有办法在这些帖子里渲染LaTeX?

1 个回答

1

在LaTeX中打印导数时,会根据被求导的对象有多少个变量来选择用“部分导数符号(partial-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来生成LaTeX输出。我觉得你也可以使用isympy。

撰写回答