schubmult 2.0.3__py3-none-any.whl → 2.0.4__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. schubmult/__init__.py +1 -1
  2. schubmult/_base_argparse.py +11 -6
  3. schubmult/_tests.py +19 -4
  4. schubmult/perm_lib.py +52 -112
  5. schubmult/sage_integration/__init__.py +13 -14
  6. schubmult/sage_integration/_fast_double_schubert_polynomial_ring.py +92 -128
  7. schubmult/sage_integration/_fast_schubert_polynomial_ring.py +55 -54
  8. schubmult/sage_integration/_indexing.py +35 -39
  9. schubmult/schubmult_double/__init__.py +5 -15
  10. schubmult/schubmult_double/__main__.py +1 -0
  11. schubmult/schubmult_double/_funcs.py +140 -256
  12. schubmult/schubmult_double/_script.py +41 -41
  13. schubmult/schubmult_py/__init__.py +3 -4
  14. schubmult/schubmult_py/__main__.py +1 -0
  15. schubmult/schubmult_py/_funcs.py +18 -18
  16. schubmult/schubmult_py/_script.py +12 -11
  17. schubmult/schubmult_q/__init__.py +2 -7
  18. schubmult/schubmult_q/__main__.py +1 -0
  19. schubmult/schubmult_q/_funcs.py +24 -27
  20. schubmult/schubmult_q/_script.py +27 -21
  21. schubmult/schubmult_q_double/__init__.py +4 -11
  22. schubmult/schubmult_q_double/__main__.py +1 -0
  23. schubmult/schubmult_q_double/_funcs.py +48 -48
  24. schubmult/schubmult_q_double/_script.py +39 -41
  25. schubmult-2.0.4.dist-info/METADATA +542 -0
  26. schubmult-2.0.4.dist-info/RECORD +30 -0
  27. {schubmult-2.0.3.dist-info → schubmult-2.0.4.dist-info}/WHEEL +1 -1
  28. schubmult-2.0.3.dist-info/METADATA +0 -455
  29. schubmult-2.0.3.dist-info/RECORD +0 -30
  30. {schubmult-2.0.3.dist-info → schubmult-2.0.4.dist-info}/entry_points.txt +0 -0
  31. {schubmult-2.0.3.dist-info → schubmult-2.0.4.dist-info}/licenses/LICENSE +0 -0
  32. {schubmult-2.0.3.dist-info → schubmult-2.0.4.dist-info}/top_level.txt +0 -0
@@ -1,8 +1,7 @@
1
- from sage.combinat.permutation import Permutation
2
-
3
1
  from sage.combinat.composition import Composition
2
+ from sage.combinat.permutation import Permutation
4
3
 
5
- from schubmult.perm_lib import uncode, trimcode, permtrim
4
+ from schubmult.perm_lib import permtrim, trimcode, uncode
6
5
 
7
6
 
8
7
  def _coerce_index(indexed_obj, is_comp, should_be_comp):
@@ -10,42 +9,39 @@ def _coerce_index(indexed_obj, is_comp, should_be_comp):
10
9
  if isinstance(indexed_obj, list) or isinstance(indexed_obj, tuple):
11
10
  if is_comp:
12
11
  return Composition(trimcode(permtrim(uncode(list(indexed_obj)))))
13
- else:
14
- return Permutation(permtrim(list(indexed_obj))).remove_extra_fixed_points()
15
- else:
16
- if not is_comp:
17
- if isinstance(indexed_obj, Permutation):
18
- return indexed_obj.remove_extra_fixed_points()
19
- elif isinstance(indexed_obj, dict):
20
- {
21
- Permutation(permtrim(list(k))).remove_extra_fixed_points(): v
22
- for k, v in indexed_obj.items()
23
- }
24
- else:
25
- if is_comp:
26
- if (
27
- isinstance(indexed_obj, list)
28
- or isinstance(indexed_obj, tuple)
29
- or isinstance(indexed_obj, Composition)
30
- ):
31
- return Permutation(permtrim(uncode(list(indexed_obj)))).remove_extra_fixed_points()
12
+ return Permutation(permtrim(list(indexed_obj))).remove_extra_fixed_points()
13
+ if not is_comp:
14
+ if isinstance(indexed_obj, Permutation):
15
+ return indexed_obj.remove_extra_fixed_points()
16
+ if isinstance(indexed_obj, dict):
17
+ {
18
+ Permutation(permtrim(list(k))).remove_extra_fixed_points(): v
19
+ for k, v in indexed_obj.items()
20
+ }
21
+ elif is_comp:
22
+ if (
23
+ isinstance(indexed_obj, list)
24
+ or isinstance(indexed_obj, tuple)
25
+ or isinstance(indexed_obj, Composition)
26
+ ):
27
+ return Permutation(permtrim(uncode(list(indexed_obj)))).remove_extra_fixed_points()
32
28
 
33
- if isinstance(indexed_obj, dict): # keys are comps
34
- return {
35
- Permutation(permtrim(uncode(list(k)))).remove_extra_fixed_points(): v
36
- for k, v in indexed_obj.items()
37
- }
38
- else:
39
- if (
40
- isinstance(indexed_obj, list)
41
- or isinstance(indexed_obj, tuple)
42
- or isinstance(indexed_obj, Permutation)
43
- ):
44
- return Composition(trimcode(list(indexed_obj)))
29
+ if isinstance(indexed_obj, dict): # keys are comps
30
+ return {
31
+ Permutation(permtrim(uncode(list(k)))).remove_extra_fixed_points(): v
32
+ for k, v in indexed_obj.items()
33
+ }
34
+ else:
35
+ if (
36
+ isinstance(indexed_obj, list)
37
+ or isinstance(indexed_obj, tuple)
38
+ or isinstance(indexed_obj, Permutation)
39
+ ):
40
+ return Composition(trimcode(list(indexed_obj)))
45
41
 
46
- if isinstance(indexed_obj, dict): # keys are comps
47
- return {
48
- Composition(trimcode(permtrim(list(k)))): v
49
- for k, v in indexed_obj.items()
50
- }
42
+ if isinstance(indexed_obj, dict): # keys are comps
43
+ return {
44
+ Composition(trimcode(permtrim(list(k)))): v
45
+ for k, v in indexed_obj.items()
46
+ }
51
47
  raise TypeError
@@ -1,22 +1,12 @@
1
- from ._funcs import (
2
- compute_positive_rep,
3
- schubmult,
4
- single_variable,
5
- mult_poly,
6
- posify,
7
- div_diff,
8
- schub_coprod
9
- )
10
-
11
-
1
+ from ._funcs import compute_positive_rep, div_diff, mult_poly, posify, schub_coprod, schubmult, single_variable
12
2
 
13
3
  __all__ = [
14
4
  "compute_positive_rep",
15
- "schubmult",
16
- "single_variable",
5
+ "div_diff",
6
+ "main",
17
7
  "mult_poly",
18
8
  "posify",
19
- "div_diff",
20
9
  "schub_coprod",
21
- "main"
10
+ "schubmult",
11
+ "single_variable",
22
12
  ]
@@ -1,4 +1,5 @@
1
1
  import sys
2
+
2
3
  from ._script import main
3
4
 
4
5
  if __name__ == "__main__":