2014-05-14 31 views
1

我的問題屬於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)) 

這樣做的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?

+0

不,LaTeX在堆棧溢出時未啓用。不過,您可以上傳圖片。 – asmeurer

回答

1

導數的膠乳印刷根據要區分的對象中的變量數量來選擇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生成乳膠輸出。我想你也可以使用isympy。

+0

如果你想在LaTeX中使用點,你應該使用'\ ldots'。 – asmeurer

相關問題