= Linalg - Ruby Linear Algebra Library
A Fortran-based linear algebra package.
http://rubyforge.org/frs/?group_id=273
Statically-linked binaries (no dependencies required) are available for
Win32, Mac, Linux, and Cygwin.
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.
Minor features:
- Convenient iterators
- Condition numbers and condition number estimates
- Nullspace, rank, nullity
- Inverse
- Pseudo-inverse
- Determinant
- 2-norm, 1-norm, infinity-norm, Frobenius norm
This release consists of installer changes for Mac and libg2c support.
This announcement is mostly for Mac users who were previously thwarted
when they tried to install.
The 1.0.0 naming is intended to convey that the package probably won’t
change much (pending an outpouring of requests), and to reflect the 2600
downloads without a bug report (installer issues aside).
Linalg was written 4.27 years ago when I needed the SVD of a general
(non-symmetric) matrix. Rubyforge had just 272 projects and there
wasn’t anything which was suitable. (At the time I was also disinclined
to use my real name on the Internet.)
Today I would guess Linalg fills a niche for those needing to do some
quick linear algebra. Because its scope is limited it is readily
comprehensible, and with the binary install you are running immediately.
Since all 1498 Lapack routines are available from ruby, there’s also a
potential niche for those seeking to optimize bottlenecks with specific
Lapack routines.
The latest version from the repository compiles with ruby-1.9. The test
suite (successfully) completes in half the time under 1.9.
James M. Lawrence