Skip to content

A Python extension written in C, implementing the Polynomial type.

License

Notifications You must be signed in to change notification settings

tchaumeny/PyPoly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pypoly: Python Polynomials

A Python extension I wrote to learn the Python C API. It defines the Polynomial type and some common operations.

Installation

Installation from source:

$ python setup.py install

Or, using pip:

$ pip install PyPolynomial

Usage

Instanciating a polynomial:

>>> from pypoly import Polynomial
>>> P = Polynomial(-1, 0, complex(1, 3))
>>> P
-1 + (1+3j) * X**2
>>> P.degree
2

Or:

>>> from pypoly import X
>>> P = (X - 1) * (X**2 + 2)
>>> P
-2 + 2 * X - X**2 + X**3

Operations on polynomials:

>>> Polynomial(-1, -1) * Polynomial(2, -3)
-2 + X + 3 * X**2
>>> P = Polynomial(1, 2, 3)
>>> P(13)
534.0
>>> (1 + X + X**2) // (1 + X)
X
>>> (2 * X + 3 * X**2 + X**5 + X**7) % (X**2 + 1)
-3 + 2 * X

Even more:

>>> (1 + X**3 - 2 * X**5) >> 2      # Second derivative
6 * X - 40 * X**3
>>> (1 + 2 * X) << 1                # Primitive integral
X + X**2
>>> from pypoly import gcd
>>> gcd(X**6 - 1, X**12 - 1, X**9 - 1)
-1 + X**3

Links

PyPoly tracker (bugs, feature requests, etc.)

Project page on PyPI

Project page on GitHub Build Status

About

A Python extension written in C, implementing the Polynomial type.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •