Expressão analítica para os vetores próprios de uma matriz simétrica real de 3x3?

11

Estou escrevendo um algoritmo que processa imagens 3D com base no momento local de inércia.

Eu tenho uma matriz simétrica real de 3x3, da qual preciso encontrar os autovalores. Eu encontrei uma variedade de algoritmos genéricos para a diagonalização de matrizes por aí, mas não consegui saber se existe uma expressão analítica para os três autovetores dessa matriz.

Alguém proficiente em matemática saberia disso?


EDITAR

Para o registro aqui é o que eu encontrei na pergunta eu mesmo. Como Matthias Odisio disse, você não pode se limitar a uma simples expressão analítica assim que tiver uma matriz 3x3.

Eu encontrei, no entanto, um artigo dedicado para o caso especial, matrizes eremitas 3x3, onde são comparadas várias abordagens especializadas numéricas:

http://arxiv.org/abs/physics/0610206

Aqui está o código C e Fortran do artigo:

http://www.mpi-hd.mpg.de/personalhomes/globes/3x3/index.html

Jean-Yves
fonte

Respostas:

8

O Wolfram | Alpha facilitou essas coisas :

insira a descrição da imagem aqui

Matthias Odisio
fonte
Agradável. Eu não sabia que você poderia fazer coisas assim na ferramenta online gratuita. Vou ter que dar uma olhada para ver quanto do Mathematica oferece.
Jason R
Ai! Eu acho que é por isso que as pessoas recorrem à resolução numérica. Isso é dificilmente legível. Além disso, vejo números imaginários lá. Acho que deveria ter acrescentado que a, bc, d, e ef eram reais. Você pode fazer isso no Mathematica?
19412 Jean-Yves
O Mathematica possui uma maneira abrangente de definir "operadores fundamentais" (Sqrt, Power, Log, etc.) para números complexos (problemas de corte de ramificação, etc.). Tenha certeza de que, quaisquer que sejam os valores reais com os quais você substitua os símbolos 'a', ..., 'f', os autovetores serão reais (ou seja, suas partes imaginárias serão menores que, digamos, 10 ^ -12).
Matthias Odisio
Eu descobri que você pode criar essas suposições usando sintaxe como "um [Elemento] Reals". Mas a partir de agora, eu preciso de uma licença Mathematica, que eu não tenho;)
Jean-Yves
2
É necessário expressar as quantidades usando números complexos, mesmo que as entradas a, ..., f sejam números reais. Um colega me indicou en.wikipedia.org/wiki/Casus_irreducibilis, que explica o problema.
Matthias Odisio