petsc-3.3-p7 2013-05-11

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

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

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

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

This only supports left preconditioning.

Developer Notes: How is this related to the preconditioned LSQR implementation?

This object is subclassed off of KSPCG

See Also

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

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