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.5.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

combpyter-0.0.5-py3-none-any.whl (6.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: combpyter-0.0.5.tar.gz
  • Upload date:
  • Size: 5.8 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.5.tar.gz
Algorithm Hash digest
SHA256 470c8a53a33ebd8f3c5284b513353e3515794f68d59f3d62f66dbe58a5b42827
MD5 a8d4a1b06629ceab74810a429ea90505
BLAKE2b-256 d8ea3e5a9ac1304edba50ee22af829ae4da58e563037180f2269e71d17de6d43

See more details on using hashes here.

File details

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

File metadata

  • Download URL: combpyter-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 6.3 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 8d268e73651a72d92720cbbc6c6928de1ddde5234b3f41c59c78e4ed77fb691a
MD5 ace5262fd552743e6054a0fb4ed35896
BLAKE2b-256 9490118bc2abffb8eb413b6cc86b48f99b0f30b0cf9ded3c2bf5e3d8153e9623

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