我想将符号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中进行设置?
答案 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)