Discussion:
Eigen stuff
(too old to reply)
db
2023-11-18 15:29:08 UTC
Permalink
I don't find an ng on numerical computation, and I use
Fortran, so I ask here: what is a good routine for
computing eigenvalues and -vectors? I have an old
version of RGG but am not happy with it. Is there
something better?

I anticipate the question, why am I unhappy with RGG?
Among other things, it's an old f77 routine.
--
Dieter Britz
pehache
2023-11-18 22:25:20 UTC
Permalink
Post by db
I don't find an ng on numerical computation, and I use
Fortran, so I ask here: what is a good routine for
computing eigenvalues and -vectors? I have an old
version of RGG but am not happy with it. Is there
something better?
I anticipate the question, why am I unhappy with RGG?
Among other things, it's an old f77 routine.
What's the problem with an "old f77 routine"? Does it give you
unsatisfactory/wrong results? Do you need to modify it and are you stuck
with some spaghetti code? Other...?

LAPACK has also several routines for that task, but it's also "old f77
code". But assuming you are using an optimized version of BLAS/LAPACK
it's fast nonetheless.
--
"...sois ouvert aux idées des autres pour peu qu'elles aillent dans le
même sens que les tiennes.", ST sur fr.bio.medecine
ST passe le mur du çon : <***@mid.individual.net>
Jeff Ryman
2023-11-19 00:29:40 UTC
Permalink
Post by db
I don't find an ng on numerical computation, and I use
Fortran, so I ask here: what is a good routine for
computing eigenvalues and -vectors? I have an old
version of RGG but am not happy with it. Is there
something better?
I anticipate the question, why am I unhappy with RGG?
Among other things, it's an old f77 routine.
The following link to LAPACK says it is written in Fortran 90:
https://www.netlib.org/lapack/

There is a link on that page to browse and download the routines.
pehache
2023-11-19 21:40:28 UTC
Permalink
Post by Jeff Ryman
Post by db
I don't find an ng on numerical computation, and I use
Fortran, so I ask here: what is a good routine for
computing eigenvalues and -vectors? I have an old
version of RGG but am not happy with it. Is there
something better?
I anticipate the question, why am I unhappy with RGG?
Among other things, it's an old f77 routine.
https://www.netlib.org/lapack/
There is a link on that page to browse and download the routines.
Some Lapack routines incorporate elements of F90, but overall the code is
still mostly F77. For instance look at DGEMV:
https://www.netlib.org/lapack/explore-html/d7/d15/group__double__blas__level2_gadd421a107a488d524859b4a64c1901a9.html

Fixed-form source, do loops terminated on labels, etc...
David Duffy
2023-11-19 05:49:27 UTC
Permalink
Post by db
Fortran, so I ask here: what is a good routine for
computing eigenvalues and -vectors? I have an old
version of RGG but am not happy with it. Is there
something better?
I anticipate the question, why am I unhappy with RGG?
Among other things, it's an old f77 routine.
Um, how big are the matrices and what are you doing? For
analysis of very large datasets, people are using
randomized linear algebraic methods to extract
eigenvalues/vectors very quickly and accurately -

SciPy's scipy.linalg.interpolative calls a Fortran
library (it's still F77 ;)) from here:

http://tygert.com/software.html

which in turn uses LAPACK. The resulting Singular Value
Decomposition (https://arxiv.org/pdf/2302.11474.pdf) has
the bits you want. For my smaller problems, I use EISPACK,
translated from Algol of the 1960's...

Cheers, David Duffy.
db
2023-11-21 10:28:36 UTC
Permalink
Post by David Duffy
Post by db
Fortran, so I ask here: what is a good routine for
computing eigenvalues and -vectors? I have an old
version of RGG but am not happy with it. Is there
something better?
I anticipate the question, why am I unhappy with RGG?
Among other things, it's an old f77 routine.
Um, how big are the matrices and what are you doing? For
analysis of very large datasets, people are using
randomized linear algebraic methods to extract
eigenvalues/vectors very quickly and accurately -
SciPy's scipy.linalg.interpolative calls a Fortran
http://tygert.com/software.html
which in turn uses LAPACK. The resulting Singular Value
Decomposition (https://arxiv.org/pdf/2302.11474.pdf) has
the bits you want. For my smaller problems, I use EISPACK,
translated from Algol of the 1960's...
Cheers, David Duffy.
Thanks. Wow, Algol, my first high-level language after one called A9,
a sort of assembler language running on the Silliac machine at Sydney
Uni in the 60's.
--
Dieter Britz
Spiros Bousbouras
2023-11-19 11:08:08 UTC
Permalink
On Sat, 18 Nov 2023 16:29:08 +0100
Post by db
I don't find an ng on numerical computation, and I use
There does exist sci.math.num-analysis .It has a lot of spam but if
you access it through a server which filters spam (or you do your own
filtering) , it's ok. Non spam posts seem at present to only be
conference announcements. For future numerical analysis questions you
could try crossposting to sci.math.num-analysis and comp.lang.fortran .
db
2023-11-21 10:29:39 UTC
Permalink
Post by Spiros Bousbouras
On Sat, 18 Nov 2023 16:29:08 +0100
Post by db
I don't find an ng on numerical computation, and I use
There does exist sci.math.num-analysis .It has a lot of spam but if
you access it through a server which filters spam (or you do your own
filtering) , it's ok. Non spam posts seem at present to only be
conference announcements. For future numerical analysis questions you
could try crossposting to sci.math.num-analysis and comp.lang.fortran .
Ah, thanks. I had searched for "numerical"...
--
Dieter Britz
gah4
2023-11-27 11:23:26 UTC
Permalink
Post by db
I don't find an ng on numerical computation, and I use
Fortran, so I ask here: what is a good routine for
computing eigenvalues and -vectors? I have an old
version of RGG but am not happy with it. Is there
something better?
I anticipate the question, why am I unhappy with RGG?
Among other things, it's an old f77 routine.
It is nice to have old routines updated to accept
assumed shape arrays. Often enough, the underlying
algorithms haven't changed.

Sometimes it is done with a wrapper, that then calls
the old routine. Or one can rewrite the first lines,
to give the right values to variables, and then into
the original code.

Loading...