2011-05-02 6 views
10

He buscado mucho para esto, pero no encuentro ninguna respuesta sobre la diferencia entre los dos métodos 'eig' y 'eigs'. ¿Cuál es la diferencia entre los valores propios y vectores propios recibidos de ellos?¿Cuál es la diferencia entre 'eig' y 'eigs'?

+1

Esto probablemente no sea apropiado para este sitio, ya que es principalmente una pregunta sobre la diferencia en dos algoritmos numéricos para determinar valores propios/vectores. –

+0

Nota a partir de r2017b: el orden de salida de 'eigs' es diferente de' eig'. Ver [aquí] (https://nl.mathworks.com/help/matlab/release-notes.html?rntext=eigs&startrelease=R2015a&endrelease=R2017b&groupby=release&sortby=descending&searchHighlight=eigs) –

Respuesta

18

Utilizan algoritmos diferentes, adaptados a diferentes problemas y diferentes objetivos.

eig es un bueno, rápido, de uso general eigenvalue/vector solver. Es apropiado para usar cuando su matriz es de un tamaño realista que se adapta bien a la memoria y cuando necesita todos los valores/vectores propios. Las matrices dispersas no funcionan en absoluto en eig.

Eigs es un solucionador que es más apropiado para cuando solo necesita un subconjunto limitado de valores/vectores propios. Aquí la matriz se almacena a menudo en formato disperso, porque como una matriz completa, ocuparía demasiada memoria para almacenar. Parece que eigs se basa en ARPACK.

Si realmente está pidiendo detalles sobre los algoritmos reales, esta es una pregunta que es claramente inapropiada para este sitio. Siéntese con una copia de "Computación de matriz", o mejor aún, lea el par de referencias que figuran en el documento para eigs.

Cuestiones relacionadas