org.jeometry.math.decomposition.LUDecomposition Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jeometry-api Show documentation
Show all versions of jeometry-api Show documentation
Jeometry, a Mathematic and Geometry library for Java
package org.jeometry.math.decomposition;
import org.jeometry.Jeometry;
import org.jeometry.math.Matrix;
import org.jeometry.math.solver.Resolvable;
/**
* This interface describes a Lower Upper (LU) decomposition.
*
* Let A be a square matrix, the LU decomposition compute a lower triangular matrix L and an upper triangular matrix U such that:
*
* L×U = A
*
* where × is the standard matrix product.
* @author Julien Seinturier - COMEX S.A. - [email protected] - https://github.com/jorigin/jeometry
* @version {@value Jeometry#version} b{@value Jeometry#BUILD}
* @since 1.0.0
*/
public interface LUDecomposition extends Decomposition, Resolvable {
/**
* The index of the triangular lower L matrix within the {@link Decomposition#getComponents() decomposition components}.
*/
public static final int COMPONENT_L_INDEX = 0;
/**
* The index of the triangular upper U matrix within the {@link Decomposition#getComponents() decomposition components}.
*/
public static final int COMPONENT_U_INDEX = 1;
/**
* Get the lower (L) triangular matrix from the decomposition.
* @return the lower triangular matrix from the decomposition.
* @see #getUpper()
*/
public Matrix getLower();
/**
* Get the upper (U) triangular matrix from the decomposition.
* @return the upper (U) triangular matrix from the decomposition.
* @see #getLower()
*/
public Matrix getUpper();
/**
* Get the permutation matrix (pivot) that has been used if the decomposition is formally:
*
* A = PLU
*
* @return the pivot that has been used.
*/
public Matrix getPivot();
}