AGI.Foundation.NumericalMethods Namespace 
Class  Description  

ActiveSetSequentialQuadraticProgrammingOptimizer 
An optimizer that solves OptimizerMultivariableFunctions.
This uses an active set method for handling inequality constraints and a quasiNewton method for
solving quadratic subproblems. There are no special provisions for reducing memory footprint or
handling sparse Hessian matrices so this class is not suitable for handing large, sparse optimization problems.
 
BulirschStoerIntegrator  An adaptive numerical integrator which uses successive subdivisions of the specified step size in order to measure the relative error in order to update the step size. Note that the Tolerance will affect both how accurate the integrator will be as well as how small the step size will be to achieve the desired accuracy. Having a really small tolerance in relation to large dependent variables may not be best, since it may drive the step size to values near zero over the course of the integration when a higher tolerance will still yield accurate results.  
CombinedCostFunction 
This costFunction will take the weighted and scaled sum of all of
its constituent cost functions as a new cost function.
 
CostFunctionScaling 
Derived classes of this type specify the type of scaling applied to the cost function of the optimizer.
 
CostFunctionSettings 
The settings for the cost function used by an OptimizerMultivariableFunction.
 
Covariance3By3SizeAndOrientationInterpolator 
Interpolates Covariance3By3SizeAndOrientation information.
 
Covariance6By6TwoBodyBlender 
Quadratically blends nearby covariance matrices using twobody state transition matrix propagation.
 
CubicRealPolynomial 
Represents a 3rd order polynomial function of one variable with only real coefficients.
 
DelegateBasedConstraint 
A SegmentPropagatorConstraint for use with TargetedSegmentListDifferentialCorrector
where the constraint value is produced by a delegate that computes the value
from the specified SegmentResults.
 
DelegateBasedCostFunction 
A SegmentPropagatorCostFunction for use with TargetedSegmentListParameterOptimizer
where the cost function value is produced by a delegate that computes the value
from the specified SegmentResults.
 
DelegateBasedInequalityConstraint 
A SegmentPropagatorInequalityConstraint for use with TargetedSegmentListParameterOptimizer
where the constraint value is produced by a delegate that computes the value
from the specified SegmentResults.
 
DelegateBasedVariableT 
A SegmentPropagatorVariable that uses a delegate to get and set
the relevant values in a segment's configuration.
 
DoubleExtremumFoundEventArgs 
Holds details of the LocalExtremumFound
event.
 
DoubleExtremumIndicatedEventArgs 
Holds details of the LocalExtremumIndicated event.
 
DoubleFunctionDetails 
Holds details of a function to be explored with DoubleFunctionExplorer.
 
DoubleFunctionExplorer 
Explores one or more functions where the independent variable is Double
and the dependent variable is double, looking for one or more threshold crossings
or local extrema. Interesting findings while exploring the function are reported
via events. A supplied callback is used to determine how the function is sampled.
 
DoubleFunctionSampledEventArgs 
Holds details of the FunctionSampled event.
 
DoubleFunctionSampling 
Species how sampling of a function of Double should be performed.
 
DoubleFunctionThresholdDetails 
Details of a threshold of interest in DoubleFunctionExplorer.
 
DoubleMotionInterpolator 
Interpolates and extrapolates over Motions of
double values.
 
DoubleThresholdCrossingFoundEventArgs 
Holds details of the ThresholdCrossingFound
event.
 
DoubleThresholdCrossingIndicatedEventArgs 
Holds details of the ThresholdCrossingIndicated event.
 
DurationExtremumFoundEventArgs 
Holds details of the LocalExtremumFound
event.
 
DurationExtremumIndicatedEventArgs 
Holds details of the LocalExtremumIndicated event.
 
DurationFunctionDetails 
Holds details of a function to be explored with DurationFunctionExplorer.
 
DurationFunctionExplorer 
Explores one or more functions where the independent variable is Duration
and the dependent variable is double, looking for one or more threshold crossings
or local extrema. Interesting findings while exploring the function are reported
via events. A supplied callback is used to determine how the function is sampled.
 
DurationFunctionSampledEventArgs 
Holds details of the FunctionSampled event.
 
