dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #02821
Preconditioner interface
I'm wondering about how to specify the interface for uBlas
preconditioners. I think the natural would be
void solve(DenseVector& x, const DenseVector& b);
but it seems that the Krylov solver prefers an in-place
void solve(DenseVector& x);
where x = b before the call.
I think we need to have just one interface. There are two
options. Either we force the solve(x, b) interface, which I think
we can do without sacrificing performance, or we force the solve(x)
interface, which might not be natural for all types of
preconditioners.
A Jacobi preconditioner would need to store a separate vector and make
an additional copy which seems unnessary.
/Anders
Follow ups