Conjugate
            
            Definition
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 9.1.5
public class ConjugateGradientSquaredSolver<T> : IterativeSparseSolver<T>
- Inheritance
- Object → ManagedIterativeAlgorithm<DenseVector<T>, T, SolutionReport<DenseVector<T>, T>> → IterativeSparseSolver<T> → ConjugateGradientSquaredSolver<T>
Type Parameters
- T
Remarks
Use the ConjugateGradientSquaredSolver<T> class to solve large, non-symmetric sparse systems of equations using the Conjugate Gradient Squared (CGS) method. Convergence can sometimes be erratic, and may sometimes break down completely.
To solve a system of equations using this class, construct a new instance, passing the matrix of the system to the constructor. You can optionally set a preconditioner by setting the Preconditioner property. By default, a JacobiPreconditioner<T> is used. Finally, the Solve() method solves the system.
Once the algorithm finished, the Status property indicates whether the algorithm completed successfully.
Constructors
| Conjugate | 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. (Inherited from IterativeSparseSolver<T>) | 
| 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. (Inherited from IterativeSparseSolver<T>) | 
| Left | Gets or sets the Preconditioner<T>. (Inherited from IterativeSparseSolver<T>) | 
| Linear | Gets the sparse matrix of the system of equations. (Inherited from IterativeSparseSolver<T>) | 
| 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>. (Inherited from IterativeSparseSolver<T>) | 
| Residuals | Gets the vector containing the residuals of the solution. (Inherited from IterativeSparseSolver<T>) | 
| Residual | Gets the convergence test based on the size of the residuals. (Inherited from IterativeSparseSolver<T>) | 
| Result | Gets or sets the solution of the system of equations. (Inherited from IterativeSparseSolver<T>) | 
| Right | Gets or sets the right hand side of the system of equations. (Inherited from IterativeSparseSolver<T>) | 
| 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. (Inherited from IterativeSparseSolver<T>) | 
| Status | Gets the AlgorithmStatus following
            an execution of the algorithm. (Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) | 
| Throw | Gets or sets 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. (Overrides ManagedIterativeAlgorithm<T, TError, TReport>.Iterate()) | 
| Iterated | Performs operations after the iteration stage of the algorithm is complete. (Inherited from IterativeSparseSolver<T>) | 
| 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 when the algorithm is first run. (Overrides IterativeSparseSolver<T>.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. (Inherited from IterativeSparseSolver<T>) | 
| Solve( | Solves the system of equations for the specified right-hand side and returns the result. (Inherited from IterativeSparseSolver<T>) | 
| Solve( | Solves the system of equations for the specified right-hand side and returns the result. (Inherited from IterativeSparseSolver<T>) | 
| 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) |