泰勒符号展开

时间:2018-10-31 07:31:17

标签: sage

我想将符号function $f(x)$扩展为SageMath中的泰勒级数

$$\delta f(x)=\delta x\frac{d}{dx}f+\frac12(\delta x)^2\frac{d^2} 
{dx^2}f+O((\delta x)^3)$$

使用

$$\delta x = a_1(\delta t)^{\frac12}+a_2(\delta t)+a_3(\delta t)^{\frac32}+O((\delta t)^2)$$

并将$\delta t$的相同幂项扩展并收集到指定幂,例如$\frac32$. $f$只是一个符号,我只需要Mathsage来生成导数$\frac{d}{dx}$的符号

应该如何在SageMath中进行设置?

2 个答案:

答案 0 :(得分:0)

使用sympy,您将执行以下操作以获得泰勒级数。

import sympy

dt = sympy.Symbol('dt')
a1 = sympy.Symbol('a1')
a2 = sympy.Symbol('a2')
a3 = sympy.Symbol('a3')
dx = a1*dt**(1/2) + a2*dt + a3*dt**(3/2)

from sympy.abc import x
f = sympy.Function('f')(x)
df = dx*sympy.diff(f,x) + 1/2*dx**2*sympy.diff(f,x,2)
df.series(x)

假设x和δx是独立的。

答案 1 :(得分:0)

这是您想要做的吗?

sage: f = function('f', nargs=1)(x)
sage: f
f(x)
sage: f.taylor(x, 0, 2)
1/2*x^2*D[0, 0](f)(0) + x*D[0](f)(0) + f(0)