On Mon, 11 Dec 2006, Raymond Toy wrote:
> sen1 at math.msu.edu wrote:
>> On Mon, 11 Dec 2006, sen1 at math.msu.edu wrote:
>>
>> whoops, in the last post I had some other aliases (e.g. "flt" for "float",
>> "prt" for "print".
>>
> You missed one flt and one prt.
>
> How am I supposed to run this? Esparse(A,27,30,1e-10)?
>
> If so, I have no problems running it on my copy of cmucl (on solaris).
> However, Esparse just says I should increase MAX or decrease ERR.
The program is designed for an irreducible non-negative matrix.
Such matrices have a unique real eigenvalue of largest magnitude.
If A is such a matrix, the program takes a random vector v and
successively does the following.
1. compute the product A.v
2. normalize (i.e., divide by the norm) and repeat until either
MAX iterates have been run or the difference between the current
unit vector and the previous is less than ERR.
When ERR is achieved, the next length of A.v is approximately the
largest eigenvalue.
If the message is printed, just rerun the program with MAX larger
(ie., more iterates), or ERR bigger (not a good idea if you really
want an estimate for the largest eigenvalue).
So, you managed to run it with the 27x27 C on cmucl?
With what MAX and what ERR?
With gcl, here is what I get with various MAX and ERR values.
(%i12) showtime: true;
Evaluation took 0.00 seconds (0.00 elapsed) using 96 bytes.
(%o12) true
(%i13) Esparse(A,27,30,1e-10);
MAX reached and ERR not achieved; try decreasing
ERR or increasing MAX
Evaluation took 2.16 seconds (2.25 elapsed) using 9.783 MB.
(%o13) done
(%i14) Esparse(A,27,130,1e-10);
Evaluation took 8.20 seconds (14.09 elapsed) using 33.274 MB.
(%o14) 1.5277485879658
So, the eigenvalue is approx 1.5277...
Using matlab, one gets: 1.52774858799907,
so the program seems to work (although it is a bit slow).
>
>
> Ray
>
--
---------------------------------------------------------------------------
| Sheldon E. Newhouse | e-mail: sen1 at math.msu.edu |
| Mathematics Department | |
| Michigan State University | telephone: 517-355-9684 |
| E. Lansing, MI 48824-1027 USA | FAX: 517-432-1562 |
---------------------------------------------------------------------------