Package for algebraic computation with single, double, and quantum Schubert polynomials
Project description
schubmult
Program and package for rapid computation of Littlewood-Richardson coefficients of Schubert polynomials, compliant with sympy/symengine (and hence indirectly Sage)
The main purpose of this python package is for doing Schubert calculus-related calculations in python (and/or Sage).
- Kinds of things covered (not exhaustive):
- Permutation library
- Fast multiplication of single, double, mixed-variable Schubert polynomials; quantum, quantum double, quantum mixed-variable, and all parabolic versions.
- Noncommutative algebras such as NSym and the free algebra on words of nonnegative integers augmented with combinatorial bases.
- RC graphs/PDs, BPDs, HPDs, SSYT, EG tableaux, and algebraic structures derived from them (Coxeter-Knuth insertion, RSK, RC graph transition formulas, tableaux decompositions). Kashiwara/Demazure crystal raising/lowering operators
- Compatible with sympy and symengine, and hence Sage, probably not terribly difficult to integrate with libraries I'm not familiar with.
To install dev version
pip install git+https://github.com/matthematics/schubmult.git
RCGraph and BPD Functionality
The package implements two main combinatorial models for Schubert calculus:
- RCGraph (Reduced Compatible Graphs): Encodes reduced words for permutations as graphs, supporting crystal operations and algebraic manipulations.
- BPD (Bumpless Pipe Dreams): Represents tilings of an $n \times n$ grid with local tile rules, providing an alternative model for Schubert polynomials.
- HPD (Hybrid Pipe Dreams): They exist in the library and are functional, not nearly as well developed at this time.
Bijections and Conversions
There is a canonical bijection (Gao and Huang, 2017) between RCGraphs and BPDs for a given permutation and grid size:
BPD.from_rc_graph(rc_graph): Converts an RCGraph to a BPD using the inversion data.BPD.to_rc_graph(): Converts a BPD back to its corresponding RCGraph by extracting the reduced compatible sequence from the tile configuration. These conversions are invertible up to normalization and grid size.
Operations
RCGraph and BPD objects support:
- Enumeration for a given permutation and grid size
- Crystal operators (raising/lowering) and combinatorial mutations (currently BPDs only through the bijection)
- Conversion to algebraic elements in the Schubert and nilHecke rings
- Visualization and pretty-printing
- RCGraphs have a product through RCGraphRing (similar to concatenation, not polynomial product)
Example Usage
from schubmult import RCGraph, BPD, Permutation
rc = RCGraph.random_rc_graph(Permutation([5,1,6,2,4,3]), 5)
bpd = BPD.from_rc_graph(rc)
rc2 = bpd.to_rc_graph()
assert rc2 == rc
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file schubmult-4.0.0.tar.gz.
File metadata
- Download URL: schubmult-4.0.0.tar.gz
- Upload date:
- Size: 2.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
39303c4ebf304e620d7210bd99bf51d0e10343f1c1b13e812fbffce0da4cbb3f
|
|
| MD5 |
a091a83ae89842fb4f5ae560df4a6b51
|
|
| BLAKE2b-256 |
0ddb65a4eaa5cc0534bcce47618718aebac04fb5dd31a8656f1e6b08be6e40e2
|
File details
Details for the file schubmult-4.0.0-py3-none-any.whl.
File metadata
- Download URL: schubmult-4.0.0-py3-none-any.whl
- Upload date:
- Size: 258.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bc870f94a7e8ca11724cea20fdadaa0eff79c525af88fa85d7657627d90fccec
|
|
| MD5 |
c7a669c18154aee67efe22e944d94191
|
|
| BLAKE2b-256 |
ab7530723ab245e87ef5e2a1d229a1c92ea8667954a2e5e48995e8899763fb25
|