

Public Member Functions | |
| cgSolver (int n, real *x, const real *b, ILSI_Comm &comm_) | |
| real * | getSolution (void) |
| double | getResidual (void) const |
| void | iterate (void) |
Private Attributes | |
| int | n |
| const real * | b |
| real * | x_k |
| allocVector | r_k |
| allocVector | s_k |
| allocVector | tmp |
| ILSI_Comm & | comm |
| double | residualMagSq |
As an algorithm reference, I recommend J. Shewchuk's excellent article "An Introduction to the Conjugate Gradient Method Without the Agonizing Pain"
Orion Sky Lawlor, olawlor@acm.org, 1/16/2003
Definition at line 16 of file cg.C.
Definition at line 42 of file cg.C.
References b, comm, copy(), ILSI_Comm::dotProduct(), ILSI_Comm::matrixVectorProduct(), n, r_k, residualMagSq, s_k, sub(), tmp, and x_k.

| double cgSolver::getResidual | ( | void | ) | const [inline] |
| void cgSolver::iterate | ( | void | ) |
Definition at line 54 of file cg.C.
References alpha, beta, comm, ILSI_Comm::dotProduct(), fma(), ILSI_Comm::matrixVectorProduct(), n, r_k, residualMagSq, s_k, tmp, and x_k.

int cgSolver::n [private] |
const real* cgSolver::b [private] |
real* cgSolver::x_k [private] |
allocVector cgSolver::r_k [private] |
allocVector cgSolver::s_k [private] |
allocVector cgSolver::tmp [private] |
ILSI_Comm& cgSolver::comm [private] |
double cgSolver::residualMagSq [private] |
1.5.5