Non-Linear Searches#

A non-linear search is an algorithm which fits a model to data.

PyAutoFit currently supports three types of non-linear search algorithms: nested samplers, Markov Chain Monte Carlo (MCMC) and optimizers.

Examples / Tutorials:

Nested Samplers#

DynestyDynamic([name, path_prefix, ...])

A Dynesty non-linear search, using a dynamically changing number of live points.

DynestyStatic([name, path_prefix, ...])

A Dynesty NonLinearSearch using a static number of live points.

UltraNest([name, path_prefix, unique_tag, ...])

An UltraNest non-linear search.

MCMC#

Emcee(name, path_prefix, unique_tag, initializer)

An Emcee non-linear search.

Zeus(name, path_prefix, unique_tag, initializer)

An Zeus non-linear search.

Optimizers#

PySwarmsLocal([name, path_prefix, ...])

A PySwarms Particle Swarm Optimizer global non-linear search.

PySwarmsGlobal([name, path_prefix, ...])

A PySwarms Particle Swarm Optimizer global non-linear search.

There are also a number of tools which are used to customize the behaviour of non-linear searches in PyAutoFit, including directory output structure, parameter sample initialization and MCMC auto correlation analysis.

Tools#

DirectoryPaths([name, path_prefix, ...])

Manages the path structure for NonLinearSearch output, for analyses both not using and using the search API.

DatabasePaths(session[, name, path_prefix, ...])

Manages the path structure for NonLinearSearch output, for analyses both not using and using the search API.

Result(samples_summary[, paths, samples, ...])

The result of a non-linear search.

InitializerBall(lower_limit, upper_limit)

The Initializer creates the initial set of samples in non-linear parameter space that can be passed into a NonLinearSearch to define where to begin sampling.

InitializerPrior()

The Initializer creates the initial set of samples in non-linear parameter space that can be passed into a NonLinearSearch to define where to begin sampling.

AutoCorrelationsSettings([...])

Class for performing and customizing AutoCorrelation calculations, which are used:

PyAutoFit can perform a parallelized grid-search of non-linear searches, where a subset of parameters in the model are fitted in over a discrete grid.

Examples / Tutorials:

GridSearch#

SearchGridSearch

alias of GridSearch

GridSearchResult(samples, ...[, parent])

The sample of a grid search.