Documentation of 'org.ejml.alg.dense.decomposition.bidiagonal.BidiagonalDecompositionTall_D64' Java class
BidiagonalDecompositionTall_D64
org.ejml.alg.dense.decomposition.bidiagonal

Class BidiagonalDecompositionTall_D64

  • All Implemented Interfaces:
    BidiagonalDecomposition<DenseMatrix64F>, DecompositionInterface<DenseMatrix64F>


    public class BidiagonalDecompositionTall_D64
    extends java.lang.Object
    implements BidiagonalDecomposition<DenseMatrix64F>

    BidiagonalDecomposition specifically designed for tall matrices. First step is to perform QR decomposition on the input matrix. Then R is decomposed using a bidiagonal decomposition. By performing the bidiagonal decomposition on the smaller matrix computations can be saved if m/n > 5/3 and if U is NOT needed.

    A = [Q1 Q2][U1 0; 0 I] [B1;0] VT
    U=[Q1*U1 Q2]
    B=[B1;0]
    A = U*B*VT

    A QRP decomposition is used internally. That decomposition relies an a fixed threshold for selecting singular values and is known to be less stable than SVD. There is the potential for a degregation of stability by using BidiagonalDecompositionTall instead of BidiagonalDecomposition. A few simple tests have shown that loss in stability to be insignificant.

    See page 404 in "Fundamentals of Matrix Computations", 2nd by David S. Watkins.

DMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.