arrakis.utils.fitting ===================== .. py:module:: arrakis.utils.fitting .. autoapi-nested-parse:: Fitting utilities .. !! processed by numpydoc !! Functions --------- .. autoapisummary:: arrakis.utils.fitting.best_aic_func arrakis.utils.fitting.chi_squared arrakis.utils.fitting.curved_power_law arrakis.utils.fitting.fit_pl arrakis.utils.fitting.fitted_mean arrakis.utils.fitting.fitted_std arrakis.utils.fitting.flat_power_law arrakis.utils.fitting.power_law Module Contents --------------- .. py:function:: best_aic_func(aics: numpy.ndarray, n_param: numpy.ndarray) -> tuple[float, int, int] Find the best AIC for a set of AICs using Occam's razor. .. !! processed by numpydoc !! .. py:function:: chi_squared(model: numpy.ndarray, data: numpy.ndarray, error: numpy.ndarray) -> float Calculate chi squared. :Parameters: * **model** (*np.ndarray*) -- Model flux. * **data** (*np.ndarray*) -- Data flux. * **error** (*np.ndarray*) -- Data error. :returns: Chi squared. :rtype: np.ndarray .. !! processed by numpydoc !! .. py:function:: curved_power_law(nu: numpy.ndarray, norm: float, alpha: float, beta: float, ref_nu: float) -> numpy.ndarray A curved power law model. :Parameters: * **nu** (*np.ndarray*) -- Frequency array. * **norm** (*float*) -- Reference flux. * **alpha** (*float*) -- Spectral index. * **beta** (*float*) -- Spectral curvature. * **ref_nu** (*float*) -- Reference frequency. :returns: Model flux. :rtype: np.ndarray .. !! processed by numpydoc !! .. py:function:: fit_pl(freq: numpy.ndarray, flux: numpy.ndarray, fluxerr: numpy.ndarray, nterms: int) -> dict Perform a power law fit to a spectrum. :Parameters: * **freq** (*np.ndarray*) -- Frequency array. * **flux** (*np.ndarray*) -- Flux array. * **fluxerr** (*np.ndarray*) -- Error array. * **nterms** (*int*) -- Number of terms to use in the fit. :returns: Best fit parameters. :rtype: dict .. !! processed by numpydoc !! .. py:function:: fitted_mean(data: numpy.ndarray, axis: int | None = None) -> float Calculate the mean of a distribution. :Parameters: **data** (*np.ndarray*) -- Data array. :returns: Mean. :rtype: float .. !! processed by numpydoc !! .. py:function:: fitted_std(data: numpy.ndarray, axis: int | None = None) -> float Calculate the standard deviation of a distribution. :Parameters: **data** (*np.ndarray*) -- Data array. :returns: Standard deviation. :rtype: float .. !! processed by numpydoc !! .. py:function:: flat_power_law(nu: numpy.ndarray, norm: float, ref_nu: float) -> numpy.ndarray A flat power law model. :Parameters: * **nu** (*np.ndarray*) -- Frequency array. * **norm** (*float*) -- Reference flux. * **ref_nu** (*float*) -- Reference frequency. :returns: Model flux. :rtype: np.ndarray .. !! processed by numpydoc !! .. py:function:: power_law(nu: numpy.ndarray, norm: float, alpha: float, ref_nu: float) -> numpy.ndarray A power law model. :Parameters: * **nu** (*np.ndarray*) -- Frequency array. * **norm** (*float*) -- Reference flux. * **alpha** (*float*) -- Spectral index. * **ref_nu** (*float*) -- Reference frequency. :returns: Model flux. :rtype: np.ndarray .. !! processed by numpydoc !!