У меня есть выражение для гравитационного потенциала (уравнение 15 из here), и для вычисления орбиты мне нужно оценить гравитационную силу, которая является локальным градиентом, а для меня это означает оценивая производную от Legendre polynomials P2, P4 и P6 при единичных значениях десятки тысяч раз.Получение производных полиномов Лежандра в Python
я могу вычислить его, используя выражение в this question, но мне интересно, если есть способ задать питон для производной, которая в явном виде не привлекать меня оценку производной как конечная разность.
В SciPy ничего не найдено, чтобы сделать это автоматически. В numpy.polynomial.legendre.Legendre
существует метод deriv()
, но у меня нет опыта работы с полиномиальными классами.
Что было бы самым быстрым способом оценить первые производные полиномов Лежандра младшего порядка, по одному за раз подходящим образом для численного интегрирования?
Вы можете попробовать модуль 'sympy', который, если я не ошибаюсь, входит в состав SciPy , Это позволяет вам делать очень легкую дифференциацию и интеграцию и т. Д., Но сначала вам придется иметь дело с этой бесконечной суммой, возможно, Sympy может справиться с этим, а также неплохо оценить пределы и такие вещи. – ForceBru
@ForceBru спасибо, я не думаю, что «симпы» подходят для работы здесь. Я сам могу сделать символическую часть - ответ прямо в связанном вопросе. Мне нужна быстрая численная оценка, а 'sympy' этого не делает. – uhoh