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
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 470c8a53a33ebd8f3c5284b513353e3515794f68d59f3d62f66dbe58a5b42827 |
|
MD5 | a8d4a1b06629ceab74810a429ea90505 |
|
BLAKE2b-256 | d8ea3e5a9ac1304edba50ee22af829ae4da58e563037180f2269e71d17de6d43 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d268e73651a72d92720cbbc6c6928de1ddde5234b3f41c59c78e4ed77fb691a |
|
MD5 | ace5262fd552743e6054a0fb4ed35896 |
|
BLAKE2b-256 | 9490118bc2abffb8eb413b6cc86b48f99b0f30b0cf9ded3c2bf5e3d8153e9623 |