MathGroup Archive 1998

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Is there a lowest Eigenvalues function around?

  • To:
  • Subject: [mg11032] Re: Is there a lowest Eigenvalues function around?
  • From: Paul Abbott <>
  • Date: Wed, 18 Feb 1998 20:31:33 -0500
  • Organization: University of Western Australia
  • References: <6c8q6s$>

Christopher R. Carlen wrote:

> I have to find the eigenvalues of very large matrices, ie 1024x1024 up
> to over 10000x10000 .  I run out of memory when trying to do more than
> about 1600x1600 .  I know there are algorithms to find the lowest or
> highest eigenvalues of a matrix, but the Mathematica function
> Eigenvalues[] finds all of them.
> Does anyone know if there is an implementation of a lowest-eigenvalues
> function anywhere?  I have looked aroung at but didn't
> find anything.

I set this as a problem for my students in their 1997 Computational
Physics exam.  The exam Notebook is available from

The largest or smallest eigenvalue of a matrix (and the corresponding
eigenvector) can be computed using the power method [G H Golub and C F
van Loan, Matrix Computations, Johns Hopkins Press, Baltimore, 1989]. 

Here is a simple implementation for finding the largest eigenvalue (and
the corresponding eigenvector) using Nest. 

In[1]:= A = Table[Random[], {300}, {300}]; 

In[2]:= f[A_] := f[A] = Compile[{{q, _Real, 1}}, Module[{z = A.q},

Starting with 

In[3]:= q0 := Table[1., {Length[A]}]

we Nest f a number of times to approximately obtain the eigenvector
corresponding to the largest eigenvalue: 

In[4]:= (q = Nest[f[A], q0, 10];) //Timing//First Out[4]= 1.39 Second

The largest eigenvalue is then

In[5]:= q.A.q//Timing
Out[5]= {0.47 Second,149.638}

Compare this with

In[6]:= Eigenvalues[A]//Sort//Last//Timing Out[6]= {14.55


Paul Abbott                                   Phone: +61-8-9380-2734
Department of Physics                           Fax: +61-8-9380-1014
The University of Western Australia            Nedlands WA  6907  AUSTRALIA                   

            God IS a weakly left-handed dice player

  • Prev by Date: Re: ListPlots, sizing
  • Next by Date: Keyboard/Mouse macros in Mathematica 3.0 for Win95?
  • Prev by thread: Is there a lowest Eigenvalues function around?
  • Next by thread: Re: Is there a lowest Eigenvalues function around?