Is it possible to find eigenvalues of a matrix without filling it?

The matrix elements are given by a known function f[p1,p2]. This is relevant for a matrix too large to fit in a memory.

Of course, a custom implementation of the Arnoldi algorithm would allow one to do so. I wonder whether it is possible with built-in functions like Eigenvalues[] and some clever rules.

  • $\begingroup$ read this reference.wolfram.com/mathematica/tutorial/… $\endgroup$ – molekyla777 May 21 '14 at 11:18
  • $\begingroup$ @molekyla777 Of course I did. It is all about the usual application of Eigenvalues[], which requires the entire matrix be filled. And what if I am able to compute every matrix element needed but do not want to store the entire huge massive in the memory? $\endgroup$ – Yasha Gindikin May 21 '14 at 13:23
  • $\begingroup$ There is no such builtin function that I am aware of. If your matrix is sparse, you can take advantage of SparseMatrix. You don't have to fill the matrix (if it's sparse) but you do need to precompute the nonzero elements to be able to use builtin functions. $\endgroup$ – Szabolcs May 21 '14 at 14:49
  • $\begingroup$ @Szabolcs Oh yes, of this I am aware, and trying to use now, since my matrix is indeed sparse. Thank you! But what if my sparse matrix does not fit the memory? That's the question... $\endgroup$ – Yasha Gindikin May 21 '14 at 15:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.