Class ComplexLU
- All Implemented Interfaces:
Decomposition<CMatrix>
Complex128his class provides methods for computing the LU decomposition of a complex dense matrix.
Complex128he following decompositions are provided: A=LU, PA=LU, and PAQ=LU.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.flag4j.linalg.decompositions.lu.LU
LU.Pivoting
-
Field Summary
Fields inherited from class org.flag4j.linalg.decompositions.lu.LU
colSwaps, LU, numColSwaps, numRowSwaps, P, pivotFlag, Q, rowSwaps, zeroPivotTol
-
Constructor Summary
ConstructorsConstructorDescriptionConstructs a LU decomposer to decompose the specified matrix using partial pivoting.ComplexLU
(LU.Pivoting pivoting) Constructs a LU decomposer to decompose the specified matrix.ComplexLU
(LU.Pivoting pivoting, double zeroPivotTol) Constructs a LU decomposer to decompose the specified matrix. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
Computes the LU decomposition using full/rook pivoting (i.e. row and column swapping).getL()
Gets the unit lower triangular matrix of the decomposition.getU()
Gets the upper triangular matrix of the decomposition.protected void
Initializes theLU
matrix by copying the source matrix to decompose.protected void
noPivot()
Computes the LU decomposition using no pivoting (i.e. rows and columns are not swapped).protected void
Computes the LU decomposition using partial pivoting (i.e. row swapping).Methods inherited from class org.flag4j.linalg.decompositions.lu.LU
decompose, getLU, getNumColSwaps, getNumRowSwaps, getP, getQ, swapCols, swapRows
-
Constructor Details
-
ComplexLU
public ComplexLU()Constructs a LU decomposer to decompose the specified matrix using partial pivoting. -
ComplexLU
Constructs a LU decomposer to decompose the specified matrix.- Parameters:
pivoting
- Pivoting to use in the LU decomposition.
-
ComplexLU
Constructs a LU decomposer to decompose the specified matrix.- Parameters:
pivoting
- Pivoting to use. If pivoting is 2, full pivoting will be used. If pivoting is 1, partial pivoting will be used. If pivoting is any other value, no pivoting will be used.zeroPivotTol
- Value for determining if a zero pivot value is detected when computing the LU decomposition with no pivoting. If a pivot value (value along the principle diagonal of U) is within this tolerance from zero, then an exception will be thrown if solving with no pivoting.
-
-
Method Details
-
initLU
-
noPivot
-
partialPivot
protected void partialPivot()Computes the LU decomposition using partial pivoting (i.e. row swapping).- Specified by:
partialPivot
in classLU<CMatrix>
-
fullPivot
-
getL
-
getU
-