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
log_likelihood(p, *args)[source]

Compute the log-likelihood given list of parameters.

Parameters:x – parameter values
Returns:log-likelihood (from the likelihood module)
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
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: lenstronomy.Sampling.Samplers.base_nested_sampler.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: lenstronomy.Sampling.Samplers.base_nested_sampler.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: lenstronomy.Sampling.Samplers.base_nested_sampler.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
log_likelihood(args)[source]

Compute the log-likelihood given list of parameters.

Parameters:args – parameter values
Returns:log-likelihood (from the likelihood module)
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

Module contents