rotation#

Functions#

dot_rotation_matrix(ydeg, x, y, z, theta)

Construct a callable to apply a spherical harmonic rotation

full_rotation_axis_angle(inc, obl, theta, theta_z)

Return the axis-angle representation of the full rotation of the

sky_projection_axis_angle(inc, obl)

Return the axis-angle representation of the partial rotation of the

left_project(ydeg, inc, obl, theta, theta_z, y)

R @ y

right_project(ydeg, inc, obl, theta, theta_z, y)

y @ R

compute_rotation_matrices(ydeg, x, y, z, theta)

rotar(ydeg, c1, s1, c2, s2, c3, s3)

dlmn(ell, s1, c1, c2, tgbet2, s3, c3, D)

dot_rz(deg, theta)

Special case for rotation only around z axis

fast_direct_left_project(ydeg, inc, obl, theta, theta_z, y)

Module Contents#

rotation.dot_rotation_matrix(ydeg, x, y, z, theta)[source]#

Construct a callable to apply a spherical harmonic rotation

Parameters:
  • ydeg (int) – The order of the spherical harmonic map

  • x (float) – The x component of the rotation axis

  • y (float) – The y component of the rotation axis

  • z (float) – The z component of the rotation axis

  • theta (float) – The rotation angle in radians

rotation.full_rotation_axis_angle(inc: float | None, obl: float | None, theta: float | None, theta_z: float | None)[source]#
Return the axis-angle representation of the full rotation of the

spherical harmonic map

Parameters:
  • inc (float) – map inclination

  • obl (float) – map obliquity

  • theta (float) – rotation angle about the map z-axis

  • theta_z (float) – rotation angle about the sky y-axis

Returns:

x, y, z, angle

Return type:

tuple

rotation.sky_projection_axis_angle(inc: float | None, obl: float | None)[source]#
Return the axis-angle representation of the partial rotation of the

map due to inclination and obliquity

Parameters:
  • inc (float or None) – map inclination

  • obl (float or None) – map obliquity

Returns:

x, y, z, angle

Return type:

tuple

rotation.left_project(ydeg: int, inc: float | None, obl: float | None, theta: float | None, theta_z: float | None, y: jaxoplanet.types.Array)[source]#

R @ y

Parameters:
  • ydeg (int) – degree of the spherical harmonic map

  • inc (float or None) – map inclination

  • obl (float or None) – map obliquity

  • theta (float or None) – rotation angle about the map z-axis

  • theta_z (float or None) – rotation angle about the sky y-axis

  • x (Array) – spherical harmonic map coefficients

Returns:

rotated spherical harmonic map coefficients

Return type:

Array

rotation.right_project(ydeg: int, inc: float | None, obl: float | None, theta: float | None, theta_z: float | None, y: jaxoplanet.types.Array)[source]#

y @ R

Parameters:
  • ydeg (int) – degree of the spherical harmonic map

  • inc (float or None) – map inclination

  • obl (float or None) – map obliquity

  • theta (float or None) – rotation angle about the map z-axis

  • theta_z (float or None) – rotation angle about the sky y-axis

  • x (Array) – spherical harmonic map coefficients

Returns:

rotated spherical harmonic map coefficients

Return type:

Array

rotation.compute_rotation_matrices(ydeg, x, y, z, theta)[source]#
rotation.rotar(ydeg, c1, s1, c2, s2, c3, s3)[source]#
rotation.dlmn(ell, s1, c1, c2, tgbet2, s3, c3, D)[source]#
rotation.dot_rz(deg, theta)[source]#

Special case for rotation only around z axis

rotation.fast_direct_left_project(ydeg, inc, obl, theta, theta_z, y)[source]#