{*First posted 16 June 2010 at u003f.com, saved from oblivion by the internet archive*}

One aim of this blog was to advocate and advertise the use of open science. Which is somewhat at odds with my advocation and advertisement of Matlab – a popular, powerful, but ultimately pricey piece of software. I’ve spent some time working with Octave – a language that is identical in every way to Matlab, save the subtle difference that it’s completely free. If you throw in the thriving Octave community, I’d go so far as to recommend that the average user make the open-source switch immediately.

Unfortunately, for the heavy number-crunchers amongst you, there are instances (specifically loopy code) where Octave just cannot match its commercial counterpart for speed (as it has no JIT compiler, if you’re that way inclined). So I’ve recently turned to python for all my programming needs.

As a (n old) Matlab user, I’ve found python very easy to learn, particularly when using the SciPy library. The attached code can be used to produce the beautiful Barnsley fern, an iterated function system designed to resemble the Black Spleenwort. Whilst mastering python, you can ponder Barnsley’s hypothesis that

… when a geometrical fractal model is found that has a good match to the geometry of a given plant, then there is a specific relationship between these code trees and the information stored in the genes of the plant.

Barnsley fern

### Reference

Michael Barnsley, John E. Hutchinson, & Örjan Stenflo (2003). V-variable fractals and superfractals – arXiv: math/0312314v1