Как найти n-й член ряда Тейлора в Sympy

Есть ли способ вычислить n-й член разложения в ряд Тейлора, не определяя значение n? В случае синуса это (-1)**n*x**(2*n+1)/(2*n+1)!. В Maxima это (несколько) родственная форма, чтобы сделать это с powerseries(sin(x), x, 0).


person nicoguaro    schedule 07.08.2014    source источник
comment
Пока нет, хотя я считаю, что этот проект Google Summer of Code предоставит способ github.com/sympy/sympy/wiki/   -  person asmeurer    schedule 08.08.2014
comment
О, круто. Можете ли вы добавить это в качестве ответа? Я имею в виду, что это невозможно прямо сейчас со встроенными возможностями и ответить на вопрос (пока).   -  person nicoguaro    schedule 08.08.2014


Ответы (2)


Используйте математическое выражение: f^(n)(x) / n! х^п:

diff(f(x), *[x for _ in xrange(n)]) / factorial(n) * x**n

Магия * просто распаковывает список:

 diff(f(x), *[x, x, x])

эквивалентно:

 diff(f(x), x, x, x)
person Davidmh    schedule 07.08.2014
comment
Дэвид, это не сработает, n — целочисленный символ, поэтому Python не может создать список с n, имеет одно из ограничений. - person nicoguaro; 07.08.2014

Вот последовательность чисел:

4, 10, 16, 22, 28

N-й член последовательности всегда записывается в виде «?n + ?».

Число перед «n» всегда является разницей перехода от одного термина к другому. Поскольку разница равна 6, первая часть нашего правила будет «6n». Правило следует таблице умножения на шесть: 6, 12, 18, 24... и т. д.

Числа в последовательности всегда на 2 меньше, чем в таблице умножения на 6, поэтому мы «подгоняем» наше правило, вычитая 2. Теперь это вместе дает нам: n-й член = 6n - 2.

Ваш Добро пожаловать рад помочь :-)

person user4262377    schedule 17.11.2014