petsc-3.7.1 2016-05-15
Report Typos and Errors

# KSPCGNE

Applies the preconditioned conjugate gradient method to the normal equations without explicitly forming A^t*A

### Options Database Keys

-ksp_cg_type <Hermitian or symmetric -(for complex matrices only) indicates the matrix is Hermitian or symmetric Many br

Many br

Notes: eigenvalue computation routines will return information about the Many brspectrum of A^t*A, rather than A. Many br

CGNE is a general-purpose non-symmetric method. It works well when the singular values are much better behaved than Many breigenvalues. A unitary matrix is a classic example where CGNE converges in one iteration, but GMRES and CGS need N Many briterations (see Nachtigal, Reddy, and Trefethen, "How fast are nonsymmetric matrix iterations", 1992). If you intend Many brto solve least squares problems, use KSPLSQR. Many br

This is NOT a different algorithm then used with KSPCG, it merely uses that algorithm with the Many brmatrix defined by A^t*A and preconditioner defined by B^t*B where B is the preconditioner for A. Many br

This method requires that one be able to apply the transpose of the preconditioner and operator Many bras well as the operator and preconditioner. If the transpose of the preconditioner is not available then Many brthe preconditioner is used in its place so one ends up preconditioning A'A with B B. Seems odd? Many br

This only supports left preconditioning. Many br

This object is subclassed off of KSPCG Many br

### See Also

KSPCreate(), KSPSetType(), KSPType (for list of available types), KSP,
KSPCGSetType(), KSPBICG Many br

Level:beginner
Location:src/ksp/ksp/impls/cg/cgne/cgne.c
Index of all KSP routines
Table of Contents for all manual pages
Index of all manual pages