Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/polymathorg/polymath

Scientific Computing with Pharo
https://github.com/polymathorg/polymath

mathematics numerical-methods pharo pharo-smalltalk smalltalk

Last synced: 22 days ago
JSON representation

Scientific Computing with Pharo

Awesome Lists containing this project

README

        

PolyMath

[PolyMath]



Scientific Computing with Pharo


Explore the docs »




Report a defect
|
Request feature

[![Pharo version](https://img.shields.io/badge/Pharo-9.0-%23aac9ff.svg)](https://pharo.org/download)
[![Pharo version](https://img.shields.io/badge/Pharo-10-%23aac9ff.svg)](https://pharo.org/download)
[![CI matrix](https://github.com/PolyMathOrg/PolyMath/actions/workflows/smalltalk-ci.yml/badge.svg)](https://github.com/PolyMathOrg/PolyMath/actions/workflows/smalltalk-ci.yml)
[![Coverage Status](https://coveralls.io/repos/github/PolyMathOrg/PolyMath/badge.svg?branch=master)](https://coveralls.io/github/PolyMathOrg/PolyMath?branch=master)
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/PolyMathOrg/PolyMath/master/LICENSE)

Screenshot 2019-04-24 at 11 12 57

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

```Smalltalk
Metacello new
repository: 'github://PolyMathOrg/PolyMath:v1.0.5';
baseline: 'PolyMath';
load
```

and the latest development version of PolyMath:

```Smalltalk
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](https://trunkbaseddevelopment.com/)).

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:

```Smalltalk
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