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 (nest), Markov Chain Monte Carlo (MCMC) and Maximum Likelihood Estimators (MLE).

Examples / Tutorials:

Nested Samplers#

DynestyDynamic

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

DynestyStatic

A Dynesty NonLinearSearch using a static number of live points.

MCMC#

Emcee

An Emcee non-linear search.

Zeus

A Zeus non-linear search.

Maximum Likelihood Estimators#

BFGS

Abstract wrapper for the BFGS and L-BFGS scipy non-linear searches.

LBFGS

Abstract wrapper for the BFGS and L-BFGS scipy non-linear searches.

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

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

DatabasePaths

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

Result

The result of a non-linear search.

InitializerBall

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

GridSearchResult

The sample of a grid search.