a Python library providing tools for combinatorial maths
Project description
TUSC ๐: Toolbox for Understanding Some things in Combinatorics
WIP Python library providing tools for combinatorial maths (partially-ordered sets, graph polynomials, etc.).
Table of Contents
Example Usage
Retrieving the Tutte polynomial for the five-vertex cycle graph (C5):
import tusc
import networkx as nx
C5 = nx.cycle_graph(5)
tutte_C5 = tusc.graph.polynomial.Tutte(C5)
tutte_C5.polynomial
'x^4 + x^3 + x^2 + x + y'
Evaluating the polynomial to find the number of acyclic orientations of C5:
tutte_C5.evaluate(2, 0)
30
Repo Organization
This repo is organized as follows:
tusc
โโโ tusc
โ โโโ general # general utilities, e.g. OEIS lookup
โ โ โโโ utils
โ โโโ graph # graph problems, retrieving graph polynomials
โ โ โโโ distance
โ โ โโโ enumeration # enumerative problems, e.g. counting spanning trees
โ โ โโโ manipulation
โ โ โโโ matching
โ โ โโโ polynomial # retrieving graph polynomials (e.g. Tutte, chromatic)
โ โโโ posets # constructing and analyzing partially-ordered sets
โ โ โโโ utils
โ โ โโโ example_posets
โ โ โโโ poset
โโโ tests
โ โโโ general
โโโ assets
โโโ docs
Requirements
This project was created with:
requests==2.24.0
numpy==1.19.5
sympy==1.6.2
networkx==2.5
Contact
- Lucas Hurley McCabe (email)
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
tusc-0.0.2.tar.gz
(11.8 kB
view hashes)
Built Distribution
tusc-0.0.2-py3-none-any.whl
(24.5 kB
view hashes)