I've searched a lot for this but I can't find any answer about how the two methods 'eig' and 'eigs' differ. What is the difference between the eigenvalues and eigenvectors received from them?
问题:
回答1:
They use different algorithms, tailored to different problems and different goals.
eig
is a good, fast, general use eigenvalue/vector solver. It is appropriate for use when your matrix is of a realistic size that fits well in memory, and when you need all of the eigenvalues/vectors. Sparse matrices do not work at all in eig
.
Eigs is a solver that is more appropriate for when you need only a limited subset of the eigenvalues/vectors. Here the matrix is often stored in sparse format, because as a full matrix, it would take up too much memory to store. It appears that eigs is based on ARPACK.
If you truly are asking for specifics on the actual algorithms, this is a question that is clearly inappropriate for this site. Sit down with a copy of "Matrix Computations", or better yet, read the pair of references listed in the doc for eigs
.