public class DefaultIterativeLinearSolverEvent extends IterativeLinearSolverEvent
IterativeLinearSolverEvent.source| Constructor and Description | 
|---|
| DefaultIterativeLinearSolverEvent(Object source,
                                 int iterations,
                                 RealVector x,
                                 RealVector b,
                                 double rnorm)Creates a new instance of this class. | 
| DefaultIterativeLinearSolverEvent(Object source,
                                 int iterations,
                                 RealVector x,
                                 RealVector b,
                                 RealVector r,
                                 double rnorm)Creates a new instance of this class. | 
| Modifier and Type | Method and Description | 
|---|---|
| double | getNormOfResidual()Returns the norm of the residual. | 
| RealVector | getResidual()
 Returns the residual. | 
| RealVector | getRightHandSideVector()Returns the current right-hand side of the linear system to be solved. | 
| RealVector | getSolution()Returns the current estimate of the solution to the linear system to be
 solved. | 
| boolean | providesResidual()Returns  trueifIterativeLinearSolverEvent.getResidual()is supported. | 
getIterationsgetSource, toStringpublic DefaultIterativeLinearSolverEvent(Object source, int iterations, RealVector x, RealVector b, RealVector r, double rnorm)
x, b,
 r. Therefore the user must make sure that these vectors are
 either unmodifiable views or deep copies of the same vectors actually
 used by the source. Failure to do so may compromise subsequent
 iterations of the source. If the residual vector r is
 null, then getResidual() throws a
 MathUnsupportedOperationException, and
 providesResidual() returns false.source - the iterative solver which fired this eventiterations - the number of iterations performed at the time
 this event is createdx - the current estimate of the solutionb - the right-hand side vectorr - the current estimate of the residual (can be null)rnorm - the norm of the current estimate of the residualpublic DefaultIterativeLinearSolverEvent(Object source, int iterations, RealVector x, RealVector b, double rnorm)
x, b.
 Therefore the user must make sure that these vectors are either
 unmodifiable views or deep copies of the same vectors actually used by
 the source. Failure to do so may compromise subsequent iterations
 of the source. Callling getResidual() on instances
 returned by this constructor throws a
 MathUnsupportedOperationException, while
 providesResidual() returns false.source - the iterative solver which fired this eventiterations - the number of iterations performed at the time
 this event is createdx - the current estimate of the solutionb - the right-hand side vectorrnorm - the norm of the current estimate of the residualpublic double getNormOfResidual()
conjugate gradient method computes a sequence
 of residuals, the norm of which is cheap to compute. However, due to
 accumulation of round-off errors, this residual might differ from the
 true residual after some iterations. See e.g. A. Greenbaum and
 Z. Strakos, Predicting the Behavior of Finite Precision Lanzos and
 Conjugate Gradient Computations, Technical Report 538, Department of
 Computer Science, New York University, 1991 (available
 here).getNormOfResidual in class IterativeLinearSolverEventpublic RealVector getResidual()
Returns the residual. This is an optional operation, as all iterative linear solvers do not provide cheap estimate of the updated residual vector, in which case
MathUnsupportedOperationException,IterativeLinearSolverEvent.providesResidual() returns false.
 The default implementation throws a
 MathUnsupportedOperationException. If this method is overriden,
 then IterativeLinearSolverEvent.providesResidual() should be overriden as well.
 
MathUnsupportedOperationException
 if no residual vector r was provided at construction time.getResidual in class IterativeLinearSolverEventpublic RealVector getRightHandSideVector()
IterativeLinearSolver.getRightHandSideVector in class IterativeLinearSolverEventpublic RealVector getSolution()
IterativeLinearSolver.getSolution in class IterativeLinearSolverEventpublic boolean providesResidual()
true if IterativeLinearSolverEvent.getResidual() is supported. The default
 implementation returns false.
 This implementation returns true if a non-null value was
 specified for the residual vector r at construction time.providesResidual in class IterativeLinearSolverEventtrue if r != nullCopyright © 2003–2016 The Apache Software Foundation. All rights reserved.