pybambi package

Submodules

pybambi.bambi module

Driving routine for pyBAMBI.

Author: Will Handley (wh260@cam.ac.uk) Date: November 2018

pybambi.bambi.run_pyBAMBI(loglikelihood, prior, nDims, **kwargs)[source]

Run pyBAMBI.

Parameters:
  • nested_sampler (str) – Choice of nested sampler. Options: [‘multinest’, ‘polychord’]. Default ‘polychord’.
  • nlive (int) – Number of live points. Default nDims*25
  • root (str) – root of filename. Default ‘chains/<nested_sampler>’
  • num_repeats (int) – number of repeats for polychord. Default nDims*5
  • eff (float) – efficiency for multinest. Default 0.5**nDims
  • learner (object) – information indicating what learning algorithm to use for approximating the likelihood. Can be the string ‘keras’, or a keras.models.Model Default ‘keras’
  • ntrain (int) – Number of training points to use Default nlive
  • proxy_tolerance (float) – Required accuracy of proxy. Default 0.01
  • ns_output (int) – Nested sampling output level.

pybambi.manager module

BAMBI management object.

Author: Pat Scott (p.scott@imperial.ac.uk) Date: Feb 2019

class pybambi.manager.BambiManager(loglikelihood, learner, proxy_tolerance, failure_tolerance, ntrain)[source]

Bases: object

Does all the talking for BAMBI.

Takes a new set of training data from the dumper and trains (or retrains) a neural net, and assesses whether or not it can be used for a given parameter combination.

Parameters:ntrain (int) – Number of training points to use
dumper(live_params, live_loglks, dead_params, dead_loglks)[source]

Respond to signal from nested sampler.

loglikelihood(params)[source]

Bambi Proxy wrapper for original loglikelihood.

make_learner(params, loglikes)[source]

Construct a Predictor.

train_new_learner(params, loglikes)[source]

Train a new Predictor.

pybambi.multinest module

Wrapper for PyMultiNest.

Author: Will Handley (wh260@cam.ac.uk) Date: November 2018

pybambi.multinest.run_multinest(loglikelihood, prior, dumper, nDims, nlive, root, ndump, eff, seed=-1)[source]

Run MultiNest.

See https://arxiv.org/abs/0809.3437 for more detail

Parameters:
  • loglikelihood (callable) –

    probability function taking a single parameter:

    • theta: numpy.array
      physical parameters, shape=(nDims,)

    returning a log-likelihood (float)

  • prior (callable) –

    tranformation function taking a single parameter

    • cube: numpy.array
      hypercube parameters, shape=(nDims,)

    returning physical parameters (numpy.array)

  • dumper (callable) –

    access function called every nlive iterations giving a window onto current live points. Single parameter, no return:

    • live:
      numpy.array live parameters and loglikelihoods, shape=(nlive,nDims+1)
  • nDims (int) – Dimensionality of sampling space
  • nlive (int) – Number of live points
  • root (str) – base name for output files
  • ndump (int) – How many iterations between dumper function calls
  • eff (float) – Efficiency of MultiNest
  • seed (int) – Seed for sampler. Optional, no default seed.

pybambi.polychord module

Wrapper for PyPolyChord.

Author: Will Handley (wh260@cam.ac.uk) Date: November 2018

pybambi.polychord.run_polychord(loglikelihood, prior, dumper, nDims, nlive, root, ndump, num_repeats, seed=-1)[source]

Run PolyChord.

See https://arxiv.org/abs/1506.00171 for more detail

Parameters:
  • loglikelihood (callable) –

    probability function taking a single parameter:

    • theta: numpy.array
      physical parameters, shape=(nDims,)

    returning a log-likelihood (float)

  • prior (callable) –

    tranformation function taking a single parameter

    • cube: numpy.array
      hypercube parameters, shape=(nDims,)

    returning physical parameters (numpy.array)

  • dumper (callable) –

    access function called every nlive iterations giving a window onto current live points. Single parameter, no return:

    • live:
      numpy.array of live parameters and loglikelihoods, shape=(nlive,nDims+1)
  • nDims (int) – Dimensionality of sampling space
  • nlive (int) – Number of live points
  • root (str) – base name for output files
  • ndump (int) – How many iterations between dumper function calls
  • num_repeats (int) – Length of chain to generate new live points
  • seed (int) – Seed for sampler. Optional, no default seed.

Module contents

Main pyBAMBI module.

Author: Will Handley (wh260@cam.ac.uk) Date: November 2018

Functions

  • run_pyBAMBI