NAME
Math::MatrixDecomposition::LU  LU decomposition
SYNOPSIS
Objectoriented interface.
use Math::MatrixDecomposition::LU;
$LU = Math::MatrixDecomposition::LU>new;
$LU>decompose ($A = [...]);
$LU>solve ($b = [...]);
# Decomposition is the default action for 'new'.
# This oneliner is equivalent to the command sequence above.
Math::MatrixDecomposition::LU>new ($A = [...])>solve ($b = [...]);
The procedural form is even shorter.
use Math::MatrixDecomposition qw(lu);
lu ($A = [...])>solve ($b = [...]);
DESCRIPTION
Object Instantiation
lu
(...)
The
lu
function is the short form ofMath::MatrixDecomposition::LU>new
(which see). Thelu
function has to be used as a subroutine. It is not exported by default. new
(...)
Create a new object. Any arguments are forwarded to the
decompose
method (which see). Thenew
constructor can be used as a class or instance method.
Instance Methods
decompose
(a, m, n, ...)
Perform a LU decomposition with partial pivoting of a real matrix.
First argument a is an array reference to the matrix elements. Matrix elements are interpreted in rowmajor layout.
Optional second argument m is the number of matrix rows. If omitted, it is assumed that the matrix is square.
Optional third argument n is the number of matrix columns. If omitted, the number of matrix columns is calculated automatically.
Remaining arguments are property/value pairs with the following meaning.
Return value is the LU object.
solve
(b, x)
Solve a system of linear equations 'A X = B'.
The LU object represents the coefficients of the lefthand side of the system, that is the matrix 'A'.
First argument b is an array reference. Array elements are the righthand side of the system. Argument b may have more than one column (matrix elements of b are interpreted in rowmajor layout).
Optional second argument x is an array reference. The solution of the system is saved in x. Default is to save the solution in place of b.
Return value is the solution x.
det

Return the value of the determinant.
SEE ALSO
Math::MatrixDecomposition
External Links
AUTHOR
Ralph Schleicher <ralph@cpan.org>