lenstronomy.Sampling.Samplers package

Submodules

lenstronomy.Sampling.Samplers.base_nested_sampler module

class NestedSampler(likelihood_module, prior_type, prior_means, prior_sigmas, width_scale, sigma_scale)[source]

Bases: object

Base class for nested samplers.

__init__(likelihood_module, prior_type, prior_means, prior_sigmas, width_scale, sigma_scale)[source]
Parameters:
  • likelihood_module – likelihood_module like in likelihood.py (should be callable)

  • prior_type – ‘uniform’ of ‘gaussian’, for converting the unit hypercube to param cube

  • prior_means – if prior_type is ‘gaussian’, mean for each param

  • prior_sigmas – if prior_type is ‘gaussian’, std dev for each param

  • width_scale – scale the widths of the parameters space by this factor

  • sigma_scale – if prior_type is ‘gaussian’, scale the gaussian sigma by this factor

prior(u, *args)[source]

Compute the mapping between the unit cube and parameter cube.

Parameters:

u – unit hypercube, sampled by the algorithm

Returns:

hypercube in parameter space

log_likelihood(p, *args)[source]

Compute the log-likelihood given list of parameters.

Parameters:

x – parameter values

Returns:

log-likelihood (from the likelihood module)

run(kwargs_run)[source]

Run the nested sampling algorithm.

lenstronomy.Sampling.Samplers.dynesty_sampler module

class DynestySampler(likelihood_module, prior_type='uniform', prior_means=None, prior_sigmas=None, width_scale=1, sigma_scale=1, bound='multi', sample='auto', use_mpi=False, use_pool=None)[source]

Bases: NestedSampler

Wrapper for dynamical nested sampling algorithm Dynesty by J. Speagle.

paper : https://arxiv.org/abs/1904.02180 doc : https://dynesty.readthedocs.io/

__init__(likelihood_module, prior_type='uniform', prior_means=None, prior_sigmas=None, width_scale=1, sigma_scale=1, bound='multi', sample='auto', use_mpi=False, use_pool=None)[source]
Parameters:
  • likelihood_module – likelihood_module like in likelihood.py (should be callable)

  • prior_type – ‘uniform’ of ‘gaussian’, for converting the unit hypercube to param cube

  • prior_means – if prior_type is ‘gaussian’, mean for each param

  • prior_sigmas – if prior_type is ‘gaussian’, std dev for each param

  • width_scale – scale the widths of the parameters space by this factor

  • sigma_scale – if prior_type is ‘gaussian’, scale the gaussian sigma by this factor

  • bound – specific to Dynesty, see https://dynesty.readthedocs.io

  • sample – specific to Dynesty, see https://dynesty.readthedocs.io

  • use_mpi – Use MPI computing if True

  • use_pool – specific to Dynesty, see https://dynesty.readthedocs.io

run(kwargs_run)[source]

Run the Dynesty nested sampler.

see https://dynesty.readthedocs.io for content of kwargs_run

Parameters:

kwargs_run – kwargs directly passed to DynamicNestedSampler.run_nested

Returns:

samples, means, logZ, logZ_err, logL, results

lenstronomy.Sampling.Samplers.multinest_sampler module

class MultiNestSampler(likelihood_module, prior_type='uniform', prior_means=None, prior_sigmas=None, width_scale=1, sigma_scale=1, output_dir=None, output_basename='-', remove_output_dir=False, use_mpi=False)[source]

Bases: NestedSampler

Wrapper for nested sampling algorithm MultInest by F.

Feroz & M. Hobson papers : arXiv:0704.3704, arXiv:0809.3437, arXiv:1306.2144 pymultinest doc : https://johannesbuchner.github.io/PyMultiNest/pymultinest.html

__init__(likelihood_module, prior_type='uniform', prior_means=None, prior_sigmas=None, width_scale=1, sigma_scale=1, output_dir=None, output_basename='-', remove_output_dir=False, use_mpi=False)[source]
Parameters:
  • likelihood_module – likelihood_module like in likelihood.py (should be callable)

  • prior_type – ‘uniform’ of ‘gaussian’, for converting the unit hypercube to param cube

  • prior_means – if prior_type is ‘gaussian’, mean for each param

  • prior_sigmas – if prior_type is ‘gaussian’, std dev for each param

  • width_scale – scale the widths of the parameters space by this factor

  • sigma_scale – if prior_type is ‘gaussian’, scale the gaussian sigma by this factor

  • output_dir – name of the folder that will contain output files

  • output_basename – prefix for output files

  • remove_output_dir – remove the output_dir folder after completion

  • use_mpi – flag directly passed to MultInest sampler (NOT TESTED)

run(kwargs_run)[source]

Run the MultiNest nested sampler.

see https://johannesbuchner.github.io/PyMultiNest/pymultinest.html for content of kwargs_run

Parameters:

kwargs_run – kwargs directly passed to pymultinest.run

Returns:

samples, means, logZ, logZ_err, logL, stats

lenstronomy.Sampling.Samplers.polychord_sampler module

class DyPolyChordSampler(likelihood_module, prior_type='uniform', prior_means=None, prior_sigmas=None, width_scale=1, sigma_scale=1, output_dir=None, output_basename='-', resume_dyn_run=False, polychord_settings=None, remove_output_dir=False, use_mpi=False)[source]

Bases: NestedSampler

Wrapper for dynamical nested sampling algorithm DyPolyChord by E. Higson, M. Hobson, W. Handley, A. Lasenby.

papers : arXiv:1704.03459, arXiv:1804.06406 doc : https://dypolychord.readthedocs.io

__init__(likelihood_module, prior_type='uniform', prior_means=None, prior_sigmas=None, width_scale=1, sigma_scale=1, output_dir=None, output_basename='-', resume_dyn_run=False, polychord_settings=None, remove_output_dir=False, use_mpi=False)[source]
Parameters:
  • likelihood_module – likelihood_module like in likelihood.py (should be callable)

  • prior_type – ‘uniform’ of ‘gaussian’, for converting the unit hypercube to param cube

  • prior_means – if prior_type is ‘gaussian’, mean for each param

  • prior_sigmas – if prior_type is ‘gaussian’, std dev for each param

  • width_scale – scale the widths of the parameters space by this factor

  • sigma_scale – if prior_type is ‘gaussian’, scale the gaussian sigma by this factor

  • output_dir – name of the folder that will contain output files

  • output_basename – prefix for output files

  • resume_dyn_run – if True, previous resume files will not be deleted so that previous run can be resumed

  • polychord_settings – settings dictionary to send to pypolychord. Check dypolychord documentation for details.

  • remove_output_dir – remove the output_dir folder after completion

  • use_mpi – Use MPI computing if True

run(dynamic_goal, kwargs_run)[source]

Run the DyPolyChord dynamical nested sampler.

see https://dypolychord.readthedocs.io for content of kwargs_run

Parameters:
  • dynamic_goal – 0 for evidence computation, 1 for posterior computation

  • kwargs_run – kwargs directly passed to dyPolyChord.run_dypolychord

Returns:

samples, means, logZ, logZ_err, logL, ns_run

log_likelihood(args)[source]

Compute the log-likelihood given list of parameters.

Parameters:

args – parameter values

Returns:

log-likelihood (from the likelihood module)

Module contents