ParamOrbitEquinoctial

class ssapy.rvsampler.ParamOrbitEquinoctial(*args, **kwargs)[source][source]

Bases: ParamOrbitTranslator

A class for translating orbital parameters in equinoctial form, including input/output transformations and conversions between parameters and orbit objects.

Inherits:

ParamOrbitTranslator : Base class providing foundational functionality for orbital parameter translation.

Methods:

__init__(*args, **kwargs):

Initialize the ParamOrbitEquinoctial object, inheriting behavior from the ParamOrbitTranslator base class.

input_param_translation(p):

Transform input orbital parameters by scaling the first parameter (typically semi-major axis) for internal use.

parray-like

Input orbital parameters.

numpy.ndarray

Transformed orbital parameters with the first element scaled.

output_covar_translation(covar):

Transform covariance matrix for output by scaling the first row and column (typically related to semi-major axis).

covararray-like

Input covariance matrix.

numpy.ndarray

Transformed covariance matrix with scaled elements.

param_to_orbit(p):

Convert equinoctial orbital parameters to an Orbit object, ensuring constraints on eccentricity and semi-major axis.

parray-like

Equinoctial orbital parameters.

Orbit

An Orbit object created from the equinoctial parameters.

  • The semi-major axis (p[0]) is scaled and clipped to a minimum value of 1.

  • The eccentricity vector (p[3], p[4]) is normalized if its magnitude exceeds 0.999.

  • Additional propagation keywords are extracted from the full parameter set.

orbit_to_param(orbit):

Convert an Orbit object to a list of equinoctial orbital parameters and associated propagation keywords.

orbitOrbit

An Orbit object containing equinoctial elements.

list

A list of equinoctial orbital parameters and propagation keywords.

Notes:

  • This class assumes equinoctial orbital elements are used for parameterization.

  • The Orbit class is expected to provide methods for handling equinoctial elements.

  • Scaling factors (e.g., 1e7 for semi-major axis) are applied for numerical stability.

Example:

>>> translator = ParamOrbitEquinoctial()
>>> params = [7000000, 0, 0, 0.01, 0.01, 0]  # Example equinoctial parameters
>>> orbit = translator.param_to_orbit(params)
>>> new_params = translator.orbit_to_param(orbit)
>>> print(new_params)
[7000000, 0, 0, 0.01, 0.01, 0]  # Example output matching input

Methods Summary

input_param_translation(p)

orbit_to_param(orbit)

output_covar_translation(covar)

param_to_orbit(p)

Methods Documentation

input_param_translation(p)[source][source]
orbit_to_param(orbit)[source][source]
output_covar_translation(covar)[source][source]
param_to_orbit(p)[source][source]