# Numpoly¶

Numpoly is a generic library for creating, manipulating and evaluating
arrays of polynomials based on `numpy.ndarray`

objects.

The documentation consist of the following parts:

Intuitive interface for users experienced with numpy, as the library provides a high level of compatibility with the

`numpy.ndarray`

, including fancy indexing, broadcasting,`numpy.dtype`

, vectorized operations to name a few.Computationally fast evaluations of lots of functionality inherent from numpy.

Vectorized polynomial evaluation.

Support for arbitrary number of dimensions.

Native support for lots of

`numpy.<name>`

functions using numpy’s compatibility layer (which also exists as`numpoly.<name>`

equivalents).Support for polynomial division through the operators

`/`

,`%`

and`divmod`

.Extra polynomial specific attributes exposed on the polynomial objects like

`exponents`

,`coefficients`

,`indeterminants`

etc.Polynomial derivation through functions like

`numpoly.derivative()`

,`numpoly.gradient()`

,`numpoly.hessian()`

etc.Decompose polynomial sums into vector of addends usin

`numpoly.decompose()`

.Variable substitution through

`numpoly.call()`

.

# Installation¶

Installation should be straight forward from pip:

```
pip install numpoly
```

For developer installation, go to the numpoly repository. Otherwise, check out the user guide to see how to use the toolbox.