Skip to content

Commit 1fb948a

Browse files
Merge pull request #186 from PermutaTriangle/develop
Version 2.2.0
2 parents 6411ca8 + a120b25 commit 1fb948a

24 files changed

+8016
-55
lines changed

.github/workflows/test.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@ jobs:
3131
- python: 3.9
3232
toxenv: py39
3333
os: ubuntu-latest
34+
- python: "3.10"
35+
toxenv: py310
36+
os: ubuntu-latest
3437
- python: pypy-3.7
3538
toxenv: pypy37
3639
os: ubuntu-latest

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
dfa_db/*
12
.mypy_cache
23
# Mac stuff
34
*.DS_Store

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
repos:
22
- repo: https://github.com/psf/black
3-
rev: 21.6b0
3+
rev: 21.9b0
44
hooks:
55
- id: black

.pylintrc

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,15 @@
33
[MASTER]
44
ignore-patterns=test_.*?py,
55
# TODO: REMOVE
6-
bisc.py,
6+
bisc.py,
77
bisc_subfunctions.py
88
ignore= tests
99
init-hook="from pylint.config import find_pylintrc; import os, sys; sys.path.append(os.path.dirname(find_pylintrc())+'/permuta')"
10-
disable=bad-continuation,
10+
disable=bad-continuation,
1111
missing-module-docstring,
1212
fixme,
13-
unsubscriptable-object
13+
unsubscriptable-object,
14+
unspecified-encoding
1415
good-names=i,j,n,k,x,y,_
1516

1617
[SIMILARITIES]

.zenodo.json

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,51 @@
11
{
22
"upload_type": "software",
3+
"title": "Permuta: A Python Library for Permutations and Patterns",
34
"creators": [
45
{
56
"name": "Ragnar Pall Ardal"
67
},
78
{
8-
"name": "Tomas Ken Magnusson"
9+
"name": "Arnar Bjarni Arnarson"
910
},
1011
{
1112
"affiliation": "Reykjavik University",
12-
"name": "Émile Nadeau"
13-
},
14-
{
15-
"name": "Bjarni Jens Kristinsson"
13+
"name": "Christian Bean"
1614
},
1715
{
18-
"name": "Bjarki Agust Gudmundsson"
16+
"name": "Alfur Birkir Bjarnason"
1917
},
2018
{
2119
"affiliation": "Reykjavik University",
22-
"name": "Christian Bean"
20+
"name": "Jon Steinn Eliasson"
2321
},
2422
{
25-
"affiliation": "Reykjavik University",
26-
"name": "Henning Ulfarsson"
23+
"name": "Bjarki Agust Gudmundsson"
2724
},
2825
{
2926
"affiliation": "Reykjavik University",
30-
"name": "Jon Steinn Eliasson"
27+
"name": "Sigurjón Ingi Jónsson"
28+
}
29+
{
30+
"name": "Bjarni Jens Kristinsson"
3131
},
3232
{
33-
"name": "Murray Tannock"
33+
"name": "Tomas Ken Magnusson"
3434
},
3535
{
36-
"name": "Alfur Birkir Bjarnason"
36+
"affiliation": "Reykjavik University",
37+
"name": "Émile Nadeau"
3738
},
3839
{
3940
"affiliation": "Marquette University",
4041
"name": "Jay Pantone"
4142
},
4243
{
43-
"name": "Arnar Bjarni Arnarson"
44+
"name": "Murray Tannock"
4445
},
4546
{
4647
"affiliation": "Reykjavik University",
47-
"name": "Sigurjón Ingi Jónsson"
48-
}
48+
"name": "Henning Ulfarsson"
49+
},
4950
]
5051
}

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,15 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
66

77
## Unreleased
88

9+
## 2.2.0 - 2021-10-21
10+
### Added
11+
- Bijection class for known bijection.
12+
- An implementation of the Simion and Schmidt bijection.
13+
- Enumeration strategy to check whether a class has finitely many simple permutations
14+
15+
### Changed
16+
- Perm.to_standard now uses an lru cache
17+
918
## 2.1.0 - 2021-06-14
1019
### Added
1120
- Statistic: bounce of a permutation.

README.rst

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ permuta
2424
Permuta is a Python library for working with perms (short for permutations),
2525
patterns, and mesh patterns.
2626

27+
If this code is useful to you in your work, please consider citing it. To generate a
28+
BibTeX entry (or another format), click the "DOI" badge above and locate the "Cite As"
29+
section.
30+
2731
If you need support, you can join us in our `Discord support server`_.
2832

2933
.. _Discord support server: https://discord.gg/ngPZVT5
@@ -259,7 +263,7 @@ and a class (no class will use the set of all permutations).
259263
>>> depth.distribution_up_to(4, Av.from_string("123"))
260264
[[1], [1], [1, 1], [0, 2, 3], [0, 0, 3, 7, 4]]
261265
262-
Given a bijection as a dictionary, we can check which statistics are preserved with
266+
Given a bijection as a dictionary, we can check which statistics are preserved with
263267
``check_all_preservations`` and which are transformed with ``check_all_transformed``
264268

265269
.. code-block:: python
@@ -499,9 +503,9 @@ BSD-3: see the `LICENSE <https://github.com/PermutaTriangle/Permuta/blob/master/
499503
Citing
500504
######
501505

502-
If you found this library helpful with your research and would like to cite us,
503-
you can use the following `BibTeX`_ or go to `Zenodo`_ for alternative formats.
506+
If you found this library helpful with your research and would like to cite us,
507+
you can use the following `BibTeX`_ or go to `Zenodo`_ for alternative formats.
504508

505509
.. _BibTex: https://zenodo.org/record/4725759/export/hx#.YImTibX7SUk
506510

507-
.. _Zenodo: https://doi.org/10.5281/zenodo.4725759
511+
.. _Zenodo: https://doi.org/10.5281/zenodo.4725759

mypy.ini

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,7 @@
22
warn_return_any = True
33
warn_unused_configs = True
44
warn_no_return = False
5-
files = permuta/**/*.py
5+
files = permuta/**/*.py
6+
7+
[mypy-automata.*]
8+
ignore_missing_imports = True

permuta/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from .patterns import BivincularPatt, CovincularPatt, MeshPatt, Perm, VincularPatt
22
from .perm_sets.permset import Av, Basis, MeshBasis
33

4-
__version__ = "2.1.0"
4+
__version__ = "2.2.0"
55

66
__all__ = [
77
"Perm",

permuta/enumeration_strategies/__init__.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,17 @@
44

55
from .abstract_strategy import EnumerationStrategy
66
from .core_strategies import core_strategies
7+
from .finitely_many_simples import FinitelyManySimplesStrategy
78
from .insertion_encodable import InsertionEncodingStrategy
89

910
fast_enumeration_strategies: List[Type[EnumerationStrategy]] = [
1011
InsertionEncodingStrategy
1112
]
1213
fast_enumeration_strategies.extend(core_strategies)
1314

14-
long_enumeration_strategies: List[Type[EnumerationStrategy]] = []
15+
long_enumeration_strategies: List[Type[EnumerationStrategy]] = [
16+
FinitelyManySimplesStrategy
17+
]
1518

1619
all_enumeration_strategies: List[Type[EnumerationStrategy]] = (
1720
fast_enumeration_strategies + long_enumeration_strategies

0 commit comments

Comments
 (0)