0.2 Miscelânea — Geração dos Coeficientes do Polinômio de Legendre
Os Polinômios de Legendre, também conhecidos como coeficientes de Legendre, são os elementos de um conjunto formado pelas soluções da equação diferencial de Legendre. Os primeiros polinômios de Legendre são:
n | $$P_n(x)\,$$ |
$$1\,$$ | |
1 | $$x\,$$ |
2 | $$\begin{matrix}\frac12\end{matrix} (3x^2-1) \,$$ |
3 | $$\begin{matrix}\frac12\end{matrix} (5x^3-3x) \,$$ |
4 | $$\begin{matrix}\frac18\end{matrix} (35x^4-30x^2+3)\,$$ |
5 | $$\begin{matrix}\frac18\end{matrix} (63x^5-70x^3+15x)\,$$ |
6 | $$\begin{matrix}\frac1{16}\end{matrix} (231x^6-315x^4+105x^2-5)\,$$ |
7 | $$\begin{matrix}\frac1{16}\end{matrix} (429x^7-693x^5+315x^3-35x)\,$$ |
8 | $$\begin{matrix}\frac1{128}\end{matrix} (6435x^8-12012x^6+6930x^4-1260x^2+35)\,$$ |
9 | $$\begin{matrix}\frac1{128}\end{matrix} (12155x^9-25740x^7+18018x^5-4620x^3+315x)\,$$ |
10 | $$\begin{matrix}\frac1{256}\end{matrix} (46189x^{10}-109395x^8+90090x^6-30030x^4+3465x^2-63)\,$$ |
</center>
Esses polinômios podem ser gerados pela seguinte fórmula recursiva:
$$P_0(x) = 1$$ |
$$P_1(x) = x$$ |
$$(n+1) P_{n+1}(x) = (2n+1) x P_n(x) – n P_{n-1}(x)$$ |
</center>
ou pela seguinte definição explícita:
onde o coeficiente do polinômio $$a_n$$ é
Os primeiros polinômios de Legendre são ilustrados no gráfico abaixo
Implementação
def compute_legendre_polynomials_coeficients(n):
"""
Compute the coefficients of the nth Legendre polynomial.
[coefficients] = compute_legendre_polynomials_coeficients(n)
INPUT:
* n: order of the Legendre polynomial
return: a list containing the polynomial coefficients of nth Legendre
polynomial (ordered from the highest to lowest)
Author: Pedro Garcia [sawp@sawp.com.br]
see: http://www.sawp.com.br
License: Creative Commons
http://creativecommons.org/licenses/by-nc-nd/2.5/br/
Jul 2012
"""
b = 2.0 ** n
B = binomial_coefficients
a = [b * B(n, k) * B((n + k - 1) / 2.0, n) for k in xrange(0, n + 1)]
a.reverse()
return a
Disponível para download em http://www.sawp.com.br/code/misc/legendre_coefficients_generator.py
Copyright
</p>Este documento é disponível sob a licença Creative Commons. As regras dos direitos de cópia deste conteúdo estão acessíveis em http://creativecommons.org/licenses/by-nc-nd/2.5/br/.