no.uib.cipr.matrix
Class DenseLU

java.lang.Object
  extended by no.uib.cipr.matrix.DenseLU

public class DenseLU
extends java.lang.Object

Dense LU decomposition FIXME: DenseLU is broken! Fix it


Constructor Summary
DenseLU(int m, int n)
          Constructor for DenseLU
 
Method Summary
 DenseLU factor(DenseMatrix A)
          Creates an LU decomposition of the given matrix
static DenseLU factorize(Matrix A)
          Creates an LU decomposition of the given matrix
 UnitLowerTriangDenseMatrix getL()
          Returns the lower triangular factor
 DenseMatrix getLU()
          Returns the decomposition matrix
 int[] getPivots()
          Returns the row pivots
 UpperTriangDenseMatrix getU()
          Returns the upper triangular factor
 boolean isSingular()
          Checks for singularity
 double rcond(Matrix A, Matrix.Norm norm)
          Computes the reciprocal condition number, using either the infinity norm of the 1 norm.
 DenseMatrix solve(DenseMatrix B)
          Computes A\B, overwriting B
 DenseMatrix transSolve(DenseMatrix B)
          Computes AT\B, overwriting B
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DenseLU

public DenseLU(int m,
               int n)
Constructor for DenseLU

Parameters:
m - Number of rows
n - Number of columns
Method Detail

factorize

public static DenseLU factorize(Matrix A)
Creates an LU decomposition of the given matrix

Parameters:
A - Matrix to decompose. Not modified
Returns:
The current decomposition

factor

public DenseLU factor(DenseMatrix A)
Creates an LU decomposition of the given matrix

Parameters:
A - Matrix to decompose. Overwritten with the decomposition
Returns:
The current decomposition

getL

public UnitLowerTriangDenseMatrix getL()
Returns the lower triangular factor


getU

public UpperTriangDenseMatrix getU()
Returns the upper triangular factor


getLU

public DenseMatrix getLU()
Returns the decomposition matrix


rcond

public double rcond(Matrix A,
                    Matrix.Norm norm)
Computes the reciprocal condition number, using either the infinity norm of the 1 norm.

Parameters:
A - The matrix this is a decomposition of
norm - Either Norm.One or Norm.Infinity
Returns:
The reciprocal condition number. Values close to unity indicate a well-conditioned system, while numbers close to zero do not.

getPivots

public int[] getPivots()
Returns the row pivots


isSingular

public boolean isSingular()
Checks for singularity


solve

public DenseMatrix solve(DenseMatrix B)
                  throws MatrixSingularException
Computes A\B, overwriting B

Throws:
MatrixSingularException

transSolve

public DenseMatrix transSolve(DenseMatrix B)
                       throws MatrixSingularException
Computes AT\B, overwriting B

Throws:
MatrixSingularException