[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