[Trilinos-Users] [EXTERNAL] Recycling Conjugate Gradient (RCG) for poisson problem
Parks, Michael L
mlparks at sandia.gov
Thu Nov 29 17:11:30 MST 2012
Bart,
Thanks for letting me know. I'll modify RCG to make its behavior consistent with BlockCG with regard to left/right preconditioning.
- Mike
------------------------------
Mike Parks
http://www.sandia.gov/~mlparks
Sandia National Laboratories
------------------------------
> -----Original Message-----
> From: barche at gmail.com [mailto:barche at gmail.com] On Behalf Of Bart
> Janssens
> Sent: Thursday, November 29, 2012 12:01 PM
> To: Parks, Michael L; trilinos-users at software.sandia.gov
> Subject: Re: [EXTERNAL] [Trilinos-Users] Recycling Conjugate Gradient (RCG)
> for poisson problem
>
> On Mon, Nov 26, 2012 at 11:26 PM, Parks, Michael L <mlparks at sandia.gov>
> wrote:
> > If you have all the RHS vectors available simultaneously (I'm assuming you
> do not), using block CG might be most efficient. If the RHS vectors change
> slowly from one to the next, you can use the solution to the previous solve as
> the initial guess for the next solve. If neither of these are the case, Recycling
> CG is a good choice. I've used RCG preconditioned with ML before with no
> issues. RCG is meant to solve sequential linear systems. In particular, for the
> first system in the sequence, RCG should give exactly the same convergence
> behavior as CG. If you're not getting that behavior, there is an error
> somewhere.
> >
>
> Hi Mike,
>
> Thanks for your comments, I investigated a little further, and it seems that RCG
> doesn't like right preconditioning. I switched to left, and it works now. This
> behavior can be verified by modifying
> belos/epetra/example/BlockCG/BlockPrecCGEpetraExFile.cpp to use RCG
> instead of BlockCG and use setRightPrec instead of setLeftPrec. With right
> preconditioning, BlockCG still works, but RCG goes from 8 to
> 1300 iterations.
>
> Cheers,
>
> --
> Bart
More information about the Trilinos-Users
mailing list