gwkokab.analysis.core.analytical_base ===================================== .. py:module:: gwkokab.analysis.core.analytical_base Classes ------- .. autoapisummary:: gwkokab.analysis.core.analytical_base.AnalyticalBase Functions --------- .. autoapisummary:: gwkokab.analysis.core.analytical_base.analytical_arg_parser Module Contents --------------- .. py:class:: AnalyticalBase(likelihood_fn: collections.abc.Callable[Ellipsis, collections.abc.Callable], model: Union[numpyro.distributions.Distribution, collections.abc.Callable[Ellipsis, numpyro.distributions.Distribution]], data_loader: gwkokab.analysis.core.inference_io.AnalyticalPELoader, prior_filename: str, poisson_mean_filename: str, sampler_cfg, variance_cut_threshold: float | None, n_samples: int, debug_nans: bool = False, profile_memory: bool = False, check_leaks: bool = False, analysis_name: str = '') Bases: :py:obj:`gwkokab.analysis.core.analysis_base.AnalysisBase` AnalysisBase is a class which contains all the common functionality among the different analyses. It is not meant to be used directly, but rather to be subclassed by the specific analyses. :param likelihood_fn: A function that takes the model parameters and returns a function that computes the log-likelihood. :type likelihood_fn: Callable[..., Callable[..., Array]] :param model: model to be used in the AnalyticalBase class. It can be a Distribution or a callable that returns a Distribution. :type model: Union[Distribution, Callable[..., Distribution]] :param data_loader: data loader for the analytical PE data. :type data_loader: AnalyticalPELoader :param seed: seed for the random number generator. :type seed: int :param prior_filename: path to the JSON file containing the prior distributions. :type prior_filename: str :param poisson_mean_filename: path to the JSON file containing the Poisson mean configuration. :type poisson_mean_filename: str :param flowMC_settings_filename: path to the JSON file containing the flowMC settings. :type flowMC_settings_filename: str :param debug_nans: If True, checks for NaNs in each computation. See details in the [documentation](https://jax.readthedocs.io/en/latest/_autosummary/jax.debug_nans.html#jax.debug_nans), by default False :type debug_nans: bool, optional :param profile_memory: If True, enables memory profiling, by default False :type profile_memory: bool, optional :param check_leaks: If True, checks for JAX Tracer leaks. See details in the [documentation](https://jax.readthedocs.io/en/latest/_autosummary/jax.checking_leaks.html#jax.checking_leaks), by default False :type check_leaks: bool, optional :param analysis_name: Name of the analysis, by default "" :type analysis_name: str, optional .. py:method:: run() -> None Runs the AnalyticalBase analysis. .. py:attribute:: data_loader .. py:attribute:: likelihood_fn .. py:attribute:: n_samples .. py:function:: analytical_arg_parser(parser: argparse.ArgumentParser) -> argparse.ArgumentParser Populate the command line argument parser with the arguments for the AnalyticalBase script. :param parser: Parser to add the arguments to :type parser: ArgumentParser :returns: the command line argument parser :rtype: ArgumentParser