[sci.math.stat] LINPACK and EISPACK in C

mikem+@andrew.cmu.edu (Michael Meyer) (05/25/90)

I'm sure that the fortran to c translator (f2c) available from
netlib@research.att.com will convert the fortran eispack code into C. 
For more information about f2c send the single line
send index from f2c
to netlib@research.att.com

                            Michael M. Meyer
                      Statistics/Academic Computing
                       Carnegie Mellon University.

dquah@athena.mit.edu (Danny Quah) (05/28/90)

In article <1990May25.004501.25148@athena.mit.edu> I write:

>To add to Ron Gallant's (Hi Ron!) question on LINPACK of a few days
>back, does anyone know where EISPACK source in C may be found?

	And so, ...

	Last week Ron Gallant and I asked about getting LINPACK and
EISPACK in C or C++.  A good bit of mail to me requested a summary.
Ok, here's the response so far. (Sorry about the sci.math.num-analysis
add-on, I forgot to cross-post there at the beginning of all this.  If
anyone there has any information on this, could you send me email?)

        emv@math.lsa.umich.edu suggested getting the index from
netlib@ornl.gov.  Sure enough this showed the LINPACK and EISPACK
fortran routines and one sparse matrix eigenvalue package in C.  But
sadly, no LINPACK and EISPACK in C.

        mikem+@andrew.cmu.edu (and a couple of others) suggested using
f2c on the EISPACK code.  This will likely do it but the code seems
guaranteed to be ugly and unreadable.  This will still get the job
done of course but I (and apparently others) want the same edification
from looking at C code as I used to get from reading f-word code.  This
appears to be the best lead so far but...  Instead of everyone going
off and running f2c over and over, wouldn't it be nice if the same
beautiful LINPACK/ EISPACK style showed up in one set of C source?

--
--Danny (dquah@athena.mit.edu, dquah@dolphin.mit.edu)
Dept. of Economics MIT, E52-274b, Cambridge MA 02139
Voice: (617) 253-0914 Fax: (617) 253-1330
#

mcdonald@aries.scs.uiuc.edu (Doug McDonald) (05/28/90)

I have just two of the Eispack routines - tred2 and tql2 - in C
somewhere or other. 

They are not pretty to look at. These routines are an excellent
example of why one needs to be able to write 2-D arrays in array
notation inside functions.  I have pointerized the inner loops and
use [i*n+j] for the outer loops.

On our MIPS 2000 the C versions run very much faster than the Fortran
ones, due to a lapse in MIPS's Fortran optimizer. On a 386 PC they
are only a little faster.

Doug McDonald(mcdonald@aries.scs.uiuc.edu)