Skip to main content

Python interface to Frank Lübeck's Conway polynomial database

Project description

Python interface to Frank Lübeck’s Conway polynomial database

Introduction

Frank Lübeck maintains a list of pre-computed Conway polynomial coefficients at,

https://www.math.rwth-aachen.de/~Frank.Luebeck/data/ConwayPol/index.html

These are used in several computer algebra systems such as GAP and SageMath to provide quick access to those Conway polynomials. The aim of this package is to make them available through a generic python interface. The package consists of a single module containing a single function that returns a dict of dicts, conway_polynomials.database(). The dictionary’s format is {p: {n: coefficients}}, where p represents your prime and n your degree. The tuple of coefficients is returned in ascending order; that is, the first coefficient (at index zero) is for the constant (degree zero) term.

This package is an evolution of the SageMath conway_polynomials package hosted at,

http://files.sagemath.org/spkg/upstream/conway_polynomials/

and is maintained by the same team of developers. We have kept the versioning scheme consistent to reflect that.

Examples

Retrieve the coefficients of the Conway polynomial for prime p=2 and degree n=5:

>>> import conway_polynomials
>>> cpdb = conway_polynomials.database()
>>> cpdb[2][5]
(1, 0, 1, 0, 0, 1)

The result is cached, so subsequent computations should be fast even if you call the function again:

>>> conway_polynomials.database() is conway_polynomials.database()
True

However, the result is also mutable, so if you need to modify it for some reason then you should create a copy; otherwise your changes will affect future calls:

>>> cpdb = conway_polynomials.database()
>>> cpdb[5][5]
(3, 4, 0, 0, 0, 1)
>>> cpdb[5][5] = (8, 6, 7, 5, 3, 0, 9)
>>> conway_polynomials.database()[5][5]
(8, 6, 7, 5, 3, 0, 9)

Testing

A few doctests within the module (and this README) ensure that everything is working. You can run them from the repository or from a release tarball using:

PYTHONPATH=src python -m doctest \
  README.rst \
  src/conway_polynomials/__init__.py

Or, if you have pytest installed, with simply:

pytest

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

conway-polynomials-0.9.tar.gz (245.1 kB view details)

Uploaded Source

Built Distribution

conway_polynomials-0.9-py3-none-any.whl (177.1 kB view details)

Uploaded Python 3

File details

Details for the file conway-polynomials-0.9.tar.gz.

File metadata

  • Download URL: conway-polynomials-0.9.tar.gz
  • Upload date:
  • Size: 245.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for conway-polynomials-0.9.tar.gz
Algorithm Hash digest
SHA256 6ed2300609bce79f0175d5b8546858eec02854f8be3237db8d1449ccccc1c581
MD5 a627e2653fc1fb2f332cecc8b459cc13
BLAKE2b-256 259439220f3cded2d47ef294695a1e7c94d9976972b6131f241515839263b5fe

See more details on using hashes here.

Provenance

File details

Details for the file conway_polynomials-0.9-py3-none-any.whl.

File metadata

File hashes

Hashes for conway_polynomials-0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 720e1fcd74123c9ea1c18af7c2bdc131a225a721d119ee2d0f008275af2ed395
MD5 331146ff6f7457552a03749662c1e977
BLAKE2b-256 0f2456c308ac3bce865a4123d5ff317e67534326b48e1ac6ddc5303ba736c05d

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page