DurationFunctionSampling 
Species how sampling of a function of Duration should be performed.
 
DurationFunctionThresholdDetails 
Details of a threshold of interest in DurationFunctionExplorer.
 
DurationThresholdCrossingFoundEventArgs 
Holds details of the ThresholdCrossingFound
event.
 
DurationThresholdCrossingIndicatedEventArgs 
Holds details of the ThresholdCrossingIndicated event.
 
ExtremeValueOfSegmentConstraint 
This constraint will take the extreme value of a
Scalar computed while propagating a SegmentPropagator.
No interpolation will be done on the values of the Scalar.
 
ExtremeValueOfSegmentCostFunction 
This costFunction will take the extreme value of a
Scalar computed while propagating a SegmentPropagator.
No interpolation will be done on the values of the Scalar.
 
ExtremeValueOfSegmentInequalityConstraint 
This constraint will take the extreme value of a
Scalar computed while propagating a SegmentPropagator.
No interpolation will be done on the values of the Scalar.
 
GaussJacksonIntegrator 
A multistep second order integrator based on the GaussJackson integration algorithm, using
a RungeKuttaFehlberg78Integrator to start the integration and a summed Adams first order integration algorithm.
 
InequalityConstraintScaling 
Derived classes of this type specify the type of scaling applied to constraints in the optimizer.
 
InequalityConstraintSettings 
The settings for an inequality constraint used by an OptimizerMultivariableFunction.
 
JulianDateExtremumFoundEventArgs 
Holds details of the LocalExtremumFound
event.
 
JulianDateExtremumIndicatedEventArgs 
Holds details of the LocalExtremumIndicated event.
 
JulianDateFunctionDetails 
Holds details of a function to be explored with JulianDateFunctionExplorer.
 
JulianDateFunctionExplorer 
Explores one or more functions where the independent variable is JulianDate
and the dependent variable is double, looking for one or more threshold crossings
or local extrema. Interesting findings while exploring the function are reported
via events. A supplied callback is used to determine how the function is sampled.
 
JulianDateFunctionSampledEventArgs 
Holds details of the FunctionSampled event.
 
JulianDateFunctionSampling 
Species how sampling of a function of JulianDate should be performed.
 
JulianDateFunctionThresholdDetails 
Details of a threshold of interest in JulianDateFunctionExplorer.
 
JulianDateThresholdCrossingFoundEventArgs 
Holds details of the ThresholdCrossingFound
event.
 
JulianDateThresholdCrossingIndicatedEventArgs 
Holds details of the ThresholdCrossingIndicated event.
 
MultivariableFunctionDifferentialSolver 
An intermediate base class for MultivariableFunctionSolvers that will solve a function
by iteration towards a solution. In each iteration, the change of the variable values will be evaluated, applied to the previous
variable values and repeated in the next iteration.
An instance of a type derived from this will pass in values of Variables into a
SolvableMultivariableFunction to drive them to satisfy this solver's constraints.
 
MultivariableFunctionEvaluationAndDerivativeResultsTResults, TDerivativeResults 
Contains the evaluated value and derivative results of a
multivariable function.
 
MultivariableFunctionSolver 
The abstract base class for MultivariableFunctionSolvers.
An instance of a type derived from this will pass in values of Variables into a
SolvableMultivariableFunction to drive them to satisfy this solver's constraints.
 
MultivariableFunctionSolverIterationResults 
The results of a single iteration of a MultivariableFunctionSolver. This includes
the unperturbed run of the Function and all of the perturbed
runs of the Function for one time through the
MultivariableFunctionSolver.
 
MultivariableFunctionSolverResultsTIterationResults 
A type storing the overall results of a MultivariableFunctionSolver. If requested,
this type will store all the iteration results from an entire
run of a MultivariableFunctionSolver.
 
MultivariableFunctionSolverStepResultTResults, TDerivativeResults 
The results evaluated in one iteration of a MultivariableFunctionSolver.
 
NewtonRaphsonMultivariableFunctionSolver 
A differential corrector for solving SolvableMultivariableFunctions.
This uses the NewtonRaphson method for solving a function with multiple variables.
 
