Skip to contents

Models

monty_model()
Create basic model
monty_model_combine()
Combine two models
monty_model_split()
Split a combined model
monty_model_function()
Create monty_model from a function computing density
monty_model_properties()
Describe model properties

Functions for working with models

monty_model_density()
Compute log density
monty_model_gradient()
Compute gradient of log density
monty_model_direct_sample()
Directly sample from a model

Example

monty_example()
Example models

Domain specific language

monty_dsl()
Domain Specific Language for monty
monty_dsl_error_explain()
Explain monty error
monty_differentiation()
Differentiate expressions

Advanced

monty_dsl_distributions()
Information about supported distributions
monty_dsl_parse_distribution()
Parse distribution expression

Draw samples from a model

monty_sample()
Sample from a model
monty_sample_continue()
Continue sampling

Samplers

monty_sampler_random_walk()
Random Walk Sampler
monty_sampler_adaptive()
Adaptive Metropolis-Hastings Sampler
monty_sampler_hmc()
Create HMC
monty_sampler_nested_random_walk()
Nested Random Walk Sampler
monty_sampler_nested_adaptive()
Nested Adaptive Metropolis-Hastings Sampler

Chain runners

monty_runner_serial()
Run MCMC chain in series
monty_runner_parallel()
Run MCMC chain in parallel
monty_runner_simultaneous()
Run MCMC chains simultaneously
monty_runner_callr()
Run MCMC chains in parallel with callr

Manually run chains

monty_sample_manual_prepare()
Prepare to sample with manual scheduling
monty_sample_manual_run()
Run sample with manual scheduling
monty_sample_manual_info()
Get information about manually scheduled samples
monty_sample_manual_collect()
Collect manually run samples
monty_sample_manual_cleanup()
Clean up samples
monty_sample_manual_prepare_continue()
Prepare to continue sampling with manual scheduling

Tools

monty_observer()
Create observer
monty_packer()
Build a packer
monty_packer_grouped()
Build a nested packer
monty_domain_expand()
Expand (and check) domain against a packer
monty_samples_thin()
Thin samples
with_trace_random()
Trace random number calls

Random numbers

Utilities for working with random numbers. This code is all imported from dust, and we’ll change it to better suit the needs in this package.

monty_rng
Monty Random Number Generator
monty_rng_distributed_state() monty_rng_distributed_pointer()
Create a set of distributed seeds
monty_rng_pointer
Create pointer to random number generator stream