# leto/math--matrixreal

### Subversion checkout URL

You can clone with
or
.
Matrices of real numbers in Perl
Perl Perl6

Fetching latest commit…

Cannot retrieve the latest commit at this time

 Failed to load latest commit information. example lib/Math t .gitignore Build.PL CHANGES CREDITS GOALS Kleene.pod MANIFEST.SKIP OLD_README README.mkd TODO funcs.pl pm_to_blib

# Math::MatrixReal

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.