On Thu, Feb 4, 2010 at 8:45 PM, David Cournapeau <david@silveregg.co.jp> wrote:
Hi,

I wanted to know if there was a rationale for using svd to
orthonormalize the columns of a matrix (in scipy.linalg). QR-based
methods are likely to be much faster, and I thought this was the
standard, numerically-stable method to orthonormalize a basis ? If the
reason is to deal with rank-deficient matrices, maybe we could add an
option to choose between them ?


QR with column rotation would deal with rank-deficient matrices and routines for that are available in LAPACK. The SVD was probably used because it was available. The diagonal elements of the R matrix can somewhat take the place of the singular values when column rotation is used.

Chuck