Polyno: polynomial object
Project description
Polyno
Polynomial object (class)
Installation
pip install polyno
Import Poly object
from polyno import Poly
Set P1 and P2 for the examples below
The parameter of Poly object is
a vector of coefficients in descending
according to the degrees order
or a dictionnary {degree:coef}
>>> P1 = Poly([3, 1, 0])
>>> P2 = Poly({0:5, 3:2})
>>> P2.coefficients()
[5.0, 0, 0, 2.0]
>>>
Print polynomial
>>> P1.toString()
'3x^2 + x'
>>> print(P1)
3x^2 + x
>>> print(P2)
2x^3 + 5
>>>
Addition (with Poly and scalar)
>>> P1 + P2
2x^3 + 3x^2 + x + 5
>>>
>>> P1 + 2
3x^2 + x + 2
>>>
Substraction (with Poly and scalar)
>>> P1 - P2
-2x^3 + 3x^2 + x - 5
>>> P2 - P1
2x^3 - 3x^2 - x + 5
>>> P1 - 2
3x^2 + x - 2
>>>
Multiplication with scalar
>>> P1 * -2
-6x^2 - 2x
>>> P2 * 3
6x^3 + 15
>>>
Multiplication with Poly
>>> P1 * P2
6x^5 + 2x^4 + 15x^2 + 5x
>>>
Division with scalar
>>> P2/2
x^3 + 2.5
>>>
Derivative
>>> P1.derivative()
6x + 1
>>>
k_th order Derivative
>>> print(P2.derivative()) # first order
6x^2
>>> print(P2.derivative(2)) # second order
12x
>>> print(P2.derivative(3)) # third order
12
>>>
Other methods
eval: value of P(x)
integral: polynomial integral from a to b
zero: solution of P(x) = 0 for x in [a, b] interval
Eval
>>> P1.eval(2)
14
Integral
>>> # integeral of P2 from 1 to 3
>>> P2.integral(1, 3)
50
Zero
f(x) = 0 ==> x ?
>>> # solution of P(x) = 0 ?
>>> P = Poly({2:-1, 1:-1, 0:1})
>>> P.zero(0, 10)
0.6180338561534882
>>> P.zero(-3, 0)
-1.6180343627929688
>>>
>>> P.zero(3, 6) # no solution
>>> P.zero(-3, 3) # two solution,
>>> # but nothing is returned
>>> # because of dichotomy (binary search) algorithm
Futures
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
polyno-1.2.5.tar.gz
(5.5 kB
view details)
Built Distribution
File details
Details for the file polyno-1.2.5.tar.gz
.
File metadata
- Download URL: polyno-1.2.5.tar.gz
- Upload date:
- Size: 5.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3dc6178ec57de92df958a26fa57f38b3706908209146dda656f6b5fe31e8b7f5 |
|
MD5 | 87b3a10c6c7057373abd54ba4bd3eb1a |
|
BLAKE2b-256 | 6252173993095613e71da3bce59982f574a105dc5fd7624b122d65309eba73a5 |
File details
Details for the file polyno-1.2.5-py3-none-any.whl
.
File metadata
- Download URL: polyno-1.2.5-py3-none-any.whl
- Upload date:
- Size: 5.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f8071808705d969a63701f4fb967ba0c988a3ef5673e062b97e27b324275a59 |
|
MD5 | bb10d67f9b73641c86220724cedd3730 |
|
BLAKE2b-256 | c0bfa0aeb48db2b25cfd9c5aff3a4682b61f8b550a3de93c2b7bd9cc2fe5366c |