This repository contains a reference implementation of the Critical Line Algorithm as described in Niedermayer and Niedermayer (Applying Markowitz's Critical Line Algorithm), 2010
Handbook of Portfolio Construction: Contemporary Applications of
Markowitz Techniques", edited by John Guerard, London: Springer, 2010, see also the working paper version.

The reference implementation is intended to be as close as possible to the pseudo-code in the paper, even if this comes at the cost of performance.
For a fast implementation, see the repository with the Fortran version (which also
contains Python bindings for the Fortran code).

The IPython notebooks "example_call.ipynb" and "example_call_gen.ipynb" contain sample code that calls the Julia functions. The notebooks also compare
the results with the Python implementation (which just calls Fortran). To be able to call the Python code from the Julia notebooks, you need to get the code and set the path in the notebook to point to it.