On Tue, 24 Nov 2009, John Peterson wrote:
On Tue, Nov 24, 2009 at 11:10 AM, Roy Stogner <[email protected]> wrote:It looks like the cholesky back substitution never reuses b(i) outside of (or at later iterations in) the i loop; surely we can replace that with a single scalar on the stack. The LU back substitution is trickier, since that's storing a full vector's worth of temporary data, but do we need to store said temporary data in b? It looks like we can probably get away with using the unfinished parts of x instead.So: keep the same interface and rework the algorithms?
To the extent that that's possible and efficient, anyway. If we wanted to add an additional overwrite-in-place interface, though, that's not a bad idea. As you discovered, typically we discard the rhs after using it anyway.
We could still maintain a two-vector input API, but the Lapack implementation would have to make a copy of the RHS before the back substitution step overwrites it internally.
I think having both one-vector and two-vector versions sounds like the way to go; that way people who don't need to save the RHS don't waste time saving it in the Lapack implementation. --- Roy
------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july
_______________________________________________ Libmesh-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libmesh-devel
