Equação associada de Legendre

Caros(as), depois do vexame com meu computador na última aula, vejo-me obrigado a tentar mostrar aqui como os softwares de manipulação simbólica podem ser MUITO uteis, não só para os trabalhos acadêmicos, mas também para a vida profissional mais ampla.

O exemplo que eu tentei mostrar era no Maple, um pacote proprietário já tradicional, pra não dizer “antigo”, mas ainda muito poderoso. É o que eu uso no cotidiano, para meus trabalhos de pesquisa e também pra preparar esses exercícios que vocês tanto gostam. A UNICAMP não tem licença do Maple, e é um software caro. No entanto, todos nós na UNICAMP temos licença para uso do Mathematica, o mais completo, moderno (fashion) e provavelmente poderoso pacote existente atualmente. Para instruções sobre licença e de como instalar o Mathematica em seus computadores, vejam aqui.

Lembrando, nosso problema era encontrar as soluções da equação associada de Legendre

\displaystyle(1-x^2)y'' - 2xy' + \left(\lambda -\frac{m^2}{1-x^2}\right)y=0

sendo m um inteiro.  Vimos que para m=0, a solução deve ser polinomial, caso contrário a solução diverge para  x=\pm 1, e isso estaria associado a divergências para \theta=0,\pi em coordenadas esféricas. Esta exigência era acompanhada da restrição para \lambda = \ell(\ell+1), sendo  \ell um inteiro não negativo, finalizando o problema de autovalores associado à equação de Legendre.

A estratégia que propus para a solução de equação associada de Legendre era baseada na ideia de fazer uma transformação de variáveis que a reduzisse a alguma equação conhecida. No nosso caso, vamos tantar reduzíla à equação de Legendre (m=0).  A mudança de variável que nos interessa é a introdução de uma nova função z(x) tal que

\displaystyle f(x) = (1-x^2)^\frac{m}{2}z(x)

O trabalho é essencialmente mecânico. Deve-se substituir essa expressão na equação e ir colecionando os termos. É um trabalho massante, demorado e extremamente chato. É o tipo de trabalho que recomendei fazer numa folha A3 de lado… Além disso, esse tipo de trabalho está sempre sujeito a erros algébricos que não são fáceis de serem detectados. É aqui que os softwares de manipulação simbólica são valiosíssimos. Como o nome sugere, são softwares que permitem a manipulação simbólica de expressões algébricas, diferencias, etc. O Mathematica (assim como o Maple) é muito intuitivo.  Por exemplo, esta linha de comando

eq := (1 – x^2)*D[y[x], {x, 2}] –
2*x*D[y[x], x] + (lambda – m^2/(1 – x^2))*y[x]

atribui a variável simbólica “eq” o conteúdo associado a equação de Legendre. No Mathematica, o operador D[y[x], {x, n}] corresponde a n-ésima derivada da função y[x]. Examinando o conteúdo da variável “eq”, tem-se

y(x) \left(\text{lambda}-\frac{m^2}{1-x^2}\right)+\left(1-x^2\right) y''(x)-2 x y'(x) 

de onde vemos claramente que se trata da equação associada de Legendre. Todas estas instruções estão neste arquivo, do tipo “Mathematica notebook”, que pode ser executado no Mathematica. Para fazer a substituição de variáveis no Mathematica, basta fazer

y[x] := (1 – x^2)^(m/2)*z[x]

Se agora pedirem para ver o conteúdo da variável “eq”, verão que teremos uma expressão grande e um tanto confusa. Porém, a mágica ocorre com o comando

Simplify[(1 – x^2)^(-m/2)*eq]

Que “simplifica” a expressão, colecionando os termos equivalentes, sem cometer os erros que qualquer humano cometeria… Sugiro que vcs testem  o Mathematica para esse tipo de operação, verão que ele é muito intuitivo e fácil de usar. É uma ferramenta valiosíssima.

Bem, feita essas simplificações, ficamos com a seguinte equação para z(x)

\displaystyle(1-x^2)z'' - 2(m+1)xz' + \left(\lambda - m(m+1) \right)z=0

cuja semelhança com a equação de Legendre é evidente. A ideia aqui é simples, vamos resolver essa equação como fizemos para o caso anterior, usando Frobenius em x=0. Feito isso, ficamos (confiram!) com a seguinte relação de recorrência

\displaystyle a_{k+2} =\left(  \frac{(k+m)(k+m+1)-\lambda}{(k+2)(k+1)}\right)a_k.

A série associada tem as mesmas propriedades de convergência do caso m=0, i.e., ou a série é truncada, ou irá divergir para x=\pm 1. A única maneira da série ser truncada é termos, para um dado m,

\displaystyle  \lambda = (k+m)(k+m+1).

para algum k. Quer dizer, a constante de separação \lambda continua sendo o produto de dois inteiros consecutivos \lambda = \ell (\ell+1), como no caso da equação de Legendre. Mais que isso, a dependência da relação de recorrência em m sugere que, para um m positivo fixo, a solução correspondendo ao autovalor \lambda = \ell (\ell+1) será um polinômio de grau \ell - m. Esta é a dica que nos permite identificar a solução como

\displaystyle z(x) = \frac{d^m}{dx^m}P_\ell(x),

vejam os detalhes no livro, incluindo o caso de m negativo.

Como entusiasta do software livre, tenho que comentar sobre as alternativas livres dos softwares de manipulação algébrica. São dois os principais: o SageMath e o SymPy. O primeiro é um pacote completo, baseado no python e, portanto, com sintaxe semelhante. O segundo é uma library para o python. Minha experiência é que ambos funcionam bem, mas são muito menos intuitivos que o Mathematica e, portanto, seu uso é mais difícil. Eu recomendo a todos os meus alunos a distribuição Anaconda do python, pois ela tem todas as libraries científicas mais comuns, incluindo o SymPy. Sobre como instalar o python e seus pacotes, eu acho que, por exemplo, o Matheus-Unabomber-Powerlifter poderia ajudar. Se ele quiser publicar aqui um “tutorial”, será bem vindo, e poderá ganhar um \varepsilon>0 na média final.