3

I am looking for a Scheme implementation with a reasonable BLAS and LAPACK interface package, i.e. one that supports the API subset decribted in Golub and Van Loan's "Matrix Computations". This would include, at the very least, all the BLAS operations, the major decompositions (SVD, LU, QR, Cholesky) and, for convenience, least squares. I could see that Chicken and Racket have something, but it's not covering the above. Does anyone know of either an implementation of a portable library that accomplishes this?

John Clements
  • 16,895
  • 3
  • 37
  • 52
gappy
  • 10,095
  • 14
  • 54
  • 73
  • 2
    When you went looking in Racket, I'm guessing you came across William Farr's plt-linalg package? It has 29 of the BLAS operations (looks like there are about 40 total), and it looks like adding the others would be extremely straightforward. – John Clements Oct 27 '11 at 21:43
  • Correct. Sure, it shouldn't be too hard. Same with Chicken. Still, I'd rather not fork an maintain a package. – gappy Oct 28 '11 at 21:12
  • Okay, yes, I was afraid you were going to say that. :) – John Clements Oct 29 '11 at 05:42

2 Answers2

2

I don't think I remember any Scheme implementation that support that subset of BLAS and LAPACK (although I could be wrong), but if I were you I'd consider Chicken with FFI (which is quite simple). You could even write some wrappers in Scheme, or, if you're willing to do so, contribute some enhancements to the two Chicken eggs (packages) blas and atlas-lapack.

Jay
  • 9,585
  • 6
  • 49
  • 72
1

If you're using Chicken Scheme, you can use http://wiki.call-cc.org/eggref/4/atlas-lapack . Yes, you have to build atlas-lapack library before install this egg.

chunsj
  • 199
  • 1
  • 9