Abstract The Partial Singular Value Decomposition (PSVD) subroutine computes a basis of the left and/or right singular subspace of a matrix corresponding to its smallest singular values. The dimension of the desired subspace may be fixed or depend on a given upper bound for those smallest singular values. As only a basis of the desired singular subspace is needed, the classical Singular Value Decomposition (SVD) algorithm is modified in three ways. First, the Householder transformations of the bidiagonalization are only applied to the base vectors of the desired singular subspace. Second, the bidiagonal is only partially diagonalized and third, the convergence rate of the iterative diagonalization is improved by an appropriate choice between QR and QL iteration steps. Depending on the gap, the desired numerical accuracy and the dimension of the desired subspace, PSVD can be three times faster than the classical SVD algorithm while the same accuracy can be maintained. The new algorithm can be successfully used in total least squares applications, in the computation of the null space of a matrix an in solving (non) homogeneous linear equations.
[1]
Tony F. Chan,et al.
An Improved Algorithm for Computing the Singular Value Decomposition
,
1982,
TOMS.
[2]
V. Klema.
LINPACK user's guide
,
1980
.
[3]
Charles L. Lawson,et al.
Basic Linear Algebra Subprograms for Fortran Usage
,
1979,
TOMS.
[4]
Sabine Van Huffel,et al.
An efficient and reliable algorithm for computing the singular subspace of a matrix, associated with its smallest singular values
,
1987
.
[5]
Sabine Van Huffel,et al.
The partial total least squares algorithm
,
1988
.
[6]
Sabine Van Huffel.
Analysis of the Total Least Squares Problem and its Use in Parameter Estimation
,
1987
.