2017-02-10 14 views
0

У меня есть выражение для гравитационного потенциала (уравнение 15 из here), и для вычисления орбиты мне нужно оценить гравитационную силу, которая является локальным градиентом, а для меня это означает оценивая производную от Legendre polynomials P2, P4 и P6 при единичных значениях десятки тысяч раз.Получение производных полиномов Лежандра в Python

enter image description here

я могу вычислить его, используя выражение в this question, но мне интересно, если есть способ задать питон для производной, которая в явном виде не привлекать меня оценку производной как конечная разность.

В SciPy ничего не найдено, чтобы сделать это автоматически. В numpy.polynomial.legendre.Legendre существует метод deriv(), но у меня нет опыта работы с полиномиальными классами.

Что было бы самым быстрым способом оценить первые производные полиномов Лежандра младшего порядка, по одному за раз подходящим образом для численного интегрирования?

+0

Вы можете попробовать модуль 'sympy', который, если я не ошибаюсь, входит в состав SciPy , Это позволяет вам делать очень легкую дифференциацию и интеграцию и т. Д., Но сначала вам придется иметь дело с этой бесконечной суммой, возможно, Sympy может справиться с этим, а также неплохо оценить пределы и такие вещи. – ForceBru

+0

@ForceBru спасибо, я не думаю, что «симпы» подходят для работы здесь. Я сам могу сделать символическую часть - ответ прямо в связанном вопросе. Мне нужна быстрая численная оценка, а 'sympy' этого не делает. – uhoh

ответ

2

Если вам просто нужны производные от P2, P4 и P6, это достаточно легко вычислить вручную, а затем записать в виде кода ... например.

P2 = .5 * (3 * x^2 - 1) 

Поэтому:

P2' = .75 * x 

И вы можете написать, что в питоне как:

def P2_deriv(x): 
    return .75 * x 

вещи на самом деле не получить гораздо быстрее, чем это ;-). Если вам нужны произвольные легендарные полиномы, ну ... В этот момент все становится немного сложнее ...

+0

Хорошо, так как я упомянул, мне нужны только несколько полиномов низкого порядка, вы правы. Я могу перестать думать о них как о экзотических объектах, которые нуждаются в специальных методах и просто кладут карандаш на бумагу. Спасибо, что вернули меня на Землю - тратя слишком много времени на орбите вокруг Сатурна, гниет мозг! :) – uhoh

 Смежные вопросы

  • Нет связанных вопросов^_^