# py-polynomial

 Name py-polynomial JSON Version 0.6.2 JSON download home_page https://github.com/allexks/py-polynomial Summary Package defining mathematical single-variable polynomials. upload_time 2022-12-10 13:15:08 maintainer docs_url None author Alexander Ignatov requires_python license MIT keywords VCS bugtrack_url requirements No requirements were recorded. Travis-CI No Travis. coveralls test coverage No coveralls.
```            # Python package defining single-variable polynomials and operations with them

[![PyPI pyversions](https://img.shields.io/pypi/pyversions/py-polynomial.svg)](https://pypi.python.org/pypi/py-polynomial/)

## Installation
`pip install py-polynomial`

## Documentation

## Quick examples
### Flexible initialization
``` pycon
>>> from polynomial import Polynomial

>>> a = Polynomial(1, 2, 3, 4)
>>> str(a)
x^3 + 2x^2 + 3x + 4

>>> b = Polynomial([4 - x for x in range(4)])
>>> str(b)
4x^3 + 3x^2 + 2x + 1
```

### First derivative
``` pycon
>>> b.derivative
Polynomial(12, 6, 2)

>>> str(b.derivative)
12x^2 + 6x + 2
```

### Second or higher derivative
``` pycon
>>> str(b.nth_derivative(2))
24x + 6
```

``` pycon
>>> str(a + b)
5x^3 + 5x^2 + 5x + 5
```

### Calculating value for a given x
``` pycon
>>> (a + b).calculate(5)
780

>>> а(2)  #  equivalent to a.calculate(2)
26
```

### Multiplication
``` pycon
>>> p = Polynomial(1, 2) * Polynomial(1, 2)
>>> p
Polynomial(1, 4, 4)
```

### Accessing coefficient by degree
``` pycon
>>> p[0] = -4
>>> p
Polynomial(1, 4, -4)
```

### Slicing
``` pycon
>>> p[1:] = [4, -1]
>>> p
Polynomial(-1, 4, -4)
```

### Accessing coefficients by name convention
``` pycon
>>> (p.a, p.b, p.c)
(-1, 4, -4)

>>> p.a, p.c = 1, 4
>>> (p.A, p.B, p.C)
(1, 4, 4)
```

### Division and remainder
``` pycon
>>> q, remainder = divmod(p, Polynomial(1, 2))
>>> q
Polynomial(1.0, 2.0)
>>> remainder
Polynomial()

>>> p // Polynomial(1, 2)
Polynomial(1.0, 2.0)

>>> P(1, 2, 3) % Polynomial(1, 2)
Polynomial(3)
```

### Check whether it contains given terms
``` pycon
>>> Polynomial(2, 1) in Polynomial(4, 3, 2, 1)
True
```

### Definite integral
```pycon
>>> Polynomial(3, 2, 1).integral(0, 1)
3
```

### Misc
``` pycon
>>> str(Polynomial("abc"))
ax^2 + bx + c
```

### Roots and discriminants
``` pycon
>>> from polynomial import QuadraticTrinomial, Monomial
>>> y = QuadraticTrinomial(1, -2, 1)
>>> str(y)
x^2 - 2x + 1

>>> y.discriminant
0

>>> y.real_roots
(1, 1)

>>> y.real_factors
(1, Polynomial(1, -1), Polynomial(1, -1))

>>> str(Monomial(5, 3))
5x^3

>>> y += Monomial(9, 2)
>>> y
Polynomial(10, -2, 1)

>>> str(y)
10x^2 - 2x + 1

>>> (y.a, y.b, y.c)
(10, -2, 1)

>>> (y.A, y.B, y.C)
(10, -2, 1)

>>> y.complex_roots
((0.1 + 0.3j), (0.1 - 0.3j))
```

```

### Raw data

```            {
"_id": null,
"home_page": "https://github.com/allexks/py-polynomial",
"name": "py-polynomial",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"author": "Alexander Ignatov",
"author_email": "yalishanda@abv.bg",
"platform": null,
"bugtrack_url": null,
"summary": "Package defining mathematical single-variable polynomials.",
"version": "0.6.2",
"split_keywords": [
"algebra",
"polynomial",
"polynomials",
"mathematics",
"maths",
"derivative",
"derivatives",
"factor",
"factors",
"root",
"roots",
"terms",
"coefficients",
"linear",
"sympy",
"numpy"
],
"urls": [
{
"comment_text": "",
"digests": {
"md5": "3c6c48e44586a8c697648e0ba36edd00",
"sha256": "fe9fe1f3901cd84b1b327d041f1321ac0ebf863ce367e63569305eca95bfac25"
},
"filename": "py_polynomial-0.6.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3c6c48e44586a8c697648e0ba36edd00",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 13775,
"url": "https://files.pythonhosted.org/packages/e4/74/97f38fb78527d32e0d1cd7ec1285370a535c83382aca97fd942586d6a678/py_polynomial-0.6.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "2ce0a7d9a133782a6e594564a6ca1caf",
},
"filename": "py-polynomial-0.6.2.tar.gz",
"has_sig": false,
"md5_digest": "2ce0a7d9a133782a6e594564a6ca1caf",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13917,
"url": "https://files.pythonhosted.org/packages/17/76/bee6bded85e454e47bde6d1a700d920ca1f45879ba5b0f438ca988730848/py-polynomial-0.6.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],