SuanShu, a Java numerical and statistical library

com.numericalmethod.suanshu.matrix.doubles.factorization.gaussianelimination
Class GaussJordanElimination

java.lang.Object
  extended by com.numericalmethod.suanshu.matrix.doubles.factorization.gaussianelimination.GaussJordanElimination

public class GaussJordanElimination
extends java.lang.Object

Gauss-Jordan elimination performs elementary row operations to reduce a matrix to the reduced row echelon form.

The three elementary row operations are: scaling rows, swapping rows, and adding multiples of a row to another row.

This identity always holds:

T %*% A == U
where U is in the reduced row echelon form.

This implementation makes sure that the leading 1s are numerically 1, for future comparison purpose. Suppose there is a leading 1 at [i, j], U.get(i, j) == 1 always returns true.

See Also:

Field Summary
 double epsilon
          a precision parameter: when a number |x| ≤ ε, it is considered 0
 int ncols
          number of columns
 int nrows
          number of rows
 boolean usePivoting
          true if partial pivoting is wanted, e.g., for numerical stability
 
Constructor Summary
GaussJordanElimination(Matrix A)
          Construct an instance of the Gauss-Jordan Elimination algorithm.
GaussJordanElimination(Matrix A, boolean usePivoting, double epsilon)
          Construct an instance of the Gauss-Jordan Elimination algorithm.
 
Method Summary
 Matrix T()
          Get the transformation matrix, T, such that T %*% A == U
 Matrix U()
          Get the reduced row echelon form matrix, such that T %*% A == U
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

nrows

public final int nrows
number of rows


ncols

public final int ncols
number of columns


usePivoting

public final boolean usePivoting
true if partial pivoting is wanted, e.g., for numerical stability


epsilon

public final double epsilon
a precision parameter: when a number |x| ≤ ε, it is considered 0

Constructor Detail

GaussJordanElimination

public GaussJordanElimination(Matrix A,
                              boolean usePivoting,
                              double epsilon)
Construct an instance of the Gauss-Jordan Elimination algorithm.

Parameters:
A - a matrix
usePivoting - true if partial pivoting is wanted, e.g., for numerical stability
epsilon - a precision parameter: when a number |x| ≤ ε, it is considered 0

GaussJordanElimination

public GaussJordanElimination(Matrix A)
Construct an instance of the Gauss-Jordan Elimination algorithm.

Parameters:
A - a matrix
Method Detail

T

public Matrix T()
Get the transformation matrix, T, such that
T %*% A == U

Returns:
the transformation matrix T

U

public Matrix U()
Get the reduced row echelon form matrix, such that
T %*% A == U

Returns:
the reduced row echelon form matrix

SuanShu, a Java numerical and statistical library

Copyright © 2011 Numerical Method Inc. Ltd. All Rights Reserved.