Encontrar el

8

Dada una matriz grande A con valores propios σ1σ2 , quiero determinar solo un subconjunto de estos valores, digamos σ5,σ8 y σ19 . ¿Existe algún algoritmo que pueda hacer esto o encontrar los 19 valores propios superiores es lo mejor que se puede hacer?

dexter04
fuente
¿Su matriz tiene propiedades especiales? ¿Conoces aproximadamente los valores de , σ 8 y σ 19 ? σ5σ8σ19
nicoguaro
No Pero siéntase libre de informarme si hay algún resultado asumiendo alguna propiedad especial.
dexter04
Relacionado: stackoverflow.com/questions/12167654/… tal vez pueda determinar el método detrás de escena allí.
carlosvalderrama
Supongo que se requiere algo en la dirección de Krylov subespacio, Arnoldi o Lanczos.
carlosvalderrama
2
n

Respuestas:

6

No, hasta donde yo sé, no hay nada, a menos que sepa aproximadamente la ubicación de estos valores propios. En cuanto a los métodos que pueden calcular un subconjunto del espectro de una matriz, solo conozco los métodos que pueden producir:

  • valores propios de "los extremos del espectro", por ejemplo, los que tienen el mayor valor absoluto, o con la parte real / imaginaria más negativa. Por ejemplo, iteración Arnoldi / subespacio (adecuadamente desplazada).
  • valores propios más cercanos a un punto dado en el plano complejo, por ejemplo, los más pequeños en módulo (más cercano a cero). Por ejemplo, Arnoldi (racional) shift-and-invert o la iteración de potencia inversa.
  • [1,1]×[1,1]

[1,1]μ12[12,1][μ,1][1,μ]

No creo que ninguna de estas cosas sea competitiva con Vanilla LAArnoldi si reemplaza 300 con 19, como en su ejemplo. Y tal vez ni siquiera con 300.

Federico Poloni
fuente