--------------------
In [CZ]GESVDX there is some confusion over use of ITEMP to index both real and complex
work arrays.
I would suggest using ITEMPR for RWORK, as in:
itempr = itgkz + n*(n*2+1)
and then use rwork(itempr) in place of rwork(itemp)
I get the following
path 1:
- Code: Select all
minwrk = n*(n+5)
maxwrk = n + n*ILAENV(1,'ZGEQRF',' ',m,n,-1,-1)
maxwrk = Max(maxwrk,n*n+2*n+2*n*ILAENV(1,'ZGEBRD',' ',n,n,-1,-1))
If (wantu .or. wantvt) Then
maxwrk = Max(maxwrk,n*n+2*n+n*ILAENV(1,'ZUNMQR','LN',n,n,n,-1))
End If
path2:
- Code: Select all
minwrk = 3*n + m
maxwrk = 2*n + (m+n)*ILAENV(1,'ZGEBRD',' ',m,n,-1,-1)
If (wantu .or. wantvt) Then
maxwrk = Max(maxwrk,2*n+n*ILAENV(1,'ZUNMQR','LN',n,n,n,-1))
End If
and similar for paths 1t and 2t with M and N switched.

