The partial total least squares algorithm

Abstract The Partial Total Least Squares (PTLS) subroutine solves the Total Least Squares (TLS) problem AX ≈ B by using a Partial Singular Value Decomposition (PSVD), hereby improving the computational efficiency of the classical TLS algorithm (a factor 2 approximately). The computational improvement of PTLS is based on the observation that the TLS solution can be computed from any orthogonal basis of the right singular subspace corresponding to the smallest singular values of the augmented matrix [A;B]. The dimension of this subspace may be determined by the rank of the TLS approximation of [A;B] or depend on a given upper bound (e.g. a perturbation level) for those smallest singular values. The routine PTLS allows more than one vector in B. It also solves determined and underdetermined sets of equations by computing the minimum norm solution.