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

Reply via email to