

| 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
 1.5.5