SymPy:带有多个参数的函数的LaTeX打印
我有一个问题,跟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。