This is the mail archive of the guile@cygnus.com mailing list for the guile project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
chrislee@lavash.ius.cs.cmu.edu writes: > I've been using Guile for a while now as a kind of Matlab-substitute > in research projects, and find it a fun way to write numerical > programs. Chris, this is what I have been waiting for. I'm currently doing heavy matrix work with Octave (which is a *free* Matlab clone) and having the power and fun of Scheme available to tinker with matrix algorithms would make my days a lot shorter. I shortly thought about replacing the Matlab like language of Octave with Guile, but nobody around me did even realize that Matlab's language is crap so I lost interest. For all I know, digital signal processing will tackle more and more computationally expensive tasks in the next years, and most of these tasks can be conveniently expressed with matrix notation. Still it is a long way from the mathematical formulation of these tasks to their efficient implementation in, say, mobile phones. Scheme with its high abstraction capabilities is a natural choice for me to try to bridge the gap between the high level formulation of an algorithm and a correct low level implementation. I have only just begun to think about these issues, but, I'm quite interested in the first step, being able to do numerical matrix experiments with Scheme. So your existing stuff is definitely welcome. > At the moment, only double-precision real numbers are supported (not > single-precision nor complex). For my algorithms, complex numbers are essential, unfortunately. Looks like we EE types are so only ones who use complex numbers for real... > 1) Is anyone interested in this package (if no one is interested, > maybe I should not bother). Yes, yes, yes, yes! > 2) This code has been used to support a couple of my own personal > projects, but is not yet widely used or fully tested. The > underlying FORTRAN libraries are reliable, but it is possible that > there are bugs in the code which calls those libraries which could > result in incorrect results. Should I let people play with it at > their own risk and help me flush-out bugs bazzare-style, or is this > simply too risky for numerical code. I think those people who will actually use the code can decide this best. Just put out the code with the usual NO WARRANTY sign and write something about how you yourself use it. > 4) Should I assume that people know what BLAS and LAPACK are? >From my *very* limited experience with numerical matrix stuff, people are more likely to know Matlab than BLAS and LAPACK (I myself have only vaguely heard about BLAS and LAPACK). > Can I let people find these themselves or should I try to > write-up some instructions for finding/compiling/installing them > (I'm not an expert on this, but I've done a little). Some hints would definitely be useful. Such as how to test if one already has them installed and where to get them if not. I have never seen BLAS and LAPACK, but I guess they come with their own documentation for compiling/installing them, no? > 5) Does anyone have serious problems with column-major matrix > representation? I chose to be compatible with the FORTRAN > convention because it simplified the project as a whole. Does this affect the Scheme side of things? I think it's fairly standard to have indices in the order ROW, COLUMN. Is this order affected by the column-major representation? > 7) Would people be willing to port this to their own systems and send > me patches to make the code more universal? Of course! I myself would really like to have a Matlab clone with Scheme as its `scripting' language. Given that Octave already exists and is free (and does complex numbers!), would it be possible to use the numerical libraries of Octave instead of BLAS and LAPACK, etc? I vaguely remeber that Octave too uses some FORTRAN code that is then wrapped with C++ classes. regards, Marius