Ralph Schleicher > Math-MatrixDecomposition > Math::MatrixDecomposition::LU

Math-MatrixDecomposition-1.03.tar.gz

Dependencies

Annotate this POD

# CPAN RT

 New 1 Open 0
View/Report Bugs
Module Version: 1.03

# NAME

Math::MatrixDecomposition::LU - LU decomposition

# SYNOPSIS

Object-oriented interface.

```    use Math::MatrixDecomposition::LU;

\$LU = Math::MatrixDecomposition::LU->new;
\$LU->decompose (\$A = [...]);
\$LU->solve (\$b = [...]);

# Decomposition is the default action for 'new'.
# This one-liner 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 of `Math::MatrixDecomposition::LU->new` (which see). The `lu` 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). The `new` 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 row-major 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.
`capture` flag

Whether or not to decompose the matrix a in-place. Default is false.

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 left-hand side of the system, that is the matrix 'A'.

• First argument b is an array reference. Array elements are the right-hand side of the system. Argument b may have more than one column (matrix elements of b are interpreted in row-major 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.