Skip to main content

A lightweight Python library for generating and analyzing combinatorial objects.

Project description

combpyter

A lightweight Python library for generating and analyzing combinatorial objects.

Installation

The latest release is simply pip-installable via PyPI. Simply run

pip install combpyter

to install the library.

Features

Please note that this is a personal and mostly research-driven project. As such, the implemented combinatorial structures span, for the time being, a narrow scope.

Currently, combpyter supports the following combinatorial objects:

  • Dyck paths (elements: DyckPath, generator: DyckPaths)

Example usage

This snippet iterates over all Dyck paths of semi-length 8 and computes the distribution of the number of peaks (which is a statistic described by Narayana numbers).

>>> from combpyter import DyckPaths
>>> from collections import defaultdict
>>> peak_distribution = defaultdict(int)
>>> for path in DyckPaths(8):
...     num_peaks = len(path.peaks())
...     peak_distribution[num_peaks] += 1
...
>>> for num_peaks, num_paths in peak_distribution.items():
...     print(f"There are {num_paths} Dyck paths with {num_peaks} peaks.")
...
There are 1 Dyck paths with 1 peaks.
There are 28 Dyck paths with 2 peaks.
There are 196 Dyck paths with 3 peaks.
There are 490 Dyck paths with 4 peaks.
There are 490 Dyck paths with 5 peaks.
There are 196 Dyck paths with 6 peaks.
There are 28 Dyck paths with 7 peaks.
There are 1 Dyck paths with 8 peaks.

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

combpyter-0.0.4.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

combpyter-0.0.4-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file combpyter-0.0.4.tar.gz.

File metadata

  • Download URL: combpyter-0.0.4.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.9.10 Linux/5.11.0-1028-azure

File hashes

Hashes for combpyter-0.0.4.tar.gz
Algorithm Hash digest
SHA256 03d2d8b800722aca12cc3118bb9884bb76cf66fcc015cec3bdffd44e437a54e4
MD5 f003fdb372cdac3f16a48daf7d4b454e
BLAKE2b-256 f97633be10817e72e32c52b0fd3699cd4a0c96c2799f3116c0a8598e83377b1b

See more details on using hashes here.

File details

Details for the file combpyter-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: combpyter-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 5.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.9.10 Linux/5.11.0-1028-azure

File hashes

Hashes for combpyter-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 a032a669a789f916ac19b871d230b0c86476c516e5c29c23497d3f61058b5cf6
MD5 2a6367dc22640d93d051aeb589f1c5ce
BLAKE2b-256 f0aed75f8baa48a8acade0d8a0c60075d06c669229dd916a32440617fd52a358

See more details on using hashes here.

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