NAME
Math::Matrix - Multiply and invert Matrices
DESCRIPTION
The following methods are available:
new
Constructor arguments are a list of references to arrays
of the same length. The arrays are copied. The method
returns undef in case of error.
$a = new Math::Matrix ([rand,rand,rand],
[rand,rand,rand],
[rand,rand,rand]);
concat
Concatenates two matrices of same row count. The result is
a new matrix or undef in case of error.
$b = new Math::Matrix ([rand],[rand],[rand]);
$c = $a->concat($b);
transpose
Returns the transposed matrix. This is the matrix where
colums and rows of the argument matrix are swaped.
multiply
Multiplies two matrices where the length of the rows in
the first matrix is the same as the length of the columns
in the second matrix. Returns the product or undef in case
of error.
solve
Solves a equation system given by the matrix. The number
of colums must be greater than the number of rows. If
variables are dependent from each other, the second and
all further of the dependent coefficients are 0. This
means the method can handle such systems. The method
returns a matrix containing the solutions in its columns
or undef in case of error.
print
Prints the matrix on STDOUT. If the method has additional
parameters, these are printed before the matrix is
printed.
10/Jul/96 perl 1
MATRIX(1) User Contributed Perl Documentation MATRIX(1)
EXAMPLE
use Math::Matrix;
srand(time);
$a = new Math::Matrix ([rand,rand,rand],
[rand,rand,rand],
[rand,rand,rand]);
$x = new Math::Matrix ([rand,rand,rand]);
$a->print("A\n");
$E = $a->concat($x->transpose);
$E->print("Equation system\n");
$s = $E->solve;
$s->print("Solutions s\n");
$a->multiply($s)->print("A*s\n");
AUTHOR
Ulrich Pfeifer <
[email protected]>
10/Jul/96 perl 2