Available continuum profiles

Continuum Profiles

This module defines all continuum profile functions available in sheap. Each function is JAX-compatible and decorated with @with_param_names to provide consistent parameter naming for fitting routines.

Profiles

  • linear : Linear continuum (slope + intercept).

  • powerlaw : Standard power law anchored at λ₀=5500 Å.

  • brokenpowerlaw : Two-slope power law with a break wavelength.

  • logparabola : Log-parabolic shape with curvature term.

  • exp_cutoff : Power law with exponential cutoff.

  • polynomial : Cubic polynomial expansion.

Constants

  • delta0 : Reference wavelength (5500 Å) used for continuum scaling.

Notes

  • All functions take wavelength arrays in Ångström and return dimensionless

    continuum templates scaled by their amplitude parameter.

  • The reference wavelength delta0 ensures consistent normalization

    across continuum forms.

brokenpowerlaw(xs, params)[source]

Broken power-law continuum profile.

\[\begin{split}f(\lambda) = \begin{cases} A \left(\dfrac{\lambda}{\lambda_0}\right)^{\alpha_1}, & \text{if } \lambda < x_{\text{break}} \\ A \, x_{\text{break}}^{\alpha_1 - \alpha_2} \left(\dfrac{\lambda}{\lambda_0}\right)^{\alpha_2}, & \text{otherwise} \end{cases}\end{split}\]
Parameters:
  • xs (jnp.ndarray) – Wavelengths in Ångström.

  • params (array-like) –

    • params[0]: Amplitude \(A\)

    • params[1]: Slope below break \(\alpha_1\)

    • params[2]: Slope above break \(\alpha_2\)

    • params[3]: Break wavelength \(x_{break}\) in Ångström

Returns:

Evaluated flux.

Return type:

jnp.ndarray

delta0 = 5500.0

Normalization wavelength in Ångström used for continuum models (λ/λ₀)

exp_cutoff(xs, params)[source]

Power-law with exponential cutoff.

\[f(\lambda) = A \cdot \left(\frac{\lambda}{\lambda_0}\right)^{-\alpha} \cdot \exp\left(-\frac{\lambda}{x_{cut}}\right)\]
Parameters:
  • xs (jnp.ndarray) – Wavelengths in Ångström.

  • params (array-like) –

    • params[0]: Amplitude \(A\)

    • params[1]: Slope \(\alpha\)

    • params[2]: Cutoff wavelength \(x_{cut}\) in Ångström

Returns:

Evaluated flux.

Return type:

jnp.ndarray

linear(xs, params)[source]

Linear continuum profile.

\[f(\lambda) = \text{intercept} + \text{slope} \cdot \left(\frac{\lambda}{\lambda_0}\right)\]
Parameters:
  • xs (jnp.ndarray) – Wavelengths in Ångström.

  • params (array-like) –

    • params[0]: Slope

    • params[1]: Intercept

Returns:

Evaluated flux.

Return type:

jnp.ndarray

logparabola(xs, params)[source]

Log-parabolic continuum profile.

\[f(\lambda) = A \cdot \left(\frac{\lambda}{\lambda_0}\right)^{-\alpha - \beta \cdot \log(\lambda / \lambda_0)}\]
Parameters:
  • xs (jnp.ndarray) – Wavelengths in Ångström.

  • params (array-like) –

    • params[0]: Amplitude \(A\)

    • params[1]: Spectral index \(\alpha\)

    • params[2]: Curvature parameter \(\beta\)

Returns:

Evaluated flux.

Return type:

jnp.ndarray

polynomial(xs, params)[source]

Cubic polynomial continuum profile.

\[f(\lambda) = A \cdot \left(1 + c_1 \cdot x + c_2 \cdot x^2 + c_3 \cdot x^3\right), \quad x = \frac{\lambda}{\lambda_0}\]
Parameters:
  • xs (jnp.ndarray) – Wavelengths in Ångström.

  • params (array-like) –

    • params[0]: Amplitude \(A\)

    • params[1]: Coefficient \(c_1\)

    • params[2]: Coefficient \(c_2\)

    • params[3]: Coefficient \(c_3\)

Returns:

Evaluated flux.

Return type:

jnp.ndarray

powerlaw(xs, params)[source]

Power-law continuum profile.

\[f(\lambda) = A \cdot \left(\frac{\lambda}{\lambda_0}\right)^{\alpha}\]
Parameters:
  • xs (jnp.ndarray) – Wavelengths in Ångström.

  • params (array-like) –

    • params[0]: Slope \(\alpha\)

    • params[1]: Amplitude \(A\)

Returns:

Evaluated flux.

Return type:

jnp.ndarray