2017-03-31 23 views
1

的考慮一些功能f訂單指數,我想用sympy計算以下總和:使用總和作爲推導

$\sum\limits _{i=0}^{n}\dfrac{d^{i}}{dx^{i}}f$

一般來說,我想使用求和的指數的順序功能的區別,但我無法找到如何與sympy做到這一點。

+0

@Willem Van Onsem:感謝編輯 – user25640

+0

'f'已經是'sympy'函數了嗎? –

+0

太糟糕了,因此沒有LaTeX渲染(它已被多次詢問)。 –

回答

2

鑑於n是事先知道的int,你可以構造一個功能:

from sympy import diff 

def sum_diff_order(f,x,n): 
    g = 0 
    for i in range(n+1): 
     g += diff(f,x,i) 
    return g

所以,如果你把fx**10n=5,我們得到:

>>> x = symbols('x') 
>>> f = x**10 
>>> sum_diff_order(f,x,5) 
x**10 + 10*x**9 + 90*x**8 + 720*x**7 + 5040*x**6 + 30240*x**5 
2
import sympy as sp 

x = sp.symbols('x') 
f = sp.Function('f') 

n = 2 
sum([f(x).diff(x,i) for i in range(n+1)]) 

f(x) + Derivative(f(x), x) + Derivative(f(x), x, x)

0

如果n是一個已知整數,可以使用類似Add(*[diff(f(x), x, i) for i in range(n+1)])的東西。對於象徵性的n或無窮大,這是不可能的,因爲有no way yet來表示符號順序的導數。