Smalltalk HTML
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.


Project Status: Active – The project has reached a stable, usable state and is being actively developed. Build Status Build status License

You can load the code in a fresh Pharo 6.1 image with:

Metacello new
        repository: 'github://PolyMathOrg/PolyMath:master/src';
        baseline: 'PolyMath';

We have 767 green tests !

PolyMath is a Smalltalk project, similar to existing scientific libraries like NumPy, SciPy for Python or SciRuby for Ruby. PolyMath already provide the following basic functionalities:

  • complex and quaternions extensions,
  • random number generators,
  • fuzzy algorithms,
  • KDE-trees,
  • Didier Besset's numerical methods,
  • Ordinary Differential Equation (ODE) solvers.

Lorentz attractor with PolyMath and GraphET

A book about PolyMath called "Numerical Methods" is available online:

Some documentation (to be cleaned and reorganized) about PolyMath is available on the Wiki here:

Natalia wrote some explanation about benchmarking PolyMath in the Pharo For Enterprise Book:

Install PolyMath

To install PolyMath on your Pharo image you can just execute the following script:

    Metacello new
        githubUser: 'PolyMathOrg' project: 'PolyMath' commitish: 'master' path: 'src';
        baseline: 'PolyMath';

To add PolyMath to your baseline just add this:

    	baseline: 'PolyMath'
    	with: [ spec repository: 'github://PolyMathOrg/PolyMath:master/src' ]

Note that you can replace the #master by another branch as #development or a tag as #v1.0.0, #v1.? or #v1.2.? .

How to contribute to PolyMath

We welcome submissions! A google group exists for this project at