ManagedIterativeAlgorithm<T, TError, TReport> Class

Represents an implementation of an iterative algorithm that uses a managed driver routine.

Definition

Namespace: Extreme.Mathematics.Algorithms
Assembly: Extreme.Numerics (in Extreme.Numerics.dll) Version: 8.1.23
C#
public abstract class ManagedIterativeAlgorithm<T, TError, TReport> : IParallelized
where TReport : new(), SolutionReport<T, TError>
Inheritance
Object  →  ManagedIterativeAlgorithm<T, TError, TReport>
Derived
Implements
IParallelized

Type Parameters

T
TError
TReport

Remarks

Use ManagedIterativeAlgorithm as the base class for classes that implement iterative algorithms.

Note to inheritors: You must override the following methods: Iterate(), TestConvergence(). You may also override OnInit() and OnConvergence().

Constructors

ManagedIterativeAlgorithm<T, TError, TReport> Constructs a new managed iterative algorithm object.

Properties

ConvergenceTests Gets the collection of convergence tests for the algorithm.
EstimatedError Gets a value indicating the size of the absolute error of the result.
EvaluationsNeeded Gets the number of evaluations needed to execute the algorithm.
EvaluationsRemaining Gets the number of evaluations still available.
HasSharedDegreeOfParallelism Indicates whether the degree of parallelism is a property that is shared across instances.
IterationsNeeded Gets the number of iterations needed by the algorithm to reach the desired accuracy.
IterationsRemaining Gets the number of iterations remaining.
MaxDegreeOfParallelism Gets or sets the maximum degree of parallelism enabled by this instance.
MaxEvaluations Gets or sets the maximum number of evaluations during the calculation.
MaxIterationsGets or sets the maximum number of iterations to use when approximating the roots of the target function.
MinIterations Gets or sets the minimum iterations that have to be performed.
ParallelOptions Gets or sets the configuration for the parallel behavior of the algorithm.
Result Gets the result of an algorithm after it has executed.
SolutionReport Gets the result of an algorithm after it has executed.
Status Gets the AlgorithmStatus following an execution of the algorithm.
ThrowExceptionOnFailure Gets or sets a value indicating whether to throw an exception when the algorithm fails to converge.

Methods

EqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
FinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
GetHashCodeServes as the default hash function.
(Inherited from Object)
GetTypeGets the Type of the current instance.
(Inherited from Object)
IncrementEvaluations() Increments the number of evaluations by one.
IncrementEvaluations(Int32) Increments the number of evaluations by the specified amount.
Iterate Performs one iteration of the algorithm.
Iterated Performs tasks after the iteration is completed, but before the status of the algorithm is finalized.
MemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
OnConvergence Performs any tasks after the main algorithm has converged.
OnFailure Performs any tasks after the main algorithm has failed to converge.
OnInit Performs initialization before the first iteration.
ReportFailure Records the results of an algorithm in case it fails.
ReportResult Records the results of an algorithm.
ReportSuccess Records the results of a algorithm that converged successfully.
ResetEvaluations Resets the number of evaluations to zero.
Restart Prepares the algorithm to be run again with possibly different inputs.
Run() Runs the algorithm.
Run(ParallelOptions) Runs the algorithm using the specified parallelization options.
SetResult Sets the results of an algorithm's execution.
TestConvergence Checks whether the algorithm has converged.
ThreadSafeIncrementEvaluations() Increments the number of evaluations by one.
ThreadSafeIncrementEvaluations(Int32) Increments the number of evaluations by the specified amount.
ThrowConvergenceException Interprets the AlgorithmStatus and throws the appropriate exception.
ToStringReturns a string that represents the current object.
(Inherited from Object)

Fields

DefaultConvergenceCriterion Gets the default convergence criterion.
DefaultTolerance Gets the default absolute and relative tolerance.

See Also