Click or drag to resize

TargetedSegmentListFunction Class

The SolvableMultivariableFunctionthat can be used in a MultivariableFunctionSolver to solve for a specific trajectory based on variables and constraints.

Instances of this type are intended to be created on the fly at propagation time inside the TargetedSegmentListOperator that needs a function. As such, this will not dispose the items it is configured with.

Inheritance Hierarchy

Namespace:  AGI.Foundation.NumericalMethods
Assembly:  AGI.Foundation.SegmentPropagation (in AGI.Foundation.SegmentPropagation.dll) Version: 19.2.399.0 (19.2.399.0)
Syntax
public class TargetedSegmentListFunction : SolvableMultivariableFunction

The TargetedSegmentListFunction type exposes the following members.

Constructors
Properties
  NameDescription
Public propertyDifferenceMethod
Gets or sets how the default numerically computed derivative of this function should be computed.
(Inherited from SolvableMultivariableFunction.)
Public propertyIsThreadSafe
Gets a value indicating whether the methods on this instance are safe to call from multiple threads simultaneously.
(Overrides SolvableMultivariableFunctionIsThreadSafe.)
Public propertyPerturbationValues
Gets or sets the values to use to perturb the variables when the derivative is computed numerically. This can be ignored if the concrete function computes its derivative analytically.
(Inherited from SolvableMultivariableFunction.)
Top
Methods
  NameDescription
Public methodApplyResults
For SolvableMultivariableFunctions that have state, there may be times when that state should be manually set on a function (sometimes for performance reasons, when the function will be called multiple times and it should start from where it left off). This method will manually set that state, if needed.
(Overrides SolvableMultivariableFunctionApplyResults(SolvableMultivariableFunctionResults).)
Protected methodCallDerivativeEvaluationEvent (Inherited from SolvableMultivariableFunction.)
Public methodClone
Clones this object using the specified context.
(Overrides SolvableMultivariableFunctionClone(CopyContext).)
Public methodDispose
Releases any resources associated with this instance.
(Inherited from SolvableMultivariableFunction.)
Protected methodDispose(Boolean)
Releases any resources associated with this instance.
(Inherited from SolvableMultivariableFunction.)
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Public methodEvaluate(Double, ITrackCalculationProgress)
Evaluates the function. The SolvableMultivariableFunctionResults returned must include the computed constraints in the order that they are in the Constraints. If your function computes more than just constraint values you should extend SolvableMultivariableFunctionResults to contain those additional results.
(Overrides SolvableMultivariableFunctionEvaluate(Double, ITrackCalculationProgress).)
Public methodEvaluate(Double, Int32, Boolean, ITrackCalculationProgress)
Evaluates the function and the Jacobian. This will call both the DerivativeEvaluationEvent and the NormalFunctionEvaluationEvent events.
(Inherited from SolvableMultivariableFunction.)
Public methodEvaluateDerivative(Double, Boolean, ITrackCalculationProgress)
Evaluates the Jacobian of this function. The default implementation of this method will numerically compute the Jacobian. To do that, the value of the function at the variables will be computed. When using the default implementation, the PerturbationValues must be set.
(Inherited from SolvableMultivariableFunction.)
Public methodEvaluateDerivative(Double, Boolean, SolvableMultivariableFunctionResults, ITrackCalculationProgress)
Evaluates the Jacobian of this function. The default implementation of this method will numerically compute the Jacobian. To do that, the value of the function at the variables will be computed.
(Inherited from SolvableMultivariableFunction.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Events
  NameDescription
Public eventDerivativeEvaluationEvent
This event gets raised when the derivative of the function is evaluated. This event will be raised in whatever thread the derivative is evaluated in. If you override the EvaluateDerivative(Double, Boolean, SolvableMultivariableFunctionResults, ITrackCalculationProgress) method, you should call this event.
(Inherited from SolvableMultivariableFunction.)
Public eventNormalFunctionEvaluationEvent
This event gets raised when the nominal function is evaluated. This event will be raised in whatever thread the nominal function run was. This should be called in the concrete Evaluate(Double, ITrackCalculationProgress) method.
(Inherited from SolvableMultivariableFunction.)
Public eventPerturbedFunctionEvaluationEvent
An event that gets raised when a perturbed function is computed as part of the derivation of the derivative of the function. This event will be raised in whatever thread the function was evaluated in. This can be ignored if the concrete function computes its derivative analytically.
(Inherited from SolvableMultivariableFunction.)
Top
Remarks
This function assumes that the variable values passed into its Evaluate method are the deltas from the initial value of the variable, not the sum of the initial value of what the variable is and the delta as computed by the MultivariableFunctionSolver.
See Also