Equation Solver<T> Class
Serves as an abstract base class for root finders.
Definition
Namespace: Numerics.NET.EquationSolvers.Generic
Assembly: Numerics.NET.Generic (in Numerics.NET.Generic.dll) Version: 9.0.3
C#
Assembly: Numerics.NET.Generic (in Numerics.NET.Generic.dll) Version: 9.0.3
public abstract class EquationSolver<T> : IterativeAlgorithm<T>
where T : Object, INumber<T>
- Inheritance
- Object → ManagedIterativeAlgorithm<T, T, SolutionReport<T, T>> → IterativeAlgorithm<T> → EquationSolver<T>
- Derived
Type Parameters
- T
Remarks
The EquationSolver class is the abstract base class of all classes that implement equation solving algorithms. The class inherits from IterativeAlgorithm<T>. All the properties and methods exposed by this interface are available to all derived classes.
This class cannot be instantiated directly. Instead, use one of the following derived classes:
- BisectionSolver – Represents a EquationSolver that uses the bisection algorithm.
- RegulaFalsiSolver – Represents a root finder that uses the regula falsi or false position algorithm.
- DekkerBrentSolver – Represents a root finder that uses Dekker and Brent's root bracketing algorithm.
- TOMS748Solver – Represents a root finder that uses Algorithm 748 from the ACM's Transactions On Mathematical Software (TOMS).
- NewtonRaphsonSolver – Represents a root finder based on the Newton-Raphson algorithm.
Constructors
Equation | Constructs a new EquationSolver object. |
Equation | Constructs a new EquationSolver object for the specified target function. |
Equation | Constructs a new EquationSolver object for the specified target function and convergence parameters. |
Equation | Constructs a new EquationSolver object for the specified target function and tolerance. |
Equation | Constructs a new EquationSolver object for the specified target function and tolerance. |
Properties
Absolute |
Gets or sets the absolute tolerance used in the
convergence test.
(Inherited from IterativeAlgorithm<T>) |
Convergence |
Gets or sets a value specifying the criterion that is
to be used in the convergence test for the algorithm.
(Inherited from IterativeAlgorithm<T>) |
Convergence |
Gets the convergence test for the algorithm.
(Inherited from IterativeAlgorithm<T>) |
Convergence |
Gets the collection of convergence tests for the algorithm.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Current |
Gets the estimated error of the approximation of the result
at the current iteration.
(Inherited from IterativeAlgorithm<T>) |
Current | Gets the lower bound of the convergence interval at the current iteration. |
Current |
Gets the approximation of the result at the current iteration.
(Inherited from IterativeAlgorithm<T>) |
Current | Gets the upper bound of the convergence interval at the current iteration. |
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>) |
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>) |
Lower | Gets or sets the lower bound for the solution. |
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>) |
Relative |
Gets or sets the relative tolerance used in the
convergence test.
(Inherited from IterativeAlgorithm<T>) |
Result |
Gets the result of an algorithm after it has executed.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Right | Gets or sets the value of the target function to solve for. |
Solution |
Gets the result of an algorithm after it has executed.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Status |
Gets the AlgorithmStatus following
an execution of the algorithm.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Target | Gets or sets the target function for the EquationSolver. |
Throw |
Gets or sets whether to throw an
exception when the algorithm fails to converge.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Upper | Gets or sets the upper bound for the solution. |
Methods
Equals | Determines whether the specified object is equal to the current object. (Inherited from Object) |
Error |
Returns the estimated error for testing whether the algorithm has converged.
(Inherited from IterativeAlgorithm<T>) |
Evaluate | Evaluates the target function and increments the number of evaluations. |
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 tasks after the iteration is completed, but before
the status of the algorithm is finalized.
(Inherited from IterativeAlgorithm<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.
(Inherited from IterativeAlgorithm<T>) |
Report |
Reports that the algoritm has failed. No further iterations will be performed.
(Inherited from IterativeAlgorithm<T>) |
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 |
Reports that the algoritm has succeeded. No further iterations will be performed.
(Inherited from IterativeAlgorithm<T>) |
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() | Attempts to find a root or zero of the target function. |
Solve( | Attempts to find the point where the target function equals the specified value. |
Test |
Checks whether the algorithm has converged.
(Inherited from IterativeAlgorithm<T>) |
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) |
Update |
Updates the current approximation in a point-wise convergence.
(Inherited from IterativeAlgorithm<T>) |
Value |
Returns the value to compare the estimated error to
when testing whether the algorithm has converged.
(Inherited from IterativeAlgorithm<T>) |
Fields
Default | Specifies the default maximum number of iterations to use when approximating the roots of the target function. |