@PublicationReference(author="Jonathan Richard Shewchuk", title="An Introduction to the Conjugate Gradient Method Without the Agonizing Pain", type=WebPage, year=1994, url="http://www.cs.cmu.edu/~quake-papers/painless-conjugate-gradient.pdf\u200e") public class ConjugateGradientWithPreconditionerMatrixSolver extends IterativeMatrixSolver<MatrixVectorMultiplierWithPreconditioner>
iterationCounter, listeners, maxIterations, rhs, shouldStop, tolerance, x0| Constructor and Description |
|---|
ConjugateGradientWithPreconditionerMatrixSolver(Vector x0,
Vector rhs)
Initializes a steepest-descent solver with the minimum values
|
ConjugateGradientWithPreconditionerMatrixSolver(Vector x0,
Vector rhs,
double tolerance)
Initializes a steepest-descent solver with some additional parameters
|
ConjugateGradientWithPreconditionerMatrixSolver(Vector x0,
Vector rhs,
double tolerance,
int maxIterations)
Initializes a steepest-descent solver with all user-definable parameters
|
| Modifier and Type | Method and Description |
|---|---|
CloneableSerializable |
clone()
Creates a new clone (shallow copy) of this object.
|
protected InputOutputPair<Vector,Vector> |
completeSolver()
Called after the final iteration.
|
boolean |
equals(java.lang.Object o) |
int |
hashCode() |
protected void |
initializeSolver(MatrixVectorMultiplierWithPreconditioner function)
Called before iterations begin in learn.
|
protected double |
iterate()
Called during each step of the iterative solver.
|
addIterativeAlgorithmListener, getInitialGuess, getIteration, getMaxIterations, getResult, getTolerance, isResultValid, learn, removeIterativeAlgorithmListener, setInitialGuess, setMaxIterations, setTolerance, stoppublic ConjugateGradientWithPreconditionerMatrixSolver(Vector x0, Vector rhs)
x0 - The initial guess for xrhs - The "b" to solve topublic ConjugateGradientWithPreconditionerMatrixSolver(Vector x0, Vector rhs, double tolerance)
x0 - The initial guess for xrhs - The "b" to solve totolerance - The minimum tolerance that this must reach before
stopping (unless maxIterations is exceeded).public ConjugateGradientWithPreconditionerMatrixSolver(Vector x0, Vector rhs, double tolerance, int maxIterations)
x0 - The initial guess for xrhs - The "b" to solve totolerance - The minimum tolerance that this must reach before
stopping (unless maxIterations is exceeded).maxIterations - The maximum number of iterations to makeprotected final void initializeSolver(MatrixVectorMultiplierWithPreconditioner function)
IterativeMatrixSolverinitializeSolver in class IterativeMatrixSolver<MatrixVectorMultiplierWithPreconditioner>function - The matrix wrapper to save for iterate.protected final double iterate()
IterativeMatrixSolveriterate in class IterativeMatrixSolver<MatrixVectorMultiplierWithPreconditioner>protected final InputOutputPair<Vector,Vector> completeSolver()
IterativeMatrixSolvercompleteSolver in class IterativeMatrixSolver<MatrixVectorMultiplierWithPreconditioner>public final CloneableSerializable clone()
CloneableSerializableclone in interface CloneableSerializableclone in class IterativeMatrixSolver<MatrixVectorMultiplierWithPreconditioner>CloneableSerializable.clone()public boolean equals(java.lang.Object o)
equals in class IterativeMatrixSolver<MatrixVectorMultiplierWithPreconditioner>public int hashCode()
hashCode in class IterativeMatrixSolver<MatrixVectorMultiplierWithPreconditioner>Object.hashCode()