# Difference between revisions of "Applications and libraries/Mathematics"

From HaskellWiki

DonStewart (talk | contribs) (+ John Meacham's simulated annealing code) |
DonStewart (talk | contribs) (Add Pseudonym's Math.* library) |
||

Line 5: | Line 5: | ||

;[http://www.dinkla.net/fp/cglib.html Geometric Algorithms] |
;[http://www.dinkla.net/fp/cglib.html Geometric Algorithms] |
||

− | : |
+ | :A small Haskell library, containing algorithms for two-dimensional convex hulls, triangulations of polygons, Voronoi-diagrams and Delaunay-triangulations, the QEDS data structure, kd-trees and range-trees. |

;[http://haskelldsp.sourceforge.net/ Digital Signal Processing] |
;[http://haskelldsp.sourceforge.net/ Digital Signal Processing] |
||

Line 14: | Line 14: | ||

;[http://haskell.org/docon/ DoCon] - Algebraic Domain Constructor |
;[http://haskell.org/docon/ DoCon] - Algebraic Domain Constructor |
||

− | :A |
+ | :A Computer Algebra System |

;[http://www.n-heptane.com/nhlab/repos/Decimal Decimal arithmetic library] |
;[http://www.n-heptane.com/nhlab/repos/Decimal Decimal arithmetic library] |
||

− | : |
+ | :An implementation of real decimal arithmetic, for cases where the binary floating point is not acceptable (for example, money). |

;[http://www.robtougher.com/HaskellMath/ HaskellMath] |
;[http://www.robtougher.com/HaskellMath/ HaskellMath] |
||

− | : |
+ | :The HaskellMath library is a sandbox for experimenting with mathematics algorithms. So far I've implemented a few quantitative finance models (Black Scholes, Binomial Trees, etc) and basic linear algebra functions. Next I might work on either computer algebra or linear programming. All comments welcome! |

;[http://www.isi.edu/~hdaume/HBlas/ Wrapper to CLAPACK] |
;[http://www.isi.edu/~hdaume/HBlas/ Wrapper to CLAPACK] |
||

Line 34: | Line 34: | ||

;[http://repetae.net/john/recent/out/HsASA.html Adaptive Simulated Annealing] |
;[http://repetae.net/john/recent/out/HsASA.html Adaptive Simulated Annealing] |
||

− | :A |
+ | :A Haskell interface to Lester Ingber's adaptive simulating annealing code. |

+ | |||

+ | ;[http://andrew.bromage.org/darcs/numbertheory/ Number Theory Library] |
||

+ | :Andrew Bromage's Haskell number theory library, providing operations on primes, fibonacci sequences and combinatorics. |
||

;[http://eecs.oregonstate.edu/~erwig/pfp/ Probabilistic Functional Programming] |
;[http://eecs.oregonstate.edu/~erwig/pfp/ Probabilistic Functional Programming] |
||

− | :The PFP library is a collection of modules for Haskell that |
+ | :The PFP library is a collection of modules for Haskell that facilitates probabilistic functional programming, that is, programming with stochastic values. The probabilistic functional programming approach is based on a data type for representing distributions. A distribution represent the outcome of a probabilistic event as a collection of all possible values, tagged with their likelihood. A nice aspect of this system is that simulations can be specified independently from their method of execution. That is, we can either fully simulate or randomize any simulation without altering the code which defines it. |

;[http://cvs.haskell.org/darcs/numeric-quest/ Mirror of the following numeric modules by Jan Skibinski] |
;[http://cvs.haskell.org/darcs/numeric-quest/ Mirror of the following numeric modules by Jan Skibinski] |

## Revision as of 01:06, 31 March 2006

*The copyright status of this work is not known. Please help resolve this on the talk page.*

*This page contains a list of libraries and tools in a certain category. For a comprehensive list of such pages, see Applications and libraries.*

## Libraries for numerical algorithms and mathematics

- Geometric Algorithms
- A small Haskell library, containing algorithms for two-dimensional convex hulls, triangulations of polygons, Voronoi-diagrams and Delaunay-triangulations, the QEDS data structure, kd-trees and range-trees.

- Digital Signal Processing
- Modules for matrix manpulation, digital signal processing, spectral estimation, and frequency estimation.

- Papers by Jerzy Karczmarczuk
- Some interesting uses of Haskell in mathematics, including functional differentiation, power series, continued fractions.

- DoCon - Algebraic Domain Constructor
- A Computer Algebra System

- Decimal arithmetic library
- An implementation of real decimal arithmetic, for cases where the binary floating point is not acceptable (for example, money).

- HaskellMath
- The HaskellMath library is a sandbox for experimenting with mathematics algorithms. So far I've implemented a few quantitative finance models (Black Scholes, Binomial Trees, etc) and basic linear algebra functions. Next I might work on either computer algebra or linear programming. All comments welcome!

- GSLHaskell
- High level functional interface to standard linear algebra computations and other numerical algorithms based on the GNU Scientific Library.

- Numeric Prelude
- Experimental revised framework for numeric type classes.

- Exact Real Arithmetic
- A portal-like treatment of the topic. There are functional programming materials too, even with downloadable Haskell source.

- Adaptive Simulated Annealing
- A Haskell interface to Lester Ingber's adaptive simulating annealing code.

- Number Theory Library
- Andrew Bromage's Haskell number theory library, providing operations on primes, fibonacci sequences and combinatorics.

- Probabilistic Functional Programming
- The PFP library is a collection of modules for Haskell that facilitates probabilistic functional programming, that is, programming with stochastic values. The probabilistic functional programming approach is based on a data type for representing distributions. A distribution represent the outcome of a probabilistic event as a collection of all possible values, tagged with their likelihood. A nice aspect of this system is that simulations can be specified independently from their method of execution. That is, we can either fully simulate or randomize any simulation without altering the code which defines it.

- Numerics with fractions
*(via Internet Archive since 10/06/2003).* - Roots of polynomials
*(via Internet Archive since 10/06/2003).*It implements the well known Laguerre's method for finding complex roots of polynomials. - Indexless linear algebra algorithms
*(via Internet Archive since 10/06/2003).*Orthogonalization, solution of linear equations, eigenvalues and eigenvectors. - State vector evolution
*(via Internet Archive since 10/06/2003)* - Short study of fuzzy oscillator
*(via Internet Archive since 10/06/2003)* - N-dimensional tensors
*(via Internet Archive since 10/06/2003)*