# leto/math--matrixreal

Matrices of real numbers in Perl
Perl Perl6
Latest commit 2afe47c Merge pull request #13 from basiliscos/master
`Math::MatrixReal and OpenGL example`
 Failed to load latest commit information. example Jan 21, 2015 lib/Math Jan 21, 2015 t Dec 18, 2014 .gitignore Apr 11, 2011 .travis.yml Sep 23, 2013 Build.PL Nov 4, 2011 CHANGES Dec 19, 2014 CONTRIBUTING.md Jan 10, 2015 CREDITS Oct 19, 2007 GOALS Oct 19, 2007 Kleene.pod Feb 21, 2008 MANIFEST.SKIP Nov 4, 2011 OLD_README Nov 4, 2011 README.mkd Sep 23, 2013 TODO Oct 19, 2007 funcs.pl Mar 4, 2009 pm_to_blib Oct 19, 2007

# Math::MatrixReal

NxN Real Matrices in Perl

Report bugs and submit patches at http://github.com/leto/math--matrixreal

## What does it do:

### Math::MatrixReal - Matrix of Reals

Implements the data type "matrix of reals" (and consequently also "vector of reals") which can be used almost like any other basic Perl type thanks to OPERATOR OVERLOADING, i.e.,

``````\$A       = \$matrix1 * \$matrix2;
\$B       = \$A ** 2;
\$C       = \$A + 2*B;
\$D       = \$C - \$B/2;
\$inverse = \$C ** -1;
\$inverse = 1/\$C;
``````

does what you would like it to do.

Also features many important operations and methods: matrix norm, matrix transposition, matrix inverse, determinant of a matrix, order and numerical condition of a matrix, scalar product of vectors, vector product of vectors, vector length, projection of row and column vectors, a comfortable way for reading in a matrix from a file, the keyboard or your code, and many more.

Allows to solve linear equation systems using an efficient algorithm known as "L-R-decomposition" and several approximative (iterative) methods.

Features an implementation of Kleene's algorithm to compute the minimal costs for all paths in a graph with weighted edges (the "weights" being the costs associated with each edge).

Allows to solve the eigensystem of a real symmetric matrix, using Householder transformation and QL decomposition.

## Installation Instructions

Since Math::MatrixReal 2.03, Module::Build is used for the build process, but a Makefile.PL is still generated for older installations. If you do not have Module::Build, please read the OLD_README file.

The build and install Math::MatrixReal run the commands

``````perl Build.PL
./Build
./Build test
./Build install
``````

## Version history:

See the CHANGES file.

## Credits:

See the CREDITS file.

``````1996-1997 by Steffen Beyer.