LAPACK Archives

[Lapack] [Fwd: LAPACK documentation doubt]

Thank you. I will write my own driver for the banded case. I understand it
may be slow. Also, are there any reasons why the structure of Q was not
exploited in gbbrd (as in sbtrd) ?

Siva Rajamanickam.

Thanks! I understand from your request that a "Band SVD Driver" is
something you'd like to have. The challenge is that while it may be
cheaper to exploit band form to compute the singular values only, getting
the singular vectors (if you want many or all of them) may be more
expensive, because the routine gbbrd that reduces from band to bidiagonal
does BLAS1 (vector) operations as opposed to BLAS3 (matrix-matrix)
operations. So it's hard to recommend the best approach in general.

Jim Demmel

Julien Langou wrote:


there is no driver for the banded SVD problem in LAPACK. Basically if
you want to solve the banded SVD problem what the documentation is
saying is that you need to do it yourself.

There is one driver for general matrix SVD problem (xGESVD), it calls
xGEBRD (reduction of a general matrix to bidiagonal form) and then
xBDSQR (compute the singular values of a bidiagonal matrix using QR

To make your own driver for the banded matrix SVD problem, you first
call xGBBRD (reduction of a banded matrix to bidiagonal form) and then
xBDSQR (compute the singular values of a bidiagonal matrix using QR

If you want both singular vector basis as well, you can call xGBBRD
with option VECT='B' (or 'Q' if only left or 'P' if only right), and
give those vectors to xBDSQR with NCVT and NRU correctly set.

I have never tried it personnally but that's what I understand from the

Best wishes,
Julien Langou.

-------- Original Message --------
Subject: LAPACK documentation doubt
Date: Mon, 20 Feb 2006 09:27:38 -0500 (EST)
From: srajaman@Domain.Removed

In LAPACK's documentation of the singular value decomposition driver,
it mentions that xGBBRD will be called if input matrix is banded. But
when I look at the actual source of SVD driver routine, I don't see
any calls to DGBBRD. Is there any reason why it wasn't called. I am
using the documentation at

Siva Rajamanickam.

Lapack mailing list

<Prev in Thread] Current Thread [Next in Thread>

For additional information you may use the LAPACK/ScaLAPACK Forum.
Or one of the mailing lists, or