cálculo de componentes de vetor próprio de um vetor

8

Eu tenho um vetor que pode ser decomposto no espaço eigens do operador esparso hermitiano :MVM

V=ivim^i

Existe uma maneira de encontrar o (o próprio vetor próprio) que corresponde ao maior (em magnitude)?vim^ivi

Eu quero essencialmente os maiores termos da soma, incluindo os autovetores de , que não conheço antecipadamente.M

Especificamente, quero encontrar simultaneamente os vetores próprios de que correspondem ao maior, além de encontrar o maior . De um modo preferido, sem encontrar todo o espectro de primeiro.| v i | v i MM|vi|viM

Algumas possibilidades em que estive pensando:

Podemos "inflar" a matriz usando o oposto de "Deflação de Wieldant":

M1=M+σ[Σivim^i]VH=M+σVVH

Os valores próprios para diferentes são deslocados . Acredito que podemos extrair e porque os vetores próprios não mudam. O problema é que o produto externo de é denso.λi+σ| vi| 2σviVm^iλi+σ|vi|2σviV

outra possibilidade:

O método de potência (continue multiplicando pelo nosso vetor até a convergência) encontra o componente de com o maior valor próprio. A desvantagem desse método é que não controlamos a magnitude de ; portanto, acabamos encontrando TODOS os componentes e, em seguida, encontrando o maior.MV v iVVvi

Existe alguma maneira de controlar isso para que apenas convergamos para o maior componente?

Andrew Spott
fonte
Estou pensando no mundo real, então acho que requer simulação estocástica. Você tem um vetor e deseja encontrar seu lugar em um subespaço. O subespaço é estendido pelos vetores próprios. O truque é que você não tem todos os vetores próprios, apenas alguns deles. Você pode usar o produto escalar para ver quais dos vetores próprios contribuem para o vetor ou vetores que você possui. Se você tiver sorte, poderá expandir seu vetor com um subconjunto dos vetores próprios. Caso contrário, você pode decompor seu vetor em termos dos vetores próprios que você possui e encontrar os vetores que não possui.
EngrStudent
Consulte scicomp.stackexchange.com/questions/28111/… para obter uma solução! Eu adicionei alguns detalhes da solução à pergunta.
as2457 31/01/19

Respostas:

1

Como a matriz é eremita, você pode usá-la como hamiltoniano para propagá-la em tempo imaginário. Ou seja, resolva o seguinte sistema de equações diferenciais:

idVdt=MV

A solução geral para isso é:

V(t)=V0eiMt

Então você pega o seu , transforma-o por fourier e a altura e o posicionamento dos picos informarão os componentes ao longo de vários vetores próprios e seus valores próprios associados. Isso às vezes é chamado de "método espectral" na física atômica ultra-rápida.V(t)V(0)

Depois de obter os autovalores, encontre os autovetores com o resolvedor de autovalores que preferir.

Dan
fonte
Você pode recomendar um livro, notas de aula ou qualquer fonte que contenha uma introdução a esse "método espectral"? A pesquisa do Google realmente não forneceu resultados satisfatórios para mim.
precisa saber é o seguinte
@Marco Breitig: Eu também nunca consegui encontrar um. É apenas parte da tradição oral da física atômica, suponho.
Dan
0

Certo. Seja uma matriz tal que cada coluna seja um vetor próprio distinto do operador hermitiano ; decorre da hermiticidade de que é invertível. Para obter o , a solução do sistema linear . Em seguida, selecione o índice modo que; a coluna de será o vetor próprio correspondente à maior em magnitude.M^MMM^viM^v=Vii M v imaxj|vj|=|vi|iM^vi

Geoff Oxberry
fonte
1
Desculpe, eu não estava claro. Eu sei que posso apenas calcular cada autovetor e obter a resposta dessa forma, mas eu só quero os autovetores correspondentes aos maiores componentes de . Se possível, gostaria de evitar o cálculo de todos os vetores próprios e depois descobrir quais componentes são os maiores. V
Andrew Spott
2
@AndrewSpott: adicione esse requisito à sua pergunta. Encontrar vetores próprios com valores próprios (ou encontrar um para um valor próprio de magnitude máxima) é simples. Também é fácil encontrar uma melhor aproximação de nível baixo em termos de uma determinada base. No entanto, aqui, você precisa resolver uma base própria e, simultaneamente, encontrar uma melhor aproximação aproximada. Pode ser factível, mas nenhum algoritmo vem imediatamente à mente.
Geoff Oxberry
está mais claro agora?
Andrew Spott 12/12