# sde-solver: Distributed SDE solver

Versions | 0.1.0.0 |
---|---|

Dependencies | base (>=4.5 && <5), cereal (>=0.3 && <1), cereal‑vector (>=0.2 && <1), ghc‑prim (>=0.2 && <1), haskell‑mpi (>=1.2 && <2), mersenne‑random‑pure64 (>=0.2.0.3 && <1), mtl (>=2.1 && <3), mwc‑random (>=0.12 && <1), normaldistribution (>=1.1.0.3 && <2), parallel (>=3.2 && <4), vector (>=0.10 && <1) [details] |

License | BSD-3-Clause |

Author | David Nilsson |

Maintainer | nilsson.dd+code@gmail.com |

Category | Math, Numerical |

Home page | https://github.com/davnils/sde-solver |

Source repo | head: git clone git://github.com/davnils/sde-solver |

Uploaded | by DavidNilsson at Tue Dec 18 20:48:57 UTC 2012 |

Distributions | NixOS:0.1.0.0 |

Downloads | 478 total (4 in the last 30 days) |

Rating | (no votes yet) [estimated by rule of succession] |

Your Rating | |

Status | Docs not available [build log] All reported builds failed as of 2016-12-22 [all 9 reports] Hackage Matrix CI |

This package contains utilities for solving SDE instances in various ways.
Basically an `SDE`

instance is solved using some `SDESolver`

working with some distribution mechanism.
Results are gathered at the end point of the specified interval.

Included in the package are ways of doing distributed calculations over an MPI cluster, or optionally only using the local solver with built in parallelization. Two SDE instances have been implemented; geometric brownian motion and the Langevin equation, see the haddock documentation for an example.

The main interface is accessible through Numeric.DSDE which provides various way of solving generic problems. This module supports either local or distributed calculations in the IO monad and gathering the results as a distribution. Under the surface there is also a working pure implementation for monadic environments, using a pure Mersenne twister PRNG.

Internally there are several abstractions used when dealing with each component building up a solution.
Given some `SDE`

and `SDESolver`

instances, it is also required to have some PRNG providing normally distributed numbers.
This has been implemented over some specific monads and only results of type `Double`

.
All of the internal components are written with polymorphism in mind, acting over some monad instance and generic result types in all cases.

## Modules

*Numeric*- Numeric.DSDE
- Numeric.DSDE.Distribute
- Numeric.DSDE.RNG
- Numeric.DSDE.SDE
- Numeric.DSDE.SDE.GeometricBrownian
- Numeric.DSDE.SDE.Langevin

- Numeric.DSDE.SDESolver

- Numeric.DSDE

## Downloads

- sde-solver-0.1.0.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)