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

Namespace: Extreme.Mathematics
Assembly: Extreme.Numerics (Extreme.Numerics)

Syntax

Visual Basic (Declaration)
Public MustInherit Class ManagedIterativeAlgorithm _
	Inherits IterativeAlgorithm
C#
public abstract class ManagedIterativeAlgorithm : IterativeAlgorithm
C++
public ref class ManagedIterativeAlgorithm abstract : public IterativeAlgorithm

Methods

IconTypeDescription
Equals(Object)
Determines whether the specified Object is equal to the current Object.
Finalize()
Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection.
GetHashCode()
Serves as a hash function for a particular type.
GetType()
Gets the Type of the current instance.
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.
MemberwiseClone()
Creates a shallow copy of the current 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.
Run()
Runs the algorithm.
SetResultProperties(Object, Double, AlgorithmStatus, Int32)
Sets the results of an algorithm's execution.
SetResultProperties(Object, Double)
Sets the results of an algorithm's execution.
TestConvergence()
Checks whether the algorithm has converged.
ThrowException()
Interprets the AlgorithmStatus and throws the appropriate exception.
ToString()
Returns a String that represents the current Object.

Constructors

IconTypeDescription
ManagedIterativeAlgorithmNew()
Constructs a new managed iterative algorithm object.

Properties

IconTypeDescription
AbsoluteTolerance
Gets or sets the absolute tolerance used in the convergence test.
ConvergenceCriterion
Gets or sets a value specifying the criterion that is to be used in the convergence test for the algorithm.
ConvergenceTest
Gets or sets the ConvergenceTest 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.
IterationResultCode
Gets the AlgorithmStatus following an execution of the algorithm.
IterationsNeeded
Gets the number of iterations needed by the algorithm to reach the desired accuracy.
IterationsRemaining
Gets the number of iterations remaining.
MaxEvaluations
Gets or sets the maximum number of evaluations during the calculation.
MaxIterations
Gets or sets the maximum number of iterations to use when approximating the roots of the target function.
RelativeTolerance
Gets or sets the relative tolerance used in the convergence test.
Result
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.

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().

Inheritance Hierarchy

System.Object
  Extreme.Mathematics.IterativeAlgorithm
    Extreme.Mathematics.ManagedIterativeAlgorithm