org.jeometry.math.decomposition.QRDecomposition 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 QR decomposition.
*
* Given a matrix A, its QR-decomposition is a matrix decomposition of the form
* A = QR
*
* where:
*
* - R is an upper triangular matrix
*
- Q is an orthogonal matrix
*
* The matrix Q is sich that:
* QtQ = I
*
* where Qt is the transpose of Q and I is the identity matrix.
*
*
* This matrix decomposition can be used to solve linear systems of equations.
*
* @author Julien Seinturier - COMEX S.A. - [email protected] - https://github.com/jorigin/jeometry
* @version {@value Jeometry#version} b{@value Jeometry#BUILD}
* @since 1.0.2
*/
public interface QRDecomposition extends Decomposition, Resolvable {
/**
* The index of the orthogonal matrix Q within the {@link Decomposition#getComponents() decomposition components}.
*/
public static final int COMPONENT_Q_INDEX = 0;
/**
* The index of the upper triangular matrix R within the {@link Decomposition#getComponents() decomposition components}.
*/
public static final int COMPONENT_R_INDEX = 1;
/**
* Get the orthogonal matrix Q.
* @return the orthogonal matrix Q
* @see #getR()
*/
public Matrix getQ();
/**
* Get the upper triangular matrix R.
* @return the upper triangular matrix R
*/
public Matrix getR();
}