NoScalingOnConstraint 
The value in question is not scaled.
 
NoScalingOnCostFunction 
The value in question is not scaled.
 
NoScalingOnInequalityConstraint 
The value in question is not scaled.
 
NoScalingOnVariable 
The value in question is not scaled.
 
NumericalIntegrator 
A numerical integrator which can be used to update a set of dependent variables over a given step
of an independent variable by using a differential equation defining the derivatives.
 
NumericallyComputedMultivariableFunctionDerivativeResults 
The results of an evaluation of the derivative of a SolvableMultivariableFunction when that evaluation
was done with a numerical algorithm.
 
NumericallyComputedOptimizerFunctionDerivativeResults 
The results of an evaluation of the derivative of an OptimizerMultivariableFunction when that evaluation
was done with a numerical algorithm.
 
OptimizerFunctionDerivativeEvaluatedEventArgs 
An EventArgs wrapping an OptimizerMultivariableFunctionDerivativeResults.
 
OptimizerFunctionEvaluatedEventArgs 
An EventArgs wrapping an OptimizerMultivariableFunctionResults.
 
OptimizerMultivariableFunction 
A function that can be optimized by a ParameterOptimizer.
 
OptimizerMultivariableFunctionDerivativeResults 
The results of an evaluation of the derivative of a OptimizerMultivariableFunction.
 
OptimizerMultivariableFunctionResults 
The result of OptimizerMultivariableFunction.
 
ParameterizedDateVariable 
A variable for use with TargetedSegmentListDifferentialCorrector
that will change the value of a JulianDate used in the computation of some value within the
segment propagators getting propagated.
 
ParameterizedDoubleVariable 
A variable for use with TargetedSegmentListDifferentialCorrector
that will change the value of a ValueDefinitionT used in the computation of some value within the
segment propagators getting propagated where T is a double. For example, you can set
the value of a
threshold of a stopping condition
to be the Value provided in this variable, which gets modified in the
differential corrector.
 
ParameterizedDurationVariable 
A variable for use with TargetedSegmentListDifferentialCorrector
that will change the value of a Duration used in the computation of some value within the
segment propagators getting propagated.
 
ParameterizedScalarVariable 
A variable for use with TargetedSegmentListDifferentialCorrector
that will change the value of a Scalar used in the computation of some value within the
segment propagators getting propagated. For example, you can set
the scalar density of the atmosphere
to be the Value provided in this variable, which gets modified in the
differential corrector.
 
ParameterOptimizer 
The abstract base class for ParameterOptimizers.
An instance of a type derived from this will pass in values of Variables into an
OptimizerMultivariableFunction to optimize the CostFunction,
match the equality constraints, and satisfy the
inequality constraints.
 
ParameterOptimizerIterationResults 
The results of a single iteration of a ParameterOptimizer. This includes
the unperturbed run of the Function and all of the perturbed
runs of the Function for one time through the
ParameterOptimizer.
 
QuadraticRealPolynomial 
Represents a 2nd order polynomial function of one variable with only real coefficients.
 
QuarticRealPolynomial 
Represents a 4th order polynomial function of one variable with only real coefficients.
 
RealValuedScalarFunctionAdapterT 
Adapts any RealValuedScalarFunction to implement
FunctionTIndependent, TDependent.
 
ReciprocalOfBoundValueScalingOnInequalityConstraint 
The value is scaled by the absolute value of the reciprocal of the bound value.
 
ReciprocalOfDesiredValueScalingOnConstraint 
The value is scaled by the absolute value of the reciprocal of the desired value.
 
ReciprocalOfInitialValueScalingOnVariable 
The value is scaled by the absolute value of the reciprocal of the initial value.
 
ReciprocalOfToleranceScalingOnConstraint 
The value is scaled by the reciprocal of the absolute value of the tolerance.
 
ReciprocalOfToleranceScalingOnCostFunction 
The value is scaled by the reciprocal of the absolute value of the tolerance.
 
ReciprocalOfToleranceScalingOnInequalityConstraint 
The value is scaled by the reciprocal of the absolute value of the tolerance.
 
ReciprocalOfToleranceScalingOnVariable 
The value is scaled by the reciprocal of the absolute value of the tolerance.
 
