
org.jeometry.math.decomposition.SVDDecomposition Maven / Gradle / Ivy
package org.jeometry.math.decomposition;
import org.jeometry.Geometry;
import org.jeometry.math.Matrix;
/**
* This interface describes a Singular Values Decomposition (SVD).
*
* Let A be a real matrix that has a matrix of {@link EigenDecomposition Eigen vectors} P that is not invertible
* (no {@link EigenDecomposition Eigen decomposition} can be computed).
*
* If A is an m × n real matrix with m > n, then A can be written using a so-called singular value decomposition of the form
* A = UDVT
*
* where:
*
* - U is a m × m matrix with orthogonal columns (UTU = I)
*
- D is a m × n diagonal matrix
*
- V is a n × n matrix with orthogonal columns (VTV = I)
*
*
*
* source: Wolfram math
* @author Julien Seinturier - COMEX S.A. - [email protected] - https://github.com/jorigin/jeometry
* @version {@value Geometry#version} b{@value Geometry#BUILD}
* @since 1.0.0
*/
public interface SVDDecomposition extends Decomposition {
/**
* Get the U matrix that is a m × m matrix with orthogonal columns (UTU = I).
* @return the U matrix
* @see #getD()
* @see #getV()
*/
public Matrix getU();
/**
* Get the D matrix that is is a m × n diagonal matrix.
* @return the D matrix
* @see #getU()
* @see #getV()
*/
public Matrix getD();
/**
* Get the V matrix that is a n × n matrix with orthogonal columns (VTV = I).
* @return the V matrix
* @see #getU()
* @see #getD()
*/
public Matrix getV();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy