AGI.Foundation.NumericalMethods Namespace 
Class  Description  

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.  
Covariance3By3SizeAndOrientationInterpolator 
Interpolates Covariance3By3SizeAndOrientation information.
 
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.
 
DelegateBasedVariableT 
A SegmentPropagatorVariable that uses a delegate to get and set
the relevant values in a segment's configuration. All segments should be
made with a helper method on the concrete SegmentDefinition to assist in the proper creation
of one of these variables.
 
DifferentialCorrectorStepResult 
The results evaluated in one iteration of a MultivariableFunctionDifferentialSolver.
 
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.
 
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.
 
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.
 
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.
 
MultivariableFunctionSolverResults 
A type storing the overall results of a MultivariableFunctionSolver. If requested,
this type will store all the MultivariableFunctionSolverIterationResults from an entire
run 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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
ScalarDifferenceOfSegmentConstraint 
This 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. 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.
 
SegmentPropagatorVariable 
The base type for variables for use with a MultivariableFunctionSolver that uses
SegmentPropagators in computing its results. This is
the definition of the evaluator.
 
SegmentPropagatorVariableEvaluator 
The evaluator for the SegmentPropagatorVariable that get
used by a MultivariableFunctionSolver to modify some part of the
configurations of the segments getting propagated in
a SegmentList.
 
SolvableMultivariableFunction 
A function that can be solved for by a MultivariableFunctionSolver.
 
SolvableMultivariableFunctionDerivativeResults 
The results of an evaluation of the derivative of a SolvableMultivariableFunction.
 
SolvableMultivariableFunctionEvaluationAndDerivativeResults 
Contains the evaluated value and derivative results of a
SolvableMultivariableFunctions .
 
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 in the numerical function solver.
 
SolverConstraintSettings 
The settings for a constraint used by a SolvableMultivariableFunction.
 
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.
 
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 you
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  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.  
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.
 
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  

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.
 
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
add the currentValue to the appropriate setting in the
configurationToModify.

Enumeration  Description  

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