Boost logo

Ublas :

Subject: Re: [ublas] [bindings] LAPACK ?GESVD and minimum workspace size
From: Rutger ter Borg (rutger_at_[hidden])
Date: 2011-04-07 03:26:42


On 04/06/2011 05:08 PM, sguazt wrote:
> Hello,
>
> I've found an issue regarding the minimum workspace size for ?GESVD.
> Specifically, the problem is in the "min_size_work" method (file
> "gesvd.hpp") which seems to rely on the comments of ?GESVD function.
> However, these comments are to taken with care.
>
> Please this message that I posted to LAPACK forum:
> http://icl.cs.utk.edu/lapack-forum/viewtopic.php?f=2&t=2011
>
> What do you think?
>
> Thank you very much!
>
> Best,
>
> -- Marco

You are saying that, in some cases, for gesvd, the minimum workspace
size returned may be larger than the queried optimum workspace size, and
the bindings are asserting on that error?

Looking at the Fortran code, I see that there are not less than 10 code
paths for determining workspace size, but that the variation in minimum
seems to be limited to

max( 4*n, 5*n )
max( 3*(m+n), 5*n )
max( 4*m, 5*n )

Could you come up with a clever branch tree? Let's incorporate that in
the bindings. This is only for the real variants of gesvd, right?

Cheers,

Rutger