Iterative Sparse Solver<T> Class
Definition
Assembly: Extreme.Numerics (in Extreme.Numerics.dll) Version: 8.1.23
public abstract class IterativeSparseSolver<T> : ManagedIterativeAlgorithm<DenseVector<T>, T, SolutionReport<DenseVector<T>, T>>
- Inheritance
- Object → ManagedIterativeAlgorithm<DenseVector<T>, T, SolutionReport<DenseVector<T>, T>> → IterativeSparseSolver<T>
- Derived
Type Parameters
- T
Remarks
IterativeSparseSolver<T> serves as the abstract base class for classes that implement iterative solvers for sparse linear systems.
The only operation the matrix of the linear system must support is matrix-vector multiplication. All matrix types support this operation, but any object whose type inherits from LinearOperator will do.
IterativeSparseSolver<T> is an abstract base class and cannot be instantiated directly. Instead, use one of the derived classes:
To solve a system of equations, create a new instance of one of the classes above and pass the matrix or linear operator to the constructor. You can optionally set the Preconditioner property to a corresponding instance of one of the Preconditioner<T> classes. Finally, call the Solve() method to run the algorithm.
Constructors
| Iterative | Constructs a new IterativeSparseSolver<T> object. |
| Iterative | Constructs a new iterative sparse solver object. |
Properties
| Convergence |
Gets the collection of convergence tests for the algorithm.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
| Estimated |
Gets a value indicating the size of the absolute
error of the result.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
| Evaluations |
Gets the number of evaluations needed to execute the algorithm.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
| Evaluations |
Gets the number of evaluations still available.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
| Has |
Indicates whether the degree of parallelism is a property that is shared
across instances.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
| Initial | Gets or sets the solution of the system of equations. |
| Iterations |
Gets the number of iterations needed by the
algorithm to reach the desired accuracy.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
| Iterations |
Gets the number of iterations remaining.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
| Last | Gets the vector containing the residuals of the solution. |
| Left | Gets or sets the Preconditioner<T>. |
| Linear | Gets the sparse matrix of the system of equations. |
| Max |
Gets or sets the maximum degree of parallelism enabled by this instance.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
| Max |
Gets or sets the maximum number of evaluations during the calculation.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
| Max | Gets or sets the maximum number of iterations
to use when approximating the roots of the target
function.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
| Min |
Gets or sets the minimum iterations that have to be performed.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
| Parallel |
Gets or sets the configuration for the parallel behavior of the algorithm.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
| Preconditioner | Gets or sets the Preconditioner<T>. |
| Residuals | Gets the vector containing the residuals of the solution. |
| Residual | Gets the convergence test based on the size of the residuals. |
| Result |
Gets or sets the solution of the system of equations.
(Overrides ManagedIterativeAlgorithm<T, TError, TReport>.Result) |
| Right | Gets or sets the right hand side of the system of equations. |
| Solution |
Gets the result of an algorithm after it has executed.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
| Solution | Gets the convergence test based on the size of the residuals. |
| Status |
Gets the AlgorithmStatus following
an execution of the algorithm.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
| Throw |
Gets or sets a value indicating whether to throw an
exception when the algorithm fails to converge.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Methods
| Equals | Determines whether the specified object is equal to the current object. (Inherited from Object) |
| Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object) |
| Get | Serves as the default hash function. (Inherited from Object) |
| Get | Gets the Type of the current instance. (Inherited from Object) |
| Increment |
Increments the number of evaluations by one.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
| Increment |
Increments the number of evaluations by the specified amount.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
| Iterate |
Performs one iteration of the algorithm.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
| Iterated |
Performs operations after the iteration stage of the algorithm is complete.
(Overrides ManagedIterativeAlgorithm<T, TError, TReport>.Iterated()) |
| Memberwise | Creates a shallow copy of the current Object. (Inherited from Object) |
| OnConvergence |
Performs any tasks after the main algorithm has converged.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
| OnFailure |
Performs any tasks after the main algorithm has failed to converge.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
| OnInit |
Performs initialization tasks.
(Overrides ManagedIterativeAlgorithm<T, TError, TReport>.OnInit()) |
| Report |
Records the results of an algorithm in case it fails.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
| Report |
Records the results of an algorithm.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
| Report |
Records the results of a algorithm that converged successfully.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
| Reset |
Resets the number of evaluations to zero.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
| Restart |
Prepares the algorithm to be run again with possibly different inputs.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
| Run() |
Runs the algorithm.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
| Run( |
Runs the algorithm using the specified parallelization options.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
| Set |
Sets the results of an algorithm's execution.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
| Solve() | Solves the system of equations and returns the solution. |
| Solve( | Solves the system of equations for the specified right-hand side and returns the result. |
| Solve( | Solves the system of equations for the specified right-hand side and returns the result. |
| Test |
Checks whether the algorithm has converged.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
| Thread |
Increments the number of evaluations by one.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
| Thread |
Increments the number of evaluations by the specified amount.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
| Throw |
Interprets the AlgorithmStatus and
throws the appropriate exception.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
| ToString | Returns a string that represents the current object. (Inherited from Object) |