the m-by-n matrix to decompose (algorithm requires m >= n)
Compute the Singular Value Decomposition (SVD) of matrix 'a' returning the three factors: 'u, b, v'.
Compute the Singular Value Decomposition (SVD) of matrix 'a' returning the three factors: 'u, b, v'.
Matrix Computation: Algorithm 8.6.2 SVD Algorithm.
Take one step in converting the bidiagoanl matrix 'b' to a diagonal matrix.
Take one step in converting the bidiagoanl matrix 'b' to a diagonal matrix. That is, reduce the middle run of nonzero super-diagonal elements by one.
the size of the head of the super-diagonal
the size of the tail of the super-diagonal
Matrix Computation: Algorithm 8.6.1 Golub-Kahan Step.
Find the run of nonzero elements in the middle of the super-diagonal of matrix 'a' such that the tail super-diagonal contains only zeros.
Find the run of nonzero elements in the middle of the super-diagonal of matrix 'a' such that the tail super-diagonal contains only zeros. Return p the size of the head and q the size of the tail.
Find/return the index of the first diagonal entry in 'a' from 'j' until 'k' that is zero; otherwise -1 (not found).
Find/return the index of the first diagonal entry in 'a' from 'j' until 'k' that is zero; otherwise -1 (not found).
strart the search here
end the search here
Show the flaw by printing the error message.
Show the flaw by printing the error message.
the method where the error occurred
the error message
The
SVD
class is used to compute the Singlar Value Decomposition (SVD) of matrix 'a' using the Golub-Kahan-Reinsch Algorithm. Decompose matrix 'a' into the product of three matrices:a = u * b * v.t
where 'u' is a matrix of orthogonal eigenvectors of 'a * a.t' (LEFT SINGULAR VECTORS) 'v' is a matrix of orthogonal eigenvectors of 'a.t * a' (RIGHT SINGULAR VECTORS) and 'b' is a diagonal matrix of square roots of eigenvalues of 'a.t * a' &' a * a.t' (SINGULAR VALUES).