Popularity
4.6
Declining
Activity
0.0
Stable
6
4
1

Monthly Downloads: 39
Programming language: Haskell
License: MIT License
Tags: Numeric    

hasty-hamiltonian alternatives and similar packages

Based on the "Numeric" category.
Alternatively, view hasty-hamiltonian alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of hasty-hamiltonian or a related project?

Add another 'Numeric' Package

README

hasty-hamiltonian

Build Status Hackage Version MIT License

Speedy, gradient-based traversal through parameter space.

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.

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

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

trace

hasty-hamiltonian is a member of the declarative suite of libraries, containing a bunch of MCMC algorithms that play nicely together.


*Note that all licence references and agreements mentioned in the hasty-hamiltonian README section above are relevant to that project's source code only.