package

JAMA For an m-by-n matrix A with m >= n, the LU decomposition is an m-by-n unit lower triangular matrix L, an n-by-n upper triangular matrix U, and a permutation vector piv of length m so that A(piv,:) = L*U. If m < n, then L is m-by-m and U is m-by-n. The LU decompostion with pivoting always exists, even if the matrix is singular, so the constructor will never fail. The primary use of the LU decomposition is in the solution of square systems of simultaneous linear equations. This will fail if isNonsingular() returns false.

author | Paul Meagher
author | Bartosz Matosiuk
author | Michael Bommarito
version | 1.1
license | PHP v3.0

### Methods

## LU Decomposition constructor.

    __construct($A) : \Structure

### Parameters

#### $A

Rectangular matrix

### Returns

`\Structure`to access L, U and piv.

## Count determinants

    det() : array

### Returns

`array`d matrix deterninat

## Alias for getPivot

    getDoublePivot()

see | \getPivot

## Get lower triangular factor.

    getL() : array

### Returns

`array`Lower triangular factor

## Return pivot permutation vector.

    getPivot() : array

### Returns

`array`Pivot vector

## Get upper triangular factor.

    getU() : array

### Returns

`array`Upper triangular factor

## Is the matrix nonsingular?

    isNonsingular() : true

### Returns

`true`if U, and hence A, is nonsingular.

## Solve A*X = B

    solve($B) : \X

PHPExcel_Calculation_Exception | IllegalArgumentException Matrix row dimensions must agree.
PHPExcel_Calculation_Exception | RuntimeException Matrix is singular.

### Parameters

#### $B

A Matrix with as many rows as A and any number of columns.

### Returns

`\X`so that L*U*X = B(piv,:)

### Properties

##

    $LU : array

##

    $m : int

##

    $n : int

##

    $piv : array

##

    $pivsign : int

### Constants

## MatrixSingularException

    MatrixSingularException

## MatrixSquareException

    MatrixSquareException