problem of workspace size in DGESSD
I have read a message cocerning DGER errors after DGESV
I have a similar problem when I want use DGESDD with jobz 'N' to compute only the singular values.
To do that I issue a call with LWORK = -1 to obtain the correct size of the WORK parameter.
The returned needed size is 1, So I create an array of the requested size and I issue a new call to DGESSD and get an error message from DGEBRD :
** On entry to DGEBRD parameter number 10 had an illegal value
parameter 10 is the size of the workspace required by DGEBRD internally i.e. WORK.
If I issue the second call to DGEBRD with a differnt correct size for WORK for example 64*(N+M), which is quite optimal for DGEBRD on my system,
everything works fine...
It is of course always possible that I have mistaken some way, but I think it can be a bug.
It seems to me that the returned size is incorrectly computed to 1 in the 'N' case not taking account of the internal needs of DGEBRD.
In the 'A' case everything looks to go well.
thanks for answers or hints
I have a similar problem when I want use DGESDD with jobz 'N' to compute only the singular values.
To do that I issue a call with LWORK = -1 to obtain the correct size of the WORK parameter.
The returned needed size is 1, So I create an array of the requested size and I issue a new call to DGESSD and get an error message from DGEBRD :
** On entry to DGEBRD parameter number 10 had an illegal value
parameter 10 is the size of the workspace required by DGEBRD internally i.e. WORK.
If I issue the second call to DGEBRD with a differnt correct size for WORK for example 64*(N+M), which is quite optimal for DGEBRD on my system,
everything works fine...
It is of course always possible that I have mistaken some way, but I think it can be a bug.
It seems to me that the returned size is incorrectly computed to 1 in the 'N' case not taking account of the internal needs of DGEBRD.
In the 'A' case everything looks to go well.
thanks for answers or hints