Maximum Entropy Method 

Extend experimentallyobserved diffraction data using the Maximum Entropy Method (MEM).
The program requires the FFTW library to run and the OCaml bindings to FFTW to compile.
Features: Fourier transforms, local minimization and the maximum entropy method.
Download: Source code


Simulated Annealing 

Solve the travelling salesman problem using simulated annealing.
The algorithm used by this program exploits functional programming and has better asymptotic complexity than the conventional implementation (e.g. given in Numerical Recipies).
Features: randomized algorithms, global minimization, closures and vector arithmetic.
Download: Source code


Finding n^{th}nearest neighbours 

Compute the set of vertices in the n^{th}nearest neighbour shell of a given vertex.
This program uses OCaml's purely functional set implementation to solve a settheoretic recurrence relation succinctly and efficiently.
Features: settheoretic operations, implicit periodicity and graph theory.
Download: Source code


Matrix Eigenvalue Distribution 

Compute the eigenvalue distribution of a random matrix.
In order to compile this program, you must have BLAS and LAPACK installed as well as the LACAML bindings to these libraries.
Features: arrays, matrix computations and random matrix theory.
Download: Source code


Discrete Wavelet Transform 

Compute the 1D Haar wavelet transform in only 5 lines of code.
Features: pattern matching and wavelets.
Download: Source code

