package mikera.matrixx.decompose; import mikera.matrixx.AMatrix; import mikera.vectorz.AVector; /** * Interface representing the result of an SVD decomposition * * @author Mike */ public interface ISVDResult { /** * <p> * Returns the orthogonal 'U' matrix. * </p> * @return An orthogonal matrix. */ public AMatrix getU(); /** * Returns a diagonal matrix with the singular values. Order of the singular values * is not guaranteed. * * @return matrix with singular values along the diagonal. */ public AMatrix getS(); /** * <p> * Returns the orthogonal 'V' matrix. * </p> * @return An orthogonal matrix. */ public AMatrix getV(); /** * Returns an array containing singular values. The non zero singular values are * the square roots of the non-zero eigenvalues of M<sup>T</sup>M and MM<sup>T</sup>, * where M is the input matrix. * * @return */ public AVector getSingularValues(); }