drasys.or.linear.algebra
Interface LUDecompositionI

All Known Implementing Classes:
CroutPivot

public interface LUDecompositionI
extends DecompositionI

The interface used by all algorithms to access LU decomposition algorithms.

See Also:

References:

Linear Algebra and Its Applications
    Gilbert Strang / Hardcover / Published 1988
Matrix Computations (Johns Hopkins Studies in the Mathematical Sciences)
    Gene H. Golub, Charles F. Van Loan (Contributor) / Paperback / Published 1996
Numerical Recipes in C : The Art of Scientific Computing
    William H. Press, et al / Hardcover / Published 1993
Parallel Algorithms for Matrix Computations
    K.A. Gallivan / Paperback / Published 1990


Method Summary
 double computeDeterminate()
          Computes the determinate of the original matrix from the components.
 DenseMatrix computeInverse()
          Uses backsubstitution to solve for the inverse.
 MatrixI computeInverse(MatrixI results)
          Uses backsubstitution to solve for the inverse.
 void decompose(MatrixI a)
          Decompose a matrix into lower and upper triangular matrices.
 DenseMatrix getL()
          Get the lower triangular matrix.
 MatrixI getL(MatrixI results)
          Get the lower triangular matrix.
 int[] getRowPermutations()
          Returns the row permutations.
 DenseMatrix getU()
          Get the upper triangular matrix.
 MatrixI getU(MatrixI results)
          Get the upper triangular matrix.
 DenseVector solveEquations(VectorI rightHandSides)
          Uses backsubstitution to solve the simultaneous equations.
 VectorI solveEquations(VectorI rightHandSides, VectorI results)
          Uses backsubstitution to solve the simultaneous equations.
 

Method Detail

decompose

public void decompose(MatrixI a)
               throws AlgebraException,
                      SingularException
Decompose a matrix into lower and upper triangular matrices.
Specified by:
decompose in interface DecompositionI

getL

public DenseMatrix getL()
Get the lower triangular matrix.

getL

public MatrixI getL(MatrixI results)
Get the lower triangular matrix.

getU

public DenseMatrix getU()
Get the upper triangular matrix.

getU

public MatrixI getU(MatrixI results)
Get the upper triangular matrix.

getRowPermutations

public int[] getRowPermutations()
Returns the row permutations.
Returns:
null if the rows were not permuted in the decomposition.

solveEquations

public DenseVector solveEquations(VectorI rightHandSides)
                           throws AlgebraException
Uses backsubstitution to solve the simultaneous equations.
Specified by:
solveEquations in interface DecompositionI
Returns:
the solution vector.

solveEquations

public VectorI solveEquations(VectorI rightHandSides,
                              VectorI results)
                       throws AlgebraException
Uses backsubstitution to solve the simultaneous equations.
Specified by:
solveEquations in interface DecompositionI
Returns:
the solution vector.

computeInverse

public DenseMatrix computeInverse()
                           throws AlgebraException
Uses backsubstitution to solve for the inverse.
Specified by:
computeInverse in interface DecompositionI
Returns:
the inverse matrix.

computeInverse

public MatrixI computeInverse(MatrixI results)
                       throws AlgebraException
Uses backsubstitution to solve for the inverse.
Specified by:
computeInverse in interface DecompositionI
Returns:
the inverse matrix.

computeDeterminate

public double computeDeterminate()
                          throws AlgebraException
Computes the determinate of the original matrix from the components.
Returns:
the inverse matrix.


Copyright(C)1997-2000 by DRA Systems all rights reserved. OpsResearch.com