Posted by Scott Betts on November 07, 1997 at 11:21:42:

In Reply to: possible typo in ZGESVD comments posted by Steve Schreppler on November 05, 1997 at 19:51:56:

: There may be a typo in the header comments of the

: LAPACK subroutine ZGESVD. This is the comment describing

: the argument LWORK:

: *

: * LWORK (input) INTEGER

: * The dimension of the array WORK. LWORK >= 1.

: * LWORK >= 2*MIN(M,N)+MAX(M,N).

: * For good performance, LWORK should generally be larger.

: *

: The same exact comment is also in CGESVD, and, DGESVD and SGESVD may

: have similar incorrect statements

: For the subroutine to use the "fast algorithm" it seems that

: LWORK should be at least:

: LWORK >= 2*MIN(M,N)**2+MAX(M,N)

: There are numerous conditionals in the subroutine that

: check LWORK for its size so the fast algorithms can

: be used.

: BTW, if this is an error it is also in GNU Octave.

: Octave sets LWORK to 2*MIN(M,N)+MAX(M,N) and therefore

: runs svd() very slowly.

:

: Can someone confirm or deny this for me ?

: Thanks, Steve Schreppler

Steve,

I've forwarded your question to lapack@cs.utk.edu.

Scott