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.


Constructor Index

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

Method Index

 o factor(double[][], int[])
LU factorization (in place).
 o getLU()
Returns a copy of the compact LU factorization.
 o getPivot()
Returns a copy of the pivot vector.
 o solve(double[])
Solve a linear system, with given factorization.
 o solve(double[][], int[], double[])
Solve a linear system, using a prefactored matrix in LU form.

Constructors

 o LU
 public LU(double A[][])
Initalize LU factorization from matrix.

Parameters:
A - (in) the matrix to associate with this factorization.

Methods

 o 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.
 o 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 right-hand side by this vector.
 o solve
 public double[] solve(double b[])
Solve a linear system, with given factorization.

Parameters:
b - (in) the right-hand side.
Returns:
solution vector.
 o 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.
 o 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 right-hand side. On output, the solution vector.

All Packages  Class Hierarchy  This Package  Previous  Next  Index