schubmult 2.0.2__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 (40) hide show
  1. schubmult/__init__.py +1 -1
  2. schubmult/_base_argparse.py +42 -8
  3. schubmult/_tests.py +24 -0
  4. schubmult/perm_lib.py +52 -112
  5. schubmult/sage_integration/__init__.py +13 -13
  6. schubmult/sage_integration/_fast_double_schubert_polynomial_ring.py +139 -118
  7. schubmult/sage_integration/_fast_schubert_polynomial_ring.py +88 -49
  8. schubmult/sage_integration/_indexing.py +35 -32
  9. schubmult/schubmult_double/__init__.py +6 -12
  10. schubmult/schubmult_double/__main__.py +2 -1
  11. schubmult/schubmult_double/_funcs.py +245 -281
  12. schubmult/schubmult_double/_script.py +128 -70
  13. schubmult/schubmult_py/__init__.py +5 -3
  14. schubmult/schubmult_py/__main__.py +2 -1
  15. schubmult/schubmult_py/_funcs.py +68 -23
  16. schubmult/schubmult_py/_script.py +40 -58
  17. schubmult/schubmult_q/__init__.py +3 -7
  18. schubmult/schubmult_q/__main__.py +2 -1
  19. schubmult/schubmult_q/_funcs.py +41 -60
  20. schubmult/schubmult_q/_script.py +39 -30
  21. schubmult/schubmult_q_double/__init__.py +5 -11
  22. schubmult/schubmult_q_double/__main__.py +2 -1
  23. schubmult/schubmult_q_double/_funcs.py +99 -66
  24. schubmult/schubmult_q_double/_script.py +209 -150
  25. schubmult-2.0.4.dist-info/METADATA +542 -0
  26. schubmult-2.0.4.dist-info/RECORD +30 -0
  27. {schubmult-2.0.2.dist-info → schubmult-2.0.4.dist-info}/WHEEL +1 -1
  28. schubmult-2.0.4.dist-info/entry_points.txt +5 -0
  29. {schubmult-2.0.2.dist-info → schubmult-2.0.4.dist-info}/top_level.txt +0 -1
  30. schubmult/schubmult_double/_vars.py +0 -18
  31. schubmult/schubmult_py/_vars.py +0 -3
  32. schubmult/schubmult_q/_vars.py +0 -18
  33. schubmult/schubmult_q_double/_vars.py +0 -21
  34. schubmult-2.0.2.dist-info/METADATA +0 -455
  35. schubmult-2.0.2.dist-info/RECORD +0 -36
  36. schubmult-2.0.2.dist-info/entry_points.txt +0 -5
  37. tests/__init__.py +0 -0
  38. tests/test_fast_double_schubert.py +0 -145
  39. tests/test_fast_schubert.py +0 -38
  40. {schubmult-2.0.2.dist-info → schubmult-2.0.4.dist-info}/licenses/LICENSE +0 -0
@@ -1,38 +0,0 @@
1
- from sage.all import ZZ
2
- from schubmult.sage_integration import FastSchubertPolynomialRing
3
-
4
-
5
- def test_schub_expand():
6
- """
7
- Test expand
8
- """
9
- X = FastSchubertPolynomialRing(ZZ, 100, "x")
10
- R = X._polynomial_ring
11
- assert X([3,1,2]).expand() == R("x1^2")
12
- assert X([5,3,4,1,2]).expand() * X([4,1,5,2,3]).expand() - X([5,3,4,1,2]) * X([4,1,5,2,3]) == 0
13
- assert R("x1")*X([3,4,1,2]) == R("x1^3*x2^2")
14
-
15
- def test_coproduct():
16
- """
17
- Test coproduct
18
- """
19
- X = FastSchubertPolynomialRing(ZZ, 100, "x")
20
- R = X._polynomial_ring
21
- indices = [0, 1, 3, 5]
22
- indices2 = [0, 2, 4, 6]
23
- X.set_coproduct_indices(indices[1:])
24
- subs_dict1 = {R.gens()[i]: R.gens()[indices[i]] for i in range(len(indices))}
25
- subs_dict2 = {R.gens()[i]: R.gens()[indices2[i]] for i in range(len(indices))}
26
-
27
- perm = [3,6,5,1,4,7,2]
28
- assert X(perm) == X(sum([v*X(list(k[0])).expand().subs(subs_dict1)*(X(list(k[1])).expand().subs(subs_dict2)) for k,v in X(perm).coproduct().monomial_coefficients().items()]))
29
-
30
- def test_associative():
31
- """
32
- Test associative on some large perms
33
- """
34
- X = FastSchubertPolynomialRing(ZZ, 100, "x")
35
- perm1 = [6,7,1,5,3,4,2]
36
- perm2 = [1,3,2,7,6,5,4]
37
- perm3 = [3,7,1,6,4,2,5]
38
- assert (X(perm1)*X(perm2))*X(perm3) == X(perm1)*(X(perm2)*X(perm3))