PolyMath icon indicating copy to clipboard operation
PolyMath copied to clipboard

Scientific Computing with Pharo

PolyMath

[PolyMath]

Scientific Computing with Pharo
Explore the docs »

Report a defect | Request feature

Pharo version Pharo version CI matrix Coverage Status License

Screenshot 2019-04-24 at 11 12 57

You can load PolyMath 1.0.4 into a fresh Pharo 9.0 or 10 image with:

Metacello new
        repository: 'github://PolyMathOrg/PolyMath:v1.0.4';
        baseline: 'PolyMath';
        load

and the latest development version of PolyMath:

Metacello new
        repository: 'github://PolyMathOrg/PolyMath';
        baseline: 'PolyMath';
        load

We have 900 green tests ! At the moment, all the development happens in the master branch (we are using trunk-based development).

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

  • complex and quaternions extensions,
  • random number generators,
  • fuzzy algorithms,
  • automatic differentiation,
  • KDE-trees,
  • Numerical methods,
  • Ordinary Differential Equation (ODE) solvers.

The authoritative book on PolyMath is available online: https://github.com/SquareBracketAssociates/PolyMath-book

Some documentation (work in progress) is available on the Wiki: https://github.com/PolyMathOrg/PolyMath/wiki

Natalia wrote some explanation about benchmarking PolyMath in the Pharo For Enterprise Book: https://github.com/SquareBracketAssociates/PharoForTheEnterprise-english/blob/ae40e7ab6f7651f6e7c271869eb1efc4e531e774/ComparingSolutions/ComparingSolutions.pier

To add PolyMath to your baseline just add this:

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

How to contribute to PolyMath

We welcome submissions! A google group exists for this project at http://groups.google.com/group/polymath-project