RotationalMotionInterpolator 
Interpolates and extrapolates rotational motion with the rotation represented as a
Quaternion and derivatives represented as rotation vectors.
 
RungeKutta4Integrator 
A fourthorder fixed step RungeKutta integrator.
 
RungeKuttaCashKarp45Integrator 
This is a fourth order RungeKutta algorithm with error control based on the work
of Cash and Karp which can adapt the size of the integration step based on comparing the
fifth order evaluation with the fourth order evaluation to produce an estimate of
the numerical error produced by a given integration step.
 
RungeKuttaFehlberg78Integrator 
This is a seventh order RungeKutta algorithm with error control based on the work
of Fehlberg which can adapt the size of the integration step based on comparing the
eight order evaluation with the seventh order evaluation to produce an estimate of
the numerical error produced by a given integration step.
 
RungeKuttaVerner89Integrator 
This is an eighth order RungeKutta algorithm with error control based on the work
of Verner which can adapt the size of the integration step based on comparing the
ninth order evaluation with the eighth order evaluation to produce an estimate of
the numerical error produced by a given integration step.
 
ScalarAtEndOfNumericalSegmentConstraint 
This constraint will take the final value from an instance of
SegmentResults and evaluate a Scalar at that time with that information.
The type of the states being propagated must be NumericalPropagatorState.
 
ScalarAtEndOfSegmentConstraint 
This constraint will take the initial or final value from a
SegmentResults and evaluate a Scalar at that time with that information.
 
ScalarAtEndOfSegmentCostFunction 
This costFunction will take the initial or final value from a
SegmentResults and evaluate a Scalar at that time with that information.
 
ScalarAtEndOfSegmentInequalityConstraint 
This constraint will take the initial or final value from a
SegmentResults and evaluate a Scalar at that time with that information.
 
ScalarDifferenceOfSegmentConstraint 
This constraint will take the initial and final values from a
SegmentResults and evaluate the difference of a Scalar at those times.
 
ScalarDifferenceOfSegmentCostFunction 
This costFunction will take the initial and final values from a
SegmentResults and evaluate the difference of a Scalar at those times.
 
ScalarDifferenceOfSegmentInequalityConstraint 
This inequality constraint will take the initial and final values from a
SegmentResults and evaluate the difference of a Scalar at those times.
 
SegmentPropagatorConstraint 
The base type for constraints for use with the MultivariableFunctionSolver or
ParameterOptimizer. This is the definition of the
evaluator.
 
SegmentPropagatorConstraintEvaluator 
The evaluator for SegmentPropagatorConstraint
used in a MultivariableFunctionSolver. Instances of this type return some value
computed from the SegmentListResults of all the results of propagation up to the end of the final
segment in the SegmentListPropagator that has the MultivariableFunctionSolver
that has this constraint.
 
SegmentPropagatorCostFunction 
The base type for cost functions for use with the ParameterOptimizer.
This is the definition of the
evaluator.
 
SegmentPropagatorCostFunctionEvaluator 
The evaluator for SegmentPropagatorCostFunction
used in a ParameterOptimizer. Instances of this type return some value
computed from the SegmentListResults of all the results of propagation up to the end of the final
segment in the SegmentListPropagator that has the ParameterOptimizer
that has this cost function.
 
SegmentPropagatorInequalityConstraint 
The base type for inequality constraints for use with the ParameterOptimizer.
This is the definition of the
evaluator.
 
SegmentPropagatorInequalityConstraintEvaluator 
The evaluator for SegmentPropagatorInequalityConstraint
used in a ParameterOptimizer. Instances of this type return some value
computed from the SegmentListResults of all the results of propagation up to the end of the final
segment in the SegmentListPropagator that has the ParameterOptimizer
that has this constraint.
 
SegmentPropagatorVariable 
The variable base type used within a MultivariableFunctionSolver in conjunction with
SegmentPropagators.
 
SegmentPropagatorVariableEvaluator 
The evaluator for SegmentPropagatorVariables that is
used by a MultivariableFunctionSolver directly, or to modify some part of the
configuration for the segments getting propagated in
a SegmentList.
 
