Parallel Colt 0.7.2

## cern.colt.matrix.tfloat.algo.decomposition Class FloatLUDecomposition

```java.lang.Object
cern.colt.matrix.tfloat.algo.decomposition.FloatLUDecomposition
```
All Implemented Interfaces:
Serializable

`public class FloatLUDecompositionextends Objectimplements Serializable`

For an m x n matrix A with m >= n, the LU decomposition is an m x n unit lower triangular matrix L, an n x 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 x m and U is m x n.

The LU decomposition 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.

Serialized Form

Constructor Summary
`FloatLUDecomposition(FloatMatrix2D A)`
Constructs and returns a new LU Decomposition object; The decomposed matrices can be retrieved via instance methods of the returned decomposition object.

Method Summary
` float` `det()`
Returns the determinant, det(A).
` FloatMatrix2D` `getL()`
Returns the lower triangular factor, L.
` int[]` `getPivot()`
Returns a copy of the pivot permutation vector.
` FloatMatrix2D` `getU()`
Returns the upper triangular factor, U.
` boolean` `isNonsingular()`
Returns whether the matrix is nonsingular (has an inverse).
` FloatMatrix1D` `solve(FloatMatrix1D b)`
Solves A*x = b.
` FloatMatrix2D` `solve(FloatMatrix2D B)`
Solves A*X = B.
` String` `toString()`
Returns a String with (propertyName, propertyValue) pairs.

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### FloatLUDecomposition

`public FloatLUDecomposition(FloatMatrix2D A)`
Constructs and returns a new LU Decomposition object; The decomposed matrices can be retrieved via instance methods of the returned decomposition object.

Parameters:
`A` - Rectangular matrix
Method Detail

### det

`public float det()`
Returns the determinant, det(A).

Throws:
`IllegalArgumentException` - Matrix must be square

### getL

`public FloatMatrix2D getL()`
Returns the lower triangular factor, L.

Returns:
L

### getPivot

`public int[] getPivot()`
Returns a copy of the pivot permutation vector.

Returns:
piv

### getU

`public FloatMatrix2D getU()`
Returns the upper triangular factor, U.

Returns:
U

### isNonsingular

`public boolean isNonsingular()`
Returns whether the matrix is nonsingular (has an inverse).

Returns:
true if U, and hence A, is nonsingular; false otherwise.

### solve

`public FloatMatrix2D solve(FloatMatrix2D B)`
Solves A*X = B.

Parameters:
`B` - A matrix with as many rows as A and any number of columns.
Returns:
X so that L*U*X = B(piv).
Throws:
`IllegalArgumentException` - if B.rows() != A.rows().
`IllegalArgumentException` - if A is singular, that is, if !this.isNonsingular().
`IllegalArgumentException` - if A.rows() < A.columns().

### solve

`public FloatMatrix1D solve(FloatMatrix1D b)`
Solves A*x = b.

Parameters:
`b` - A vector of size A.rows()
Returns:
x so that L*U*x = b(piv).
Throws:
`IllegalArgumentException` - if b.size() != A.rows().
`IllegalArgumentException` - if A is singular, that is, if !this.isNonsingular().
`IllegalArgumentException` - if A.rows() < A.columns().

### toString

`public String toString()`
Returns a String with (propertyName, propertyValue) pairs. Useful for debugging or to quickly get the rough picture. For example,
```   rank          : 3
trace         : 0

```

Overrides:
`toString` in class `Object`

Parallel Colt 0.7.2