hasty-hamiltonian: Speedy traversal through parameter space.

[ library, mit, numeric ] [ Propose Tags ]

Gradient-based traversal through parameter space.

This implementation of the HMC algorithm uses lens as a means to operate over generic indexed traversable functors, so you can expect it to work if your target function takes a list, vector, map, sequence, etc. as its argument.

If you don't want to calculate your gradients by hand you can use the handy ad library for automatic differentiation.

Exports a mcmc function that prints a trace to stdout, a chain function for collecting results in memory, and a hamiltonian transition operator that can be used more generally.

import Numeric.AD (grad)
import Numeric.MCMC.Hamiltonian

target :: RealFloat a => [a] -> a
target [x0, x1] = negate ((x0 + 2 * x1 - 7) ^ 2 + (2 * x0 + x1 - 5) ^ 2)

gTarget :: [Double] -> [Double]
gTarget = grad target

booth :: Target [Double]
booth = Target target (Just gTarget)

main :: IO ()
main = withSystemRandom . asGenIO $ mcmc 10000 0.05 20 [0, 0] booth

Modules

[Index]

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 1.1.0, 1.1.1, 1.1.2, 1.1.3, 1.1.4, 1.1.5, 1.2.0, 1.3.0, 1.3.2, 1.3.3, 1.3.4
Dependencies base (>=4 && <6), kan-extensions (>=5 && <6), lens (>=4 && <5), mcmc-types (>=1.0.1), mwc-probability (>=2.0 && <3), pipes (>=4 && <5), primitive (>=0.5 && <1.0), transformers (>=0.5 && <1.0) [details]
License MIT
Author Jared Tobin
Maintainer jared@jtobin.ca
Revised Revision 1 made by JaredTobin at 2019-09-13T23:56:34Z
Category Numeric
Home page http://github.com/jtobin/hasty-hamiltonian
Source repo head: git clone http://github.com/jtobin/hasty-hamiltonian.git
Uploaded by JaredTobin at 2018-03-14T22:05:04Z
Distributions LTSHaskell:1.3.4, NixOS:1.3.4, Stackage:1.3.4
Reverse Dependencies 1 direct, 1 indirect [details]
Downloads 6663 total (39 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-03-14 [all 1 reports]