LAPACK Archives

[Lapack] Bugs in DLASD8 and DLASD6

Dear Justin,
Thank you for reporting this problem. However, it would greatly help us 
if you could provide the matrix that IPOPT is passing to LAPACK (it 
sounds like that IPOPT is calling DGELSD), specially to understand why 
DLASD4 is failing to converge.

We got a fatal error message "On entry to DLASD4 paramater number -1 
had an illegal value" when using IpOpt. We think this is due to a bug 
in Lapack.

The bug is in DLASD8 (see line 276 to line 284 of DLASD8 
which calls DLASD4 and then handles the INFO =1 error return 
incorrectly. The error indicates that DLASD4 failed to converge and 
should have been reported as an INFO = 1 return to DLASD8's caller. It 
should not have been passed to XERBLA. We also see similar bugs in 
DLASD6 (see line 414 to line 422 of DLASD6 

DLASDA shows what we think is the correct behavior (see line 486 to 
line 507 of DLASDA 
Here it is just passing the info value from DLASD6 back as the info 
value from DLASDA which is reasonable (setting info = 1 before 
returning might be cleaner). This method allows the higher-level 
subroutine that called DLASDA to recover from low-level convergence 
failure. We think that's the fix we need done in DLASD8 and DLASD6.

Thanks a lot for your attention.

Justin (Weiguang Si)

Postdoctoral Researcher
Neuromuscular Biomechanics Lab
Stanford University

forswg@Domain.Removed <mailto:forswg@Domain.Removed>
weiguang@Domain.Removed <mailto:weiguang@Domain.Removed>

Lapack mailing list

-------------- next part --------------
An HTML attachment was scrubbed...

<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