permpy

Permutation (patterns) workshop in Python


Keywords
permutations, patterns, research, enumeration
License
Other
Install
pip install permpy==0.0.2

Documentation

permpy

A Python Permutations Class

Contains various tools for working interactively with permutaions, with a focus on permutation patterns and classes. Easily extensible.

To install (for now), just clone this repository and import permpy.

See Overview.ipynb for more examples.

Examples:

>>>
>>> import permpy as pp
>>> 
>>> 
>>> p = pp.Permutation.random(8)
>>> 
>>> p
 5 4 7 1 6 2 3 8 
>>> 
>>> 
>>> p.cycles()
'( 6 2 4 1 5 ) ( 7 3 ) ( 8 )'
>>> 
>>> p.order()
10
>>> 
>>> p ** 10
 1 2 3 4 5 6 7 8
>>>

>>> S = pp.PermSet.all(6)
>>> 
>>> S
 Set of 720 permutations
>>> 
>>> S.total_statistic(Perm.inversions)
 5400
>>> 
>>> S.total_statistic(Perm.descents)
 1800
>>> 

>>> 
>>> A = pp.AvClass([ [1,3,2] ])
>>> 
>>> A
[Set of 0 permutations,
 Set of 1 permutations,
 Set of 2 permutations,
 Set of 6 permutations,
 Set of 24 permutations,
 Set of 120 permutations,
 Set of 720 permutations,
 Set of 5040 permutations,
 Set of 40320 permutations]
>>> 
>>> 
>>>