[Trilinos-Users] AztecOO and Problem Size

Mike Heroux maherou at sandia.gov
Sat Nov 19 22:49:26 MST 2005


 Ammar,

CG does not typically compute the true residual vector during iterations,
but instead uses an implicit form that is inexact in floating point
arithmetic but much cheaper to compute.  The error you are seeing comes from
AztecOO seeing the difference between the implicit residual norm and the
true norm, which is computed at the end of the solve.

There is a variety of convergence tests available for AztecOO.  The default
is the implicit 2-norm of the residual, divided by the 2-norm of the initial
residual.  I don't know which one you are using, or if you have a non-zero
initial guess, so I can't give you precise advice, but it is possible that
setting AZ_conv to AZ_noscaled might help.  These options are defined on
page 17 of the AztecOO users guide:

http://software.sandia.gov/trilinos/packages/aztecoo/AztecOOUserGuide.pdf

If you are having trouble with CG on this problem, as these diagnostic might
indicate, you might consider using GMRES or Bi-CGSTAB.

Mike

> -----Original Message-----
> From: trilinos-users-bounces at software.sandia.gov 
> [mailto:trilinos-users-bounces at software.sandia.gov] On Behalf 
> Of Ammar T. Al-Sayegh
> Sent: Saturday, November 19, 2005 7:22 PM
> To: trilinos-users at software.sandia.gov
> Subject: Re: [Trilinos-Users] AztecOO and Problem Size
> 
> Hi Again,
> 
> I just figured out that the first issue is caused by not 
> defining the right preconditioner for the solver. I set 
> AZ_precond to AZ_dom_decomp, and AZ_subdomain_solve to 
> AZ_icc. This seems to have taken care of the couple of the 
> "matrix not be symmetric" warning problem. I also realized 
> that covergence does depend on the number of processors after 
> I enabled full output and saw the note about convergence on 
> the solution header.
> 
> I'm still trying to resolve the second issue, though.
> That is the "Epetra ERROR -3, AztecOO.cpp, line 824".
> I can see from the output notes that this maybe be caused by 
> the big difference between Actual Residual and Recursive 
> Residual. However, even though the difference is in order of 
> 10^7 magnitude, the two numbers are trivially small (Actual 
> residual = 
> 4.2508e-07,   Recursive residual =  6.1268e-14),
> and both are well below my threshold of 10e-6. So which of 
> these two residuals is more accurate? I assume that the 
> actual is. If that's the case, why would we bother with the 
> recursive residual value?
> Can we tell AztecOO to set convergence at Actual Residual 
> only and ignore Recursive Residual without giving any errors?
> 
> Thanks.
> 
> 
> -ammar
> 
> 
> 
> ----- Original Message -----
> From: "Ammar T. Al-Sayegh" <alsayegh at purdue.edu>
> To: <trilinos-users at software.sandia.gov>
> Sent: Saturday, November 19, 2005 6:27 PM
> Subject: [Trilinos-Users] AztecOO and Problem Size
> 
> 
> > Hi All,
> > 
> > I'm using AztecOO to solve a reduced linear problem
> > (reuction done with EpetraExt_SubCopy_CrsMatrix fix).
> > Since the reduced matrix is symmetric positive definite,
> > I am using AZ_gc for higher efficiency. However, I keep
> > getting the following warning message:
> > 
> > AZ_check_options: WARNING: Preconditioned matrix may
> > not be symmetric (due to overlap).
> > 
> > Even with clearly symmteric matrices like this one:
> > 
> > Number of Global Rows        = 3
> > Number of Global Cols        = 3
> > Number of Global Diagonals   = 3
> > Number of Global Nonzeros    = 9
> > Global Maximum Num Entries   = 3
> > 
> > Number of My Rows        = 3
> > Number of My Cols        = 3
> > Number of My Diagonals   = 3
> > Number of My Nonzeros    = 9
> > My Maximum Num Entries   = 3
> > 
> > P   Row   Col    Value     
> > 0    3     3     0.805556 
> > 0    3     4     0    
> > 0    3     5     0    
> > 0    4     3     0    
> > 0    4     4     6.21571e-10    
> > 0    4     5    -1.11883e-05    
> > 0    5     3     0    
> > 0    5     4    -1.11883e-05    
> > 0    5     5     0.268519    
> > 
> > Why does AztecOO think that this matrix could not be
> > symmetric? and how can I prevent it from thinking this
> > way?
> > 
> > The other issue I have is with problem size. Once my
> > problem exceeds certain size I get the following error:
> > 
> > Epetra ERROR -3, AztecOO.cpp, line 824
> > 
> > on a single processor, which indicates that a numerical
> > loss of accuracy has occured. With more than a single
> > processor, I lose convergence even smaller problem sizes,
> > without even getting this error message.
> > 
> > Why am I losing convergence with bigger problem sizes?
> > and how come the same problem size that will solve with
> > single processor will not solve on more processors?
> > 
> > Thanks.
> > 
> > 
> > -ammar
> > 
> > _______________________________________________
> > Trilinos-Users mailing list
> > Trilinos-Users at software.sandia.gov
> > http://software.sandia.gov/mailman/listinfo/trilinos-users
> > 
> >
> 
> _______________________________________________
> Trilinos-Users mailing list
> Trilinos-Users at software.sandia.gov
> http://software.sandia.gov/mailman/listinfo/trilinos-users
> 





More information about the Trilinos-Users mailing list