Aqui está mais uma maneira de caracterizar o espectro.
Dado um problema de autovalor (suponha A simétrico real e autovalores separados; embora o último provavelmente não seja necessário), vamos tentar estimar a densidade espectral manchada
S ( ω ) = ∑ k π - 1 σA vk= λkvkUMA
Depois declicaremhttp://dx.doi.org/10.1016/0377-0427(96)00018-0em uma pesquisa bibliográfica, sabemos que um O estimador de Monte Carlo para o traço é
S(ω)=σ
S( ω ) = ∑kπ- 1σσ2+ ( λk- ω )2= σπT r[σ2+ ( ω - A)2]- 1
onde cada entrada do vector aleatório
Zcontém tanto
+1ou
-1com uma probabilidade de 0,5 para cada. Para dados
σe
ω, o produto inverso
[σ2+(ω-A)2]-1S( ω ) = σπ⟨ zT[σ2+ ( ω - A)2]-1z⟩
z+ 1- 1σω[ σ2+ ( ω - A )2]- 1zpode ser calculado, por exemplo, com o método de gradiente conjugado ou LU esparsa em também para matrizes grandes. Na prática, parece que a solução de CG não precisa ser muito precisa, e nem muitos vetores são necessários para calcular a média. Isso pode depender do problema.
para minimizar o preenchimento. Isso permite estimar
S ( ω )[ ω + i σ- A ]- 1[ ω - i σ- A ]- 1S( ω )
O acima exposto parece pesar partes do espectro de maneira mais uniforme do que uma densidade espectral de Krylov manchada da mesma forma --- experimente diag (espaço interno (0, 1, 150000)) --- embora talvez haja uma maneira de corrigir isso. Isso é um pouco semelhante à abordagem pseudoespectral, mas o resultado indica o número (manchado) de autovalores na vizinhança até o ponto ω , em vez da distância inversa ao valor próprio mais próximo.
ω