Package edu.princeton.cs.algs4
Class GaussJordanElimination
 Object

 edu.princeton.cs.algs4.GaussJordanElimination

public class GaussJordanElimination extends Object
TheGaussJordanElimination
data type provides methods to solve a linear system of equations Ax = b, where A is an nbyn matrix and b is a length n vector. If no solution exists, it finds a solution y to yA = 0, yb ≠ 0, which serves as a certificate of infeasibility.This implementation uses GaussJordan elimination with partial pivoting. See
GaussianElimination
for an implementation that uses Gaussian elimination (but does not provide the certificate of infeasibility). For an industrialstrength numerical linear algebra library, see JAMA.This computes correct results if all arithmetic performed is without floatingpoint rounding error or arithmetic overflow. In practice, there will be floatingpoint rounding error; partial pivoting helps prevent accumulated floatingpoint rounding errors from growing out of control (though it does not provide any guarantees).
For additional documentation, see Section 9.9 Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne.
 Author:
 Robert Sedgewick, Kevin Wayne


Constructor Summary
Constructors Constructor Description GaussJordanElimination(double[][] A, double[] b)
Solves the linear system of equations Ax = b, where A is an nbyn matrix and b is a length n vector.

Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description double[]
dual()
Returns a solution to the linear system of equations yA = 0, yb ≠ 0.boolean
isFeasible()
Returns true if there exists a solution to the linear system of equations Ax = b.static void
main(String[] args)
Unit tests theGaussJordanElimination
data type.double[]
primal()
Returns a solution to the linear system of equations Ax = b.



Method Detail

primal
public double[] primal()
Returns a solution to the linear system of equations Ax = b. Returns:
 a solution x to the linear system of equations
Ax = b;
null
if no such solution

dual
public double[] dual()
Returns a solution to the linear system of equations yA = 0, yb ≠ 0. Returns:
 a solution y to the linear system of equations
yA = 0, yb ≠ 0;
null
if no such solution

isFeasible
public boolean isFeasible()
Returns true if there exists a solution to the linear system of equations Ax = b. Returns:
true
if there exists a solution to the linear system of equations Ax = b;false
otherwise

main
public static void main(String[] args)
Unit tests theGaussJordanElimination
data type. Parameters:
args
 the commandline arguments

