All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Updated dependency on automata-lib to version 7.0.1
- Perm.avoids/contains will raise a TypeError if input is not an iterable of Patt
- Now testing on Python 3.11
- 'simple' to the permtool command for checking if finitely many simples in a class
- bug in autobisc during setup
- Bijection class for known bijection.
- An implementation of the Simion and Schmidt bijection.
- Enumeration strategy to check whether a class has finitely many simple permutations
- Perm.to_standard now uses an lru cache
- Statistic: bounce of a permutation.
- Statistic: maximum drop size.
- Statistic: number of primes in the column sums.
- Statistic: holeyness of a permutation.
- Algorithm:
pop stack sort
. - Statistic: count stack sorts.
- Statistic: count pop stack sorts.
- Statistic: Pinnacle set and number of pinnacles.
- Functions for ascents and descents now take an optional argument to specify what step size to calculate.
- Moved sorting functions from
permuta/bisc/perm_properties.py
topermuta/patterns/perm.py
. - If you pass an iterable (that is not a perm) to a contains method, then it will now raise an error. These should be passed with the splat '*'.
- using Github Actions for testing and deployment
containment_to_tikz
method inPerm
that returns an iterator of tikz pictures displaying occurrences of classical patterns in self.permuta.permutils.PermutationStatistic
to check statistic distribution in classes and preservation and transformation in bijections.
- Python 3.6 is no longer supported
- Include the type hints in the pypi release.
- Typing for
apply
inPerm
fixed. It is now of the same base type as argument.
- Two new tools added to permtools. A command to check if a class has a regular insertion encoding, and a command to compute the lexicographically minimal basis.
- Typing
- pylint
clear_cache
method inPerm
andAv
up_to_length
,of_length
,first
iterators in Perm and Avto_svg
for all patternsshow
method for all patterns (opens browser tab)- Functions returning list (or other data structures) made into generators when possible
BivincularPatt
,VincularPatt
,CovincularPatt
patterns,dihedral_group
generator added topermutils
from_string
method toBasis
andAv
. It accepts both 0 and 1 based perms seperated by anything- Check if polynomial added to
cli
, which can be used with thepoly
command
- Bisc's resource files now included with pypi package
- Type and condition checking and Exception throwing changed to assertions
Basis
moved topermset
modulegen_meshpatt
moved to meshpatt asof_length
generator- Client now uses
Basis.from_string
to parse basis
- Permsets and their interfaces
- Unused algorithms and utils
- Symmetric interfaces
- All rotate function other than
rotate
descriptors
module- sympy dependency
- A quick command line interface to compute the enumeration of a permutation class.
Perm.skew_decomposition
andPerm.sum_decomposition
methods.
- Make
permuta.bisc.permsets
a proper package.
- The unused
permuta.misc.misc
module
- Installation on windows
- The BiSC algorithm that can tell you what mesh patterns are avoided by a set of permutations.
- Updated
__str__
method ofAv
andMeshPatt
. - Introduce a more efficient algorithm to build permutation in a permutation class.
Av([])
returnsPermSetAll()
- Support for Python 3.5 and earlier
MeshPatt
s are now comparable (i.e. a mesh patt is always less then, equal to or greater than another mesh patt) and therefore sortable- Added enumeration strategies that can point out to useful results to find the enumeration of a permutation class.
- Allow for a mix of permutation and mesh patterns in MeshBasis
- The
occurences_in
method of permutation can can handle coloured permutations. - Support for containment of mesh pattern in a mesh pattern.
- The ascii_plot, and to_tikz method in MeshPatt
- is_subclass method in Av
- Support for avoidance of mesh patterns with
Av
- The broken latex method in MeshPatt
- Wrong examples in the README. README.rst is now tested
- Made master branch deploy to PyPi.
- Added testing for Python 3.7 and 3.8.
- Added a from integer method, for creating a Perm from integer.
- Added inversions and non-inversions function that yield pairs.
- Updated repr and str methods to Av, PermSetAll and PermSetStatic.
- The string of a Perm is now one-line notation.
- Can no longer initialise Perm with an integer.
- The demo.
- Broken plot function
- Support for Python 3.4 and earlier.
- The ascii plot, and to_tikz method in Perm.
- Bug in polynomial checker.
- Readme was rewritten in ReST.
- Classifiers and python versions added to setup.py.
- This CHANGELOG file.
- Package added to PYPI
- Tests passing.
- Conforming to PEP8.