IGLib
1.7.2
The IGLib base library EXTENDED - with other lilbraries and applications.
|
LU Decomposition. For an m-by-n matrix A with m >= n, the LU decomposition is an m-by-n unit lower triangular matrix L, an n-by-n upper triangular matrix U, and a permutation vector piv of length m so that A(piv,:) = L*U. More...
Public Member Functions | |
LUDecomposition (GeneralMatrix A) | |
LU Decomposition More... | |
virtual double | Determinant () |
Determinant More... | |
virtual GeneralMatrix | Solve (GeneralMatrix B) |
Solve A*X = B More... | |
LUDecomposition (GeneralMatrix A) | |
LU Decomposition More... | |
virtual double | Determinant () |
Determinant More... | |
virtual GeneralMatrix | Solve (GeneralMatrix B) |
Solve A*X = B More... | |
Properties | |
virtual bool | IsNonSingular [get] |
Is the matrix nonsingular? More... | |
virtual GeneralMatrix | L [get] |
Return lower triangular factor More... | |
virtual GeneralMatrix | U [get] |
Return upper triangular factor More... | |
virtual int[] | Pivot [get] |
Return pivot permutation vector More... | |
virtual double[] | DoublePivot [get] |
Return pivot permutation vector as a one-dimensional double array More... | |
Private Member Functions | |
void ISerializable. | GetObjectData (SerializationInfo info, StreamingContext context) |
void ISerializable. | GetObjectData (SerializationInfo info, StreamingContext context) |
Private Attributes | |
double[][] | LU |
Array for internal storage of decomposition. internal array storage. More... | |
int | m |
Row and column dimensions, and pivot sign. column dimension. row dimension. pivot sign. More... | |
int | n |
int | pivsign |
int[] | piv |
Internal storage of pivot vector. pivot vector. More... | |
LU Decomposition. For an m-by-n matrix A with m >= n, the LU decomposition is an m-by-n unit lower triangular matrix L, an n-by-n upper triangular matrix U, and a permutation vector piv of length m so that A(piv,:) = L*U.
If m < n, then L is m-by-m and U is m-by-n.
The LU decompostion with pivoting always exists, even if the matrix is singular, so the constructor will never fail. The primary use of the LU decomposition is in the solution of square systems of simultaneous linear equations. This will fail if IsNonSingular() returns false.
|
inline |
LU Decomposition
A | Rectangular matrix |
References DotNetMatrix.GeneralMatrix.ArrayCopy, DotNetMatrix.GeneralMatrix.ColumnDimension, DotNetMatrix.LUDecomposition.m, DotNetMatrix.LUDecomposition.n, DotNetMatrix.LUDecomposition.pivsign, and DotNetMatrix.GeneralMatrix.RowDimension.
|
inline |
LU Decomposition
A | Rectangular matrix |
References DotNetMatrix.GeneralMatrix.ArrayCopy, DotNetMatrix.GeneralMatrix.ColumnDimension, DotNetMatrix.LUDecomposition.m, DotNetMatrix.LUDecomposition.n, DotNetMatrix.LUDecomposition.pivsign, and DotNetMatrix.GeneralMatrix.RowDimension.
|
inlinevirtual |
Determinant
System.ArgumentException | Matrix must be square |
References DotNetMatrix.LUDecomposition.n.
Referenced by DotNetMatrix.GeneralMatrix.Determinant().
|
inlinevirtual |
Solve A*X = B
B | A Matrix with as many rows as A and any number of columns. |
System.ArgumentException | Matrix row dimensions must agree. |
System.SystemException | Matrix is singular. |
References DotNetMatrix.GeneralMatrix.Array, DotNetMatrix.GeneralMatrix.ColumnDimension, DotNetMatrix.GeneralMatrix.GetMatrix(), DotNetMatrix.LUDecomposition.IsNonSingular, DotNetMatrix.LUDecomposition.n, and DotNetMatrix.GeneralMatrix.RowDimension.
|
inlineprivate |
|
inlinevirtual |
Determinant
System.ArgumentException | Matrix must be square |
References DotNetMatrix.LUDecomposition.n.
|
inlinevirtual |
Solve A*X = B
B | A Matrix with as many rows as A and any number of columns. |
System.ArgumentException | Matrix row dimensions must agree. |
System.SystemException | Matrix is singular. |
References DotNetMatrix.GeneralMatrix.Array, DotNetMatrix.GeneralMatrix.ColumnDimension, DotNetMatrix.GeneralMatrix.GetMatrix(), DotNetMatrix.LUDecomposition.IsNonSingular, DotNetMatrix.LUDecomposition.n, and DotNetMatrix.GeneralMatrix.RowDimension.
|
inlineprivate |
|
private |
Array for internal storage of decomposition. internal array storage.
|
private |
Row and column dimensions, and pivot sign. column dimension. row dimension. pivot sign.
Referenced by DotNetMatrix.LUDecomposition.LUDecomposition().
|
private |
|
private |
Referenced by DotNetMatrix.LUDecomposition.LUDecomposition().
|
private |
Internal storage of pivot vector. pivot vector.
|
get |
Is the matrix nonsingular?
Referenced by DotNetMatrix.LUDecomposition.Solve().
|
get |
Return lower triangular factor
Referenced by DotNetMatrix.test.TestMatrix.Main(), and DotNetMatrix.examples.MagicSquareExample.Main().
|
get |
Return upper triangular factor
Referenced by DotNetMatrix.test.TestMatrix.Main(), and DotNetMatrix.examples.MagicSquareExample.Main().
|
get |
Return pivot permutation vector
Referenced by DotNetMatrix.test.TestMatrix.Main(), and DotNetMatrix.examples.MagicSquareExample.Main().
|
get |
Return pivot permutation vector as a one-dimensional double array