All Packages Class Hierarchy This Package Previous Next Index
Class jnt.linear_algebra.LU
java.lang.Object

+jnt.linear_algebra.LU
 public class LU
 extends Object
LU matrix factorization. (Based on TNT implementation.)
Decomposes a matrix A into a triangular lower triangular
factor (L) and an upper triangular factor (U) such that
A = L*U. By convnetion, the main diagonal of L consists
of 1's so that L and U can be stored compactly in
a NxN matrix.

LU(double[][])
 Initalize LU factorization from matrix.

factor(double[][], int[])
 LU factorization (in place).

getLU()
 Returns a copy of the compact LU factorization.

getPivot()
 Returns a copy of the pivot vector.

solve(double[])
 Solve a linear system, with given factorization.

solve(double[][], int[], double[])
 Solve a linear system, using a prefactored matrix
in LU form.
LU
public LU(double A[][])
 Initalize LU factorization from matrix.
 Parameters:
 A  (in) the matrix to associate with this
factorization.
getLU
public double[][] getLU()
 Returns a copy of the compact LU factorization.
(useful mainly for debugging.)
 Returns:
 the compact LU factorization. The U factor
is stored in the upper triangular portion, and the L
factor is stored in the lower triangular portion.
The main diagonal of L consists (by convention) of
ones, and is not explicitly stored.
getPivot
public int[] getPivot()
 Returns a copy of the pivot vector.
 Returns:
 the pivot vector used in obtaining the
LU factorzation. Subsequent solutions must
permute the righthand side by this vector.
solve
public double[] solve(double b[])
 Solve a linear system, with given factorization.
 Parameters:
 b  (in) the righthand side.
 Returns:
 solution vector.
factor
public static int factor(double A[][],
int pivot[])
 LU factorization (in place).
 Parameters:
 A  (in/out) On input, the matrix to be factored.
On output, the compact LU factorization.
 pivit  (out) The pivot vector records the
reordering of the rows of A during factorization.
 Returns:
 0, if OK, nozero value, othewise.
solve
public static void solve(double LU[][],
int pvt[],
double b[])
 Solve a linear system, using a prefactored matrix
in LU form.
 Parameters:
 LU  (in) the factored matrix in LU form.
 pivot  (in) the pivot vector which lists
the reordering used during the factorization
stage.
 b  (in/out) On input, the righthand side.
On output, the solution vector.
All Packages Class Hierarchy This Package Previous Next Index