Package com.powsybl.math.matrix
Interface LUDecomposition
-
- All Superinterfaces:
AutoCloseable
public interface LUDecomposition extends AutoCloseable
LU decomposition utility class. As some decomposition implementation may allocate resources that need to be released a try-with-resource block has to be used to ensure correct resource management.try (LUDecomposition decomposition = m.decomposeLU()) { decomposition.solve(...) }
- Author:
- Geoffroy Jamgotchian
- See Also:
- https://en.wikipedia.org/wiki/LU_decomposition
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description void
close()
void
solve(double[] b)
Solve A * x = b where b is a column vector.void
solve(DenseMatrix b)
Solve A * x = b where b is a dense matrix.void
solveTransposed(double[] b)
Solve AT * x = b where b is a column vector.void
solveTransposed(DenseMatrix b)
Solve AT * x = b where b is a dense matrix.default void
update()
Method to call when matrix has been updated to refresh LU decomposition so that new data can be taken into account in nextsolve(double[])
orsolve(DenseMatrix)
.void
update(boolean allowIncrementalUpdate)
Method to call when matrix has been updated to refresh LU decomposition so that new data can be taken into account in nextsolve(double[])
orsolve(DenseMatrix)
.
-
-
-
Method Detail
-
update
void update(boolean allowIncrementalUpdate)
Method to call when matrix has been updated to refresh LU decomposition so that new data can be taken into account in nextsolve(double[])
orsolve(DenseMatrix)
.- Parameters:
allowIncrementalUpdate
- allow decomposition incremental update (so using previous decomposition values)
-
update
default void update()
Method to call when matrix has been updated to refresh LU decomposition so that new data can be taken into account in nextsolve(double[])
orsolve(DenseMatrix)
.
-
solve
void solve(double[] b)
Solve A * x = b where b is a column vector.- Parameters:
b
- a column vector
-
solveTransposed
void solveTransposed(double[] b)
Solve AT * x = b where b is a column vector.- Parameters:
b
- a column vector
-
solve
void solve(DenseMatrix b)
Solve A * x = b where b is a dense matrix.- Parameters:
b
- a matrix
-
solveTransposed
void solveTransposed(DenseMatrix b)
Solve AT * x = b where b is a dense matrix.- Parameters:
b
- a matrix
-
close
void close()
- Specified by:
close
in interfaceAutoCloseable
-
-