pespace.detector._jax_impl._orbit_jax

Jax implementation of the detector.orbit module.

Classes

ConstellationVectorTuple(n1, n2, n3, x1, x2, x3)

_KaplerianHeliocentricJax(params)

JAX backend for Keplerian heliocentric orbit vector computation.

_KeplerianGeocentricJax(orbit_params)

JAX backend for Keplerian geocentric orbit vector computation.

class pespace.detector._jax_impl._orbit_jax.ConstellationVectorTuple(n1, n2, n3, x1, x2, x3)

Bases: tuple

_asdict()

Return a new dict which maps field names to their values.

_field_defaults = {}
_fields = ('n1', 'n2', 'n3', 'x1', 'x2', 'x3')
classmethod _make(iterable)

Make a new ConstellationVectorTuple object from a sequence or iterable

_replace(**kwds)

Return a new ConstellationVectorTuple object replacing specified fields with new values

n1

Alias for field number 0

n2

Alias for field number 1

n3

Alias for field number 2

x1

Alias for field number 3

x2

Alias for field number 4

x3

Alias for field number 5

class pespace.detector._jax_impl._orbit_jax._KeplerianGeocentricJax(orbit_params)[source]

Bases: OrbitModelBase

JAX backend for Keplerian geocentric orbit vector computation.

tree_flatten()[source]
classmethod tree_unflatten(aux, children)[source]
get_constellation_vectors(time)[source]

Compute constellation vectors at given times (JAX).

Parameters:

time (float) – Time in seconds.

Returns:

Containing: - n1, n2, n3: Unit vectors along the three links; - x1, x2, x3: Position vectors of the three nodes in SSB frame (in seconds);

Return type:

ConstellationVectorTuple

arm_length_sec(time)[source]

Return the constant arm-length in seconds.

For analytic Keplerian orbits, the arm-length is a constant. The time parameter is retained only for interface consistency with OrbitModelBase. The call overhead could be eliminated by the backend of taichi or jax.

Parameters:

time (float) – Time in seconds.

Returns:

Arm-length in seconds.

Return type:

float

_abc_impl = <_abc._abc_data object>
class pespace.detector._jax_impl._orbit_jax._KaplerianHeliocentricJax(params)[source]

Bases: OrbitModelBase

JAX backend for Keplerian heliocentric orbit vector computation.

tree_flatten()[source]
classmethod tree_unflatten(aux, children)[source]
get_constellation_vectors(time)[source]

Compute constellation vectors at given times (JAX).

Parameters:

time (float) – Time in seconds.

Returns:

Containing: - n1, n2, n3: Unit vectors along the three links; - x1, x2, x3: Position vectors of the three nodes in SSB frame (in seconds);

Return type:

ConstellationVectorTuple

arm_length_sec(time)[source]

Return the constant arm-length in seconds.

For analytic Keplerian orbits, the arm-length is a constant. The time parameter is retained only for interface consistency with OrbitModelBase. The call overhead could be eliminated by the backend of taichi or jax.

Parameters:

time (float) – Time in seconds.

Returns:

Arm-length in seconds.

Return type:

float

_abc_impl = <_abc._abc_data object>