Jeff Mitchell wrote:

>[ANN] linalg-0.3.2 -- Ruby Linear Algebra Library
>
>http://linalg.rubyforge.org/
>
>http://rubyforge.org/frs/?group_id=273
>
>-----------------
>>From the README:
>
>Major features:
>* Cholesky decomposition
>* LU decomposition
>* QR decomposition
>* Schur decomposition
>* Singular value decomposition
>* Eigenvalues and eigenvectors of a general matrix
>* Minimization by least squares
>* Linear equation solving
>* Stand-alone LAPACK bindings:
>    call any LAPACK routine from directly from ruby.
>
>-----------------
>Release notes:
>
>Initial release.
>
>There are no dependencies for the pre-built packages --
>linalg-0.3.2-i686-linux-ruby18.tgz
>linalg-0.3.2-i386-mswin32-ruby18.zip
>
>To build from source, you need: LAPACK, BLAS, libf2c.  Your OS should
>have these packages available in binary form.  If not, you will need a
>Fortran compiler.  (The pre-builts statically link these packages,
>thus no dependencies.)
>
>The pre-built win32 linalg is somewhat incompatible with the 1.8.1
>Ruby One-Click Installer, as are all extensions not built with Visual
>Studio .NET.  (I say "somewhat" because it probably won't crash for
>light use, but no guarantees.)
>
>You can pick up a compatible 1.8.1 win32 ruby at
>http://www.dm4lab.to/~usa/ruby/index_en.html
>
>There is a new test 1.8.2 one-click installer which seems to work
>(it reverts back to the common win32 compatible runtime):
>http://rubyforge.org/frs/download.php/852/ruby182-14-test.zip
>
>-----------------
>linalg is a by-product of my academic work with crystallographic space
>groups.  A good deal of linear algebra functionality from Mathematica
>and Matlab can be found in linalg, with equal or greater speed insofar
>as per-matrix function calls.
>
>It started when I was too lazy to move from ruby back to Mathematica,
>and too lazy to set up Mathlink or some such.  What I was doing was
>not particularly suited to Mathematica either, minus the linear
>algebra part, which among other things was communicating with two
>other processes, a little networking, and spitting out LaTeX output.
>It was nice to be free of Mathematica as well.
>
>I have pounded on this package pretty thoroughly in real-life
>applications, so I do not expect many serious bugs, if at all.  This
>kind of package is very amenable to unit testing as well.
>
>I realize linalg is mostly for specialized use; singular value
>decompositions are not the most urgent necessity for rubyists, I can
>assume.  But that is what I needed, so here it is.
>
>Excerpt from the end of the README: Perhaps some day there will be a
>common library which all numerical ruby packages may share.  Perhaps
>the basis will be the R-project library.  But for now, linalg exists
>because the LAPACK routines were "right there" in front of me, I
>needed them, and it was easy to call them.
>
>I'll add that although full functionality for complex-number matrices
>is not yet finished, it would not take too much time to complete.
>However I hesitate for fear of something better coming along which can
>do singular value decompositions and eigenvalues of a general matrix.
>
>If enough people request it, I'll get off my butt and implement the
>complex side.  By the way there is no reason to touch C code -- all
>the LAPACK routines are available within ruby and all the core methods
>are implemented in C for all matrix types.  This makes contributing
>easier.
>
>linalg contains a few ideas which are independently useful, I think.
>The Linalg::Iterators mix-in comes to mind.  Check it out :)
>
>  
>
Great job!I am just looking forward such a Matlab-like
module.
Do you put some iterative techniques in matrix algebra in your
to-do list?Since I am working on implementing some ones in Ruby ,like SOR.