public class LinearSystemSolver
extends java.lang.Object
Constructor and Description |
---|
LinearSystemSolver() |
Modifier and Type | Method and Description |
---|---|
static boolean |
IsDiagonallyDominant(double[][] aadblA,
boolean bCheckForStrongDominance)
Check to see if the matrix is diagonally dominant.
|
static double[] |
Pivot(double[][] aadblA,
double[] adblB)
Pivots the matrix A (Refer to wikipedia to find out what "pivot a matrix" means ;))
|
static boolean |
RegulariseRow(double[][] aadblA,
double[] adblSolution,
int iInnerRow,
int iOuter)
Regularize (i.e., convert the diagonal entries of the given cell to non-zero using suitable linear
transformations)
|
static LinearizationOutput |
SolveUsingGaussianElimination(double[][] aadblAIn,
double[] adblB)
Solve the Linear System using Gaussian Elimination from the Set of Values in the Array
|
static LinearizationOutput |
SolveUsingGaussSeidel(double[][] aadblAIn,
double[] adblB)
Solve the Linear System using the Gauss-Seidel algorithm from the Set of Values in the Array
|
static LinearizationOutput |
SolveUsingMatrixInversion(double[][] aadblAIn,
double[] adblB)
Solve the Linear System using Matrix Inversion from the Set of Values in the Array
|
public static final boolean RegulariseRow(double[][] aadblA, double[] adblSolution, int iInnerRow, int iOuter)
aadblA
- In/Out Matrix to be regularizedadblSolution
- In/out RHSiInnerRow
- Matrix Cell Row that needs to be regularizediOuter
- Matrix Cell Column that needs to be regularizedpublic static final boolean IsDiagonallyDominant(double[][] aadblA, boolean bCheckForStrongDominance)
aadblA
- Input MatrixbCheckForStrongDominance
- TRUE - Fail if the matrix is not strongly diagonally dominant.public static final double[] Pivot(double[][] aadblA, double[] adblB)
aadblA
- Input MatrixadblB
- Input RHSpublic static final LinearizationOutput SolveUsingMatrixInversion(double[][] aadblAIn, double[] adblB)
aadblAIn
- Input MatrixadblB
- The Array of Values to be calibrated topublic static final LinearizationOutput SolveUsingGaussianElimination(double[][] aadblAIn, double[] adblB)
aadblAIn
- Input MatrixadblB
- The Array of Values to be calibrated topublic static final LinearizationOutput SolveUsingGaussSeidel(double[][] aadblAIn, double[] adblB)
aadblAIn
- Input MatrixadblB
- The Array of Values to be calibrated to