Символическое расширение Тейлора - PullRequest
0 голосов
/ 31 октября 2018

Я хотел бы расширить символ 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 голосов
/ 01 ноября 2018

Это то, что вы хотите сделать?

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)
0 голосов
/ 01 ноября 2018

С симпози, вы бы сделали что-то подобное, чтобы получить серию Тейлора.

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 независимы.

...