Anders Logg wrote:
> On Thu, Sep 25, 2008 at 03:53:01PM +0100, Garth N. Wells wrote:
>>
>> Anders Logg wrote:
>>> On Thu, Sep 25, 2008 at 03:11:27PM +0100, Garth N. Wells wrote:
>>>> Anders Logg wrote:
>>>>> On Thu, Sep 25, 2008 at 12:41:33PM +0100, Garth N. Wells wrote:
>>>>>> Nuno David Lopes wrote:
>>>>>>> Is there a simple way of setting an initial guess for an Iterative 
>>>>>>> LinearSolver? 
>>>>>>> In Umfpack and PETSc the default initial guess is the zero vector right?
>>>>>> At the moment, yes (note the UMFPACK is an LU solver, so an initial 
>>>>>> guess doesn't do anything).
>>>>>>
>>>>>> It's very simple, and I've been meaning to add an option for using an 
>>>>>> initial guess. It's also useful for Newton solvers. I'll add something 
>>>>>> in the next few days.
>>>>>>
>>>>>> Garth
>>>>> It would be natural to let the x argument always be the initial
>>>>> guess. I thought we already did this.
>>>>>
>>>>> Would it be enough to make sure that Vector::init() does not reset the
>>>>> values to zero?
>>>>>
>>>> Yes.
>>>>
>>>> The danger is if someone sends an uninitialised vector to the solver.
>>>>
>>>> Garth
>>> We can just put something like this in the init() functions:
>>>
>>>   if (x && size() == N)
>>>     return;
>>>
>>> I think we had this a while back but at some point VecZeroEntries was
>>> inserted.
>>>
>> I think that we should have an option whether or not to use an initial 
>> guess. The default can be to use the guess (as in your above code extract).
>>
>> Garth
> 
> I think it would work nicely if the solver calls x.init() and that
> will initialize x to a zero vector only if it has not already been
> initialized. 

Sounds a bit dangerous to me that Vector::init() sometimes zeroes a the 
vector, and sometimes it doesn't. Should we get rid of Vector::init() 
and use Vector::resize() and Vector::zero() instead? No ambiguity then.

Garth

Then if someone wants to reset the initial guess between
> solves, it's enough to do
> 
>   x.zero();
> 
> before calling solve().
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> DOLFIN-dev mailing list
> [email protected]
> http://www.fenics.org/mailman/listinfo/dolfin-dev


_______________________________________________
DOLFIN-dev mailing list
[email protected]
http://www.fenics.org/mailman/listinfo/dolfin-dev

Reply via email to