add function svd_qr

svd_qr calls lapack function dgesvd which is more stable than dgesdd
when there exists extremely small singular values.