This abstract class defines preconditioned iterative solvers. When A is ill-conditioned, instead of solving system A · x = b directly, it is preferable to solve either
Concrete implementations of this abstract class must be provided with the
preconditioner M, as a RealLinearOperator.
| Access | Constructor and Description |
|---|---|
| public | PreconditionedIterativeLinearSolver(final int
the maximum number of iterations maxIterations)Creates a new instance of this class, with default iteration manager. |
| public | PreconditionedIterativeLinearSolver(final IterationManager
the custom iteration manager manager)Creates a new instance of this class, with custom iteration manager. |
| Modifier and Type | Method and Description |
|---|---|
| protected static void | checkParameters(final RealLinearOperator
the linear operator A of the system a, final RealLinearOperator the preconditioner, M (can be m, final RealVector null)the right-hand side vector b, final RealVector the initial guess of the solution x0)Performs all dimension checks on the parameters of
|
| public RealVector | Returns: a new vector containing the solutionthe linear operator A of the system a, final RealLinearOperator the preconditioner, M (can be m, final RealVector null)the right-hand side vector b, final RealVector the initial guess of the solution x0)Returns an estimate of the solution to the linear system A · x = b. |
| public RealVector | solve(final RealLinearOperator
the linear operator A of the system a, final RealVector the right-hand side vector b)Overrides org. Returns an estimate of the solution to the linear system A · x = b. |
| public RealVector | solve(final RealLinearOperator
the linear operator A of the system a, final RealVector the right-hand side vector b, final RealVector the initial guess of the solution x0)Overrides org. Returns an estimate of the solution to the linear system A · x = b. |
| public RealVector | Returns: a new vector containing the solutionthe linear operator A of the system a, RealLinearOperator the preconditioner, M (can be m, RealVector null)the right-hand side vector b)Returns an estimate of the solution to the linear system A · x = b. |
| public abstract RealVector | Returns: a reference tox0 (shallow copy) updated with the
solutionthe linear operator A of the system a, RealLinearOperator the preconditioner, M (can be m, RealVector null)the right-hand side vector b, RealVector the initial guess of the solution x0)Returns an estimate of the solution to the linear system A · x = b. |
| public RealVector | solveInPlace(final RealLinearOperator
the linear operator A of the system a, final RealVector the right-hand side vector b, final RealVector initial guess of the solution x0)Implements abstract org. Returns an estimate of the solution to the linear system A · x = b. |
| PreconditionedIterativeLinearSolver | back to summary |
|---|---|
| public PreconditionedIterativeLinearSolver(final int maxIterations) Creates a new instance of this class, with default iteration manager.
| |
| PreconditionedIterativeLinearSolver | back to summary |
|---|---|
| public PreconditionedIterativeLinearSolver(final IterationManager manager) throws NullArgumentException Creates a new instance of this class, with custom iteration manager.
| |
| checkParameters | back to summary |
|---|---|
| protected static void checkParameters(final RealLinearOperator a, final RealLinearOperator m, final RealVector b, final RealVector x0) throws NullArgumentException, NonSquareOperatorException, DimensionMismatchException Performs all dimension checks on the parameters of
| |
| solve | back to summary |
|---|---|
| public RealVector solve(final RealLinearOperator a, final RealLinearOperator m, final RealVector b, final RealVector x0) throws NullArgumentException, NonSquareOperatorException, DimensionMismatchException, MaxCountExceededException Returns an estimate of the solution to the linear system A · x = b.
| |
| solve | back to summary |
|---|---|
| public RealVector solve(final RealLinearOperator a, final RealVector b) throws NullArgumentException, NonSquareOperatorException, DimensionMismatchException, MaxCountExceededException Overrides org. Doc from org. Returns an estimate of the solution to the linear system A · x = b.
| |
| solve | back to summary |
|---|---|
| public RealVector solve(final RealLinearOperator a, final RealVector b, final RealVector x0) throws NullArgumentException, NonSquareOperatorException, DimensionMismatchException, MaxCountExceededException Overrides org. Doc from org. Returns an estimate of the solution to the linear system A · x = b.
| |
| solve | back to summary |
|---|---|
| public RealVector solve(RealLinearOperator a, RealLinearOperator m, RealVector b) throws NullArgumentException, NonSquareOperatorException, DimensionMismatchException, MaxCountExceededException Returns an estimate of the solution to the linear system A · x = b.
| |
| solveInPlace | back to summary |
|---|---|
| public abstract RealVector solveInPlace(RealLinearOperator a, RealLinearOperator m, RealVector b, RealVector x0) throws NullArgumentException, NonSquareOperatorException, DimensionMismatchException, MaxCountExceededException Returns an estimate of the solution to the linear system A · x = b. The solution is computed in-place (initial guess is modified).
| |
| solveInPlace | back to summary |
|---|---|
| public RealVector solveInPlace(final RealLinearOperator a, final RealVector b, final RealVector x0) throws NullArgumentException, NonSquareOperatorException, DimensionMismatchException, MaxCountExceededException Implements abstract org. Doc from org. Returns an estimate of the solution to the linear system A · x = b. The solution is computed in-place (initial guess is modified).
| |