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