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)