# Re: Is there a lowest Eigenvalues function around?

• To: mathgroup@smc.vnet.net
• Subject: [mg11032] Re: Is there a lowest Eigenvalues function around?
• From: Paul Abbott <paul@physics.uwa.edu.au>
• Date: Wed, 18 Feb 1998 20:31:33 -0500
• Organization: University of Western Australia
• References: <6c8q6s\$ats@smc.vnet.net>

```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 www.wolfram.com 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

http://www.pd.uwa.edu.au/Physics/Courses/Third_Year/Computational_Physics.html

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},
z/Sqrt[z.z]]]

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
Second,149.638}

Cheers,
Paul

____________________________________________________________________
Paul Abbott                                   Phone: +61-8-9380-2734
Department of Physics                           Fax: +61-8-9380-1014
The University of Western Australia            Nedlands WA  6907
mailto:paul@physics.uwa.edu.au  AUSTRALIA
http://www.pd.uwa.edu.au/~paul

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?