AGI.Foundation.NumericalMethods Namespace |
Class | Description | |
---|---|---|
ActiveSetSequentialQuadraticProgrammingOptimizer |
An optimizer that solves OptimizerMultivariableFunctions.
This uses an active set method for handling inequality constraints and a quasi-Newton 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 two-body 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 multi-step second order integrator based on the Gauss-Jackson 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 Newton-Raphson 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 fourth-order fixed step Runge-Kutta integrator.
| |
RungeKuttaCashKarp45Integrator |
This is a fourth order Runge-Kutta 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 Runge-Kutta 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 Runge-Kutta 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.
|