符号泰勒展开
Symbolic Taylor expansion
我想在 SageMath
中将符号 function $f(x)$
展开为泰勒级数
$$\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 中进行设置?
有了 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 是独立的。
这是你想做的吗?
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)
我想在 SageMath
中将符号function $f(x)$
展开为泰勒级数
$$\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 中进行设置?
有了 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 是独立的。
这是你想做的吗?
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)