rm_lite.utils.spectra

Physical Burn channel spectra: rad/m^2 units with a polarisation angle.

Attributes

Functions

_burn_envelope(→ numpy.typing.NDArray[numpy.complex128])

Burn depolarisation factor in physical rad/m^2 units (no rotation, no amp).

_rotation(→ numpy.typing.NDArray[numpy.complex128])

Faraday rotation phase e^{2i(psi0 + RM lambda^2)}.

faraday_gaussian_spectrum(...)

External-dispersion channel Q + iU: Gaussian RM scatter sigma_rm_radm2.

faraday_simple_spectrum(...)

Faraday-thin channel Q + iU: a single RM, flat polarised fraction.

faraday_slab_spectrum(...)

Burn slab channel Q + iU: Faraday-thick, full thickness delta_rm_radm2.

Module Contents

rm_lite.utils.spectra._burn_envelope(kind: ComponentKind, lambda_sq_arr_m2: numpy.typing.NDArray[numpy.float64], width_radm2: float, sigma_rm_radm2: float = 0.0) numpy.typing.NDArray[numpy.complex128]

Burn depolarisation factor in physical rad/m^2 units (no rotation, no amp).

width_radm2 is the Gaussian sigma (gauss), the full Faraday depth (slab and turbulent), or unused (delta); sigma_rm_radm2 is the turbulent RM scatter. A Faraday-thin point returns unity.

rm_lite.utils.spectra._rotation(lambda_sq_arr_m2: numpy.typing.NDArray[numpy.float64], psi0_deg: float, rm_radm2: float) numpy.typing.NDArray[numpy.complex128]

Faraday rotation phase e^{2i(psi0 + RM lambda^2)}.

rm_lite.utils.spectra.faraday_gaussian_spectrum(lambda_sq_arr_m2: numpy.typing.NDArray[numpy.float64], frac_pol: float, psi0_deg: float, rm_radm2: float, sigma_rm_radm2: float) numpy.typing.NDArray[numpy.complex128]

External-dispersion channel Q + iU: Gaussian RM scatter sigma_rm_radm2.

Parameters:
  • lambda_sq_arr_m2 (NDArray[np.float64]) – Channel lambda^2 in m^2.

  • frac_pol (float) – Polarised fraction.

  • psi0_deg (float) – Intrinsic polarisation angle in degrees.

  • rm_radm2 (float) – Central RM in rad/m^2.

  • sigma_rm_radm2 (float) – Faraday dispersion sigma in rad/m^2.

Returns:

Channel Q + iU.

Return type:

NDArray[np.complex128]

rm_lite.utils.spectra.faraday_simple_spectrum(lambda_sq_arr_m2: numpy.typing.NDArray[numpy.float64], frac_pol: float, psi0_deg: float, rm_radm2: float) numpy.typing.NDArray[numpy.complex128]

Faraday-thin channel Q + iU: a single RM, flat polarised fraction.

Parameters:
  • lambda_sq_arr_m2 (NDArray[np.float64]) – Channel lambda^2 in m^2.

  • frac_pol (float) – Polarised fraction.

  • psi0_deg (float) – Intrinsic polarisation angle in degrees.

  • rm_radm2 (float) – RM in rad/m^2.

Returns:

Channel Q + iU.

Return type:

NDArray[np.complex128]

rm_lite.utils.spectra.faraday_slab_spectrum(lambda_sq_arr_m2: numpy.typing.NDArray[numpy.float64], frac_pol: float, psi0_deg: float, rm_radm2: float, delta_rm_radm2: float) numpy.typing.NDArray[numpy.complex128]

Burn slab channel Q + iU: Faraday-thick, full thickness delta_rm_radm2.

Parameters:
  • lambda_sq_arr_m2 (NDArray[np.float64]) – Channel lambda^2 in m^2.

  • frac_pol (float) – Polarised fraction.

  • psi0_deg (float) – Intrinsic polarisation angle in degrees.

  • rm_radm2 (float) – Central RM in rad/m^2.

  • delta_rm_radm2 (float) – Full Faraday thickness in rad/m^2.

Returns:

Channel Q + iU.

Return type:

NDArray[np.complex128]

rm_lite.utils.spectra.ComponentKind