SequentialQuadraticProgrammingOptimizer 
An intermediate base class for ParameterOptimizers that will optimize a cost function
by iteration towards a solution. In each iteration, the change of the variable values will be evaluated, applied to the previous
variable values and repeated in the next iteration.
An instance of a type derived from this will pass in values of Variables into an
OptimizerMultivariableFunction to optimize the CostFunction,
match the equality constraints, and satisfy the
inequality constraints.
 
SolvableMultivariableFunction 
A function that can be solved for by a MultivariableFunctionSolver.
 
SolvableMultivariableFunctionDerivativeResults 
The results of an evaluation of the derivative of a SolvableMultivariableFunction.
 
SolvableMultivariableFunctionResults 
The result of SolvableMultivariableFunction. If your function
computes more than just the values of the constraint, you will want to extend this type to store those other results.
 
SolverConstraintScaling 
Derived classes of this type specify the type of scaling applied to constraints.
 
SolverConstraintSettings 
The settings for an equality constraint used by a SolvableMultivariableFunction
or an OptimizerMultivariableFunction.
 
SolverFunctionDerivativeEvaluatedEventArgs 
An EventArgs wrapping a SolvableMultivariableFunctionDerivativeResults.
 
SolverFunctionEvaluatedEventArgs 
An EventArgs wrapping a SolvableMultivariableFunctionResults.
 
SolverVariableScaling 
Derived classes of this type specify the type of scaling applied to variables in the numerical function solver.
 
SolverVariableSettings 
The settings for a variable used by a SolvableMultivariableFunction.
 
SpecifiedValueScalingOnConstraint 
The value is scaled by the specified factor.
 
SpecifiedValueScalingOnCostFunction 
The value is scaled by the specified factor.
 
SpecifiedValueScalingOnInequalityConstraint 
The value is scaled by the specified factor.
 
SpecifiedValueScalingOnVariable 
The value is scaled by the specified factor.
 
TargetedSegmentListDifferentialCorrector 
When using the Segment Propagation Library, there will be times when you don't know exactly
what a value should be set to. For example, it may be that you don't know when a
StoppingCondition should stop, or where your
satellite should start propagating from in an InitialStateSegmentT. This type
provides a means to solve for such settings in your segments
by using some sort of MultivariableFunctionSolver to drive the trajectory to a
set of constraint values.
 
TargetedSegmentListDifferentialCorrectorResults 
The results that get returned from an evaluation of a
TargetedSegmentListDifferentialCorrector.
 
TargetedSegmentListFunction  A SolvableMultivariableFunction that can be used in a MultivariableFunctionSolver to solve for an arbitrary trajectory or other state elements based on variables and constraints. This function will be created automatically at propagation time inside any TargetedSegmentListOperator that requires a function. As such, this will not dispose the items it is configured with.  
TargetedSegmentListFunctionResults 
The results that get returned when a TargetedSegmentListFunction
is run. This is the results of the function,
not the TargetedSegmentList. It contains a SegmentListResults for
the segments that it ran, and the configuration
that was used for those segments.
 
TargetedSegmentListOptimizerFunction  A OptimizerMultivariableFunction that can be used in a ParameterOptimizer to optimize an arbitrary trajectory or other state elements based on the variables, the cost function, the equality constraints, and the inequality constraints. This function will be created automatically at propagation time inside any TargetedSegmentListOperator that requires a function. As such, this will not dispose the items it is configured with.  
TargetedSegmentListOptimizerFunctionResults 
The results that get returned when a TargetedSegmentListOptimizerFunction
is run. This is the results of the function,
not the TargetedSegmentList. It contains a SegmentListResults for
the segments that it ran, and the configuration
that was used for those segments.
 
TargetedSegmentListParameterOptimizer  Allows the constrained or unconstrained parameter optimization of trajectories by adjusting variables to minimize or maximize a cost function while satisfying equality and inequality constraints. The parameter optimizer can be run in "differential corrector" mode with a cost function as long as at least one equality constraint is added. If a cost function is set, equality constraints are optional. Inequality constraints are always optional.  
TargetedSegmentListParameterOptimizerResults 
The results that get returned from an evaluation of a
TargetedSegmentListParameterOptimizer.
 
TimeIntervalFinder 
Finds the time intervals during which a constraint on a function of time is satisfied.
This is a convenient way to use the capabilities of JulianDateFunctionExplorer.
 
TranslationalMotionInterpolator 
Interpolates and extrapolates translational motion represented as
Cartesian coordinates.

Delegate  Description  

ActiveSetSequentialQuadraticProgrammingOptimizerConvergenceChecker 
A function that tests the convergence of the optimizer by comparing the results of the current
iteration with the results of the previous iteration.
 
DelegateBasedConstraintCallback 
The delegate type used by the DelegateBasedConstraint. This must extract the value
from the results to compare to the DesiredValue of the
constraint in a TargetedSegmentListDifferentialCorrector.
 
DelegateBasedCostFunctionCallback 
The delegate type used by the DelegateBasedCostFunction. This must extract the value
from the results to minimize or maximize in a TargetedSegmentListParameterOptimizer.
 
DelegateBasedInequalityConstraintCallback 
The delegate type used by the DelegateBasedInequalityConstraint. This must extract the value
from the results to compare to the BoundValue of the
constraint in a TargetedSegmentListParameterOptimizer.
 
DoubleSampleSuggestionCallback 
A callback that is invoked to determine the next Variable at which DoubleFunctionExplorer
samples a function.
 
DoubleSimpleFunction 
A delegate that takes a Double and returns a double.
 
DurationSampleSuggestionCallback 
A callback that is invoked to determine the next duration at which DurationFunctionExplorer
samples a function.
 
DurationSimpleFunction 
A delegate that takes a Duration and returns a double.
 
JulianDateSampleSuggestionCallback 
A callback that is invoked to determine the next date at which JulianDateFunctionExplorer
samples a function.
 
JulianDateSimpleFunction 
A delegate that takes a JulianDate and returns a double.
 
RealValuedScalarFunction 
A univariate, real valued, scalar function of a variable of type double.
 
RealValuedScalarFunctionT 
A real valued, scalar function of a variable of type T. The function may be either univariate
or multivariate, based on the dimensionality of T.
 
SetVariableCallbackT 
The setter delegate for the DelegateBasedVariableT. You will want to
apply the currentValue to the appropriate element in the
configurationToModify.

Enumeration  Description  

CostFunctionGoal 
Specifies whether the cost function should be minimized or maximized.
 
DerivativeMode 
An enumeration indicating the mode in which to calculate derivatives.
This is used by certain integrators to optimize performance by only computing
"principal" derivatives at points in an algorithm where approximations can be made
without much error while improving performance. "Perturbation" derivatives are then
held constant instead of reevaluating potentially expensive computations.
 
EndsOfSegment 
Specifies if the initial state or final state of a segment should be considered.
Note that initial and final mean the initial point that propagation started from
and the final point propagated, not initial and final in a time sense.
 
ExtremumType 
Indicates whether an extremum is a minimum or a maximum.
 
FiniteDifferenceMethod 
When numerically computing the derivative of a function, this will indicate if the
finite difference method should be forward, backwards or central.
 
FunctionSegmentSlope 
Indicates the slope of a segment of a function.
 
GaussJacksonCorrectionMode 
Indicates whether to use the full derivative function when computing corrections
or whether to use only "fast" derivatives when computing corrections. For more
details on "fast" and "slow" derivatives, see DependentVariableDerivatives.
 
InequalityBoundType 
Specifies whether the inequality function value must be greater than or equal to (lower bound)
or less than or equal to (upper bound) the BoundValue.
 
IntegrationSense 
Indicates whether the integration proceeds with the independent variable increasing or decreasing.
 
InterpolationAlgorithmType 
Indicates a type of interpolation algorithm to use when interpolating data.
 
KindOfStepSize 
Indicates what kind of behavior the step size will have during integration.
 
ScalarConstraintDifference 
Specifies the manner in which the difference is computed. This applies to the scalar, ScalarDifferenceOfSegmentConstraint.
 
StepSizeInformation 
Indicates the behavior of the size of an integration step produced by an integrator.
