schubmult 2.0.2__py3-none-any.whl → 2.0.3__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.
- schubmult/__init__.py +1 -1
- schubmult/_base_argparse.py +35 -6
- schubmult/_tests.py +9 -0
- schubmult/sage_integration/__init__.py +1 -0
- schubmult/sage_integration/_fast_double_schubert_polynomial_ring.py +68 -11
- schubmult/sage_integration/_fast_schubert_polynomial_ring.py +43 -5
- schubmult/sage_integration/_indexing.py +11 -4
- schubmult/schubmult_double/__init__.py +6 -2
- schubmult/schubmult_double/__main__.py +1 -1
- schubmult/schubmult_double/_funcs.py +112 -32
- schubmult/schubmult_double/_script.py +109 -51
- schubmult/schubmult_py/__init__.py +5 -2
- schubmult/schubmult_py/__main__.py +1 -1
- schubmult/schubmult_py/_funcs.py +54 -9
- schubmult/schubmult_py/_script.py +33 -52
- schubmult/schubmult_q/__init__.py +1 -0
- schubmult/schubmult_q/__main__.py +1 -1
- schubmult/schubmult_q/_funcs.py +21 -37
- schubmult/schubmult_q/_script.py +19 -16
- schubmult/schubmult_q_double/__init__.py +1 -0
- schubmult/schubmult_q_double/__main__.py +1 -1
- schubmult/schubmult_q_double/_funcs.py +57 -24
- schubmult/schubmult_q_double/_script.py +200 -139
- {schubmult-2.0.2.dist-info → schubmult-2.0.3.dist-info}/METADATA +4 -4
- schubmult-2.0.3.dist-info/RECORD +30 -0
- {schubmult-2.0.2.dist-info → schubmult-2.0.3.dist-info}/WHEEL +1 -1
- schubmult-2.0.3.dist-info/entry_points.txt +5 -0
- {schubmult-2.0.2.dist-info → schubmult-2.0.3.dist-info}/top_level.txt +0 -1
- schubmult/schubmult_double/_vars.py +0 -18
- schubmult/schubmult_py/_vars.py +0 -3
- schubmult/schubmult_q/_vars.py +0 -18
- schubmult/schubmult_q_double/_vars.py +0 -21
- schubmult-2.0.2.dist-info/RECORD +0 -36
- schubmult-2.0.2.dist-info/entry_points.txt +0 -5
- tests/__init__.py +0 -0
- tests/test_fast_double_schubert.py +0 -145
- tests/test_fast_schubert.py +0 -38
- {schubmult-2.0.2.dist-info → schubmult-2.0.3.dist-info}/licenses/LICENSE +0 -0
@@ -1,7 +1,12 @@
|
|
1
1
|
import sys
|
2
2
|
import numpy as np
|
3
|
-
from .
|
4
|
-
|
3
|
+
from schubmult.schubmult_q_double._funcs import (
|
4
|
+
schubmult,
|
5
|
+
schubmult_db,
|
6
|
+
# mult_poly,
|
7
|
+
nil_hecke,
|
8
|
+
factor_out_q_keep_factored,
|
9
|
+
)
|
5
10
|
from schubmult.schubmult_double import compute_positive_rep, posify, div_diff
|
6
11
|
from symengine import expand, sympify, symarray
|
7
12
|
from schubmult.perm_lib import (
|
@@ -23,9 +28,40 @@ from schubmult.perm_lib import (
|
|
23
28
|
omega,
|
24
29
|
)
|
25
30
|
from schubmult._base_argparse import schub_argparse
|
31
|
+
from functools import cached_property
|
32
|
+
|
33
|
+
|
34
|
+
class _gvars:
|
35
|
+
@cached_property
|
36
|
+
def n(self):
|
37
|
+
return 100
|
38
|
+
|
39
|
+
# @cached_property
|
40
|
+
# def fvar(self):
|
41
|
+
# return 100
|
42
|
+
|
43
|
+
@cached_property
|
44
|
+
def var1(self):
|
45
|
+
return tuple(symarray("x", self.n).tolist())
|
46
|
+
|
47
|
+
@cached_property
|
48
|
+
def var2(self):
|
49
|
+
return tuple(symarray("y", self.n).tolist())
|
50
|
+
|
51
|
+
@cached_property
|
52
|
+
def var3(self):
|
53
|
+
return tuple(symarray("z", self.n).tolist())
|
54
|
+
|
55
|
+
@cached_property
|
56
|
+
def var_r(self):
|
57
|
+
return symarray("r", 100)
|
58
|
+
|
26
59
|
|
60
|
+
_vars = _gvars()
|
27
61
|
|
28
|
-
|
62
|
+
|
63
|
+
def _display_full(coeff_dict, args, formatter, posified=None, var2=_vars.var2, var3=_vars.var3):
|
64
|
+
raw_result_dict = {}
|
29
65
|
mult = args.mult
|
30
66
|
|
31
67
|
perms = args.perms
|
@@ -37,12 +73,17 @@ def _display_full(coeff_dict, args, formatter, posified=None, var2=var2, var3=va
|
|
37
73
|
display_positive = args.display_positive
|
38
74
|
expa = args.expa
|
39
75
|
slow = args.slow
|
40
|
-
nilhecke_apply = False
|
76
|
+
nilhecke_apply = False
|
77
|
+
subs_dict2 = {}
|
78
|
+
for i in range(1, 100):
|
79
|
+
sm = var2[1]
|
80
|
+
for j in range(1, i):
|
81
|
+
sm += _vars.var_r[j]
|
82
|
+
subs_dict2[var2[i]] = sm
|
41
83
|
|
42
84
|
coeff_perms = list(coeff_dict.keys())
|
43
85
|
coeff_perms.sort(key=lambda x: (inv(x), *x))
|
44
86
|
|
45
|
-
var_r = symarray("r", 100)
|
46
87
|
for perm in coeff_perms:
|
47
88
|
val = coeff_dict[perm]
|
48
89
|
if expand(val) != 0:
|
@@ -50,81 +91,85 @@ def _display_full(coeff_dict, args, formatter, posified=None, var2=var2, var3=va
|
|
50
91
|
int(val)
|
51
92
|
except Exception:
|
52
93
|
val2 = 0
|
53
|
-
if display_positive and not posified
|
94
|
+
if display_positive and not posified:
|
54
95
|
q_dict = factor_out_q_keep_factored(val)
|
55
96
|
for q_part in q_dict:
|
56
97
|
try:
|
57
98
|
val2 += q_part * int(q_dict[q_part])
|
58
99
|
except Exception:
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
len(perms) == 2
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
100
|
+
if same:
|
101
|
+
to_add = q_part * expand(sympify(q_dict[q_part]).xreplace(subs_dict2))
|
102
|
+
val2 += to_add
|
103
|
+
else:
|
104
|
+
try:
|
105
|
+
if len(perms) == 2:
|
106
|
+
u = tuple(permtrim([*perms[0]]))
|
107
|
+
v = tuple(permtrim([*perms[1]]))
|
108
|
+
if (
|
109
|
+
len(perms) == 2
|
110
|
+
and code(inverse(perms[1])) == medium_theta(inverse(perms[1]))
|
111
|
+
and not mult
|
112
|
+
and not slow
|
113
|
+
and not nilhecke_apply
|
114
|
+
):
|
115
|
+
val2 += q_part * q_dict[q_part]
|
116
|
+
else:
|
117
|
+
q_part2 = q_part
|
118
|
+
if not mult and not nilhecke_apply and len(perms) == 2:
|
119
|
+
qv = q_vector(q_part)
|
120
|
+
u2, v2, w2 = u, v, perm
|
78
121
|
u2, v2, w2, qv, did_one = reduce_q_coeff(u2, v2, w2, qv)
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
# reduced to classical coefficient
|
84
|
-
val2 += q_part * posify(
|
85
|
-
q_dict[q_part],
|
86
|
-
u2,
|
87
|
-
v2,
|
88
|
-
w2,
|
89
|
-
var2_t,
|
90
|
-
var3_t,
|
91
|
-
msg,
|
92
|
-
False,
|
122
|
+
while did_one:
|
123
|
+
u2, v2, w2, qv, did_one = reduce_q_coeff(u2, v2, w2, qv)
|
124
|
+
q_part2 = np.prod(
|
125
|
+
[q_var[i + 1] ** qv[i] for i in range(len(qv))]
|
93
126
|
)
|
127
|
+
if q_part2 == 1:
|
128
|
+
# reduced to classical coefficient
|
129
|
+
val2 += q_part * posify(
|
130
|
+
q_dict[q_part],
|
131
|
+
u2,
|
132
|
+
v2,
|
133
|
+
w2,
|
134
|
+
var2,
|
135
|
+
var3,
|
136
|
+
msg,
|
137
|
+
False,
|
138
|
+
)
|
139
|
+
else:
|
140
|
+
val2 += q_part * compute_positive_rep(
|
141
|
+
q_dict[q_part],
|
142
|
+
var2,
|
143
|
+
var3,
|
144
|
+
msg,
|
145
|
+
False,
|
146
|
+
)
|
94
147
|
else:
|
95
148
|
val2 += q_part * compute_positive_rep(
|
96
149
|
q_dict[q_part],
|
97
|
-
|
98
|
-
|
150
|
+
var2,
|
151
|
+
var3,
|
99
152
|
msg,
|
100
153
|
False,
|
101
154
|
)
|
155
|
+
except Exception as e:
|
156
|
+
if mult:
|
157
|
+
print(
|
158
|
+
"warning; --display-positive is on but result is not positive",
|
159
|
+
file=sys.stderr,
|
160
|
+
)
|
161
|
+
val2 = val
|
162
|
+
break
|
102
163
|
else:
|
103
|
-
|
104
|
-
|
105
|
-
var2_t,
|
106
|
-
var3_t,
|
107
|
-
msg,
|
108
|
-
False,
|
164
|
+
print(
|
165
|
+
f"error; write to schubmult@gmail.com with the case {perms=} {perm=} {val=} {coeff_dict.get(perm,0)=}"
|
109
166
|
)
|
110
|
-
|
111
|
-
|
112
|
-
print(
|
113
|
-
"warning; --display-positive is on but result is not positive",
|
114
|
-
file=sys.stderr,
|
115
|
-
)
|
116
|
-
val2 = val
|
117
|
-
break
|
118
|
-
else:
|
119
|
-
print(
|
120
|
-
f"error; write to schubmult@gmail.com with the case {perms=} {perm=} {val=} {coeff_dict.get(perm,0)=}"
|
121
|
-
)
|
122
|
-
print(f"Exception: {e}")
|
123
|
-
import traceback
|
167
|
+
print(f"Exception: {e}")
|
168
|
+
import traceback
|
124
169
|
|
125
|
-
|
126
|
-
|
127
|
-
if check and expand(val - val2) != 0:
|
170
|
+
traceback.print_exc()
|
171
|
+
exit(1)
|
172
|
+
if not same and check and expand(val - val2) != 0:
|
128
173
|
if mult:
|
129
174
|
val2 = val
|
130
175
|
else:
|
@@ -133,26 +178,25 @@ def _display_full(coeff_dict, args, formatter, posified=None, var2=var2, var3=va
|
|
133
178
|
)
|
134
179
|
exit(1)
|
135
180
|
val = val2
|
136
|
-
if
|
137
|
-
if same:
|
138
|
-
subs_dict = {}
|
139
|
-
for i in range(1, 100):
|
140
|
-
sm = var2[1]
|
141
|
-
for j in range(1, i):
|
142
|
-
sm += var_r[j]
|
143
|
-
subs_dict[var2[i]] = sm
|
144
|
-
val = sympify(coeff_dict[perm]).subs(subs_dict)
|
145
|
-
elif expa:
|
181
|
+
if expa:
|
146
182
|
val = expand(val)
|
147
183
|
if val != 0:
|
148
184
|
if ascode:
|
149
|
-
|
185
|
+
raw_result_dict[tuple(trimcode(perm))] = val
|
186
|
+
if formatter:
|
187
|
+
print(f"{str(trimcode(perm))} {formatter(val)}")
|
150
188
|
else:
|
151
|
-
|
189
|
+
raw_result_dict[tuple(perm)] = val
|
190
|
+
if formatter:
|
191
|
+
print(f"{str(perm)} {formatter(val)}")
|
192
|
+
return raw_result_dict
|
152
193
|
|
153
194
|
|
154
|
-
def main():
|
155
|
-
|
195
|
+
def main(argv=None):
|
196
|
+
if argv is None:
|
197
|
+
argv = sys.argv
|
198
|
+
var2 = tuple(symarray("y", 100))
|
199
|
+
var3 = tuple(symarray("z", 100))
|
156
200
|
try:
|
157
201
|
sys.setrecursionlimit(1000000)
|
158
202
|
|
@@ -161,17 +205,24 @@ def main():
|
|
161
205
|
"Compute coefficients of products of quantum double Schubert polynomials in the same or different sets of coefficient variables",
|
162
206
|
yz=True,
|
163
207
|
quantum=True,
|
208
|
+
argv=argv[1:],
|
164
209
|
)
|
210
|
+
subs_dict2 = {}
|
211
|
+
for i in range(1, 100):
|
212
|
+
sm = var2[1]
|
213
|
+
for j in range(1, i):
|
214
|
+
sm += _vars.var_r[j]
|
215
|
+
subs_dict2[var2[i]] = sm
|
165
216
|
|
166
|
-
mult = args.mult
|
167
|
-
mulstring = args.mulstring
|
217
|
+
mult = args.mult # noqa: F841
|
218
|
+
mulstring = args.mulstring # noqa: F841
|
168
219
|
|
169
220
|
perms = args.perms
|
170
221
|
|
171
222
|
ascode = args.ascode
|
172
223
|
msg = args.msg
|
173
224
|
display_positive = args.display_positive
|
174
|
-
pr = args.pr
|
225
|
+
pr = args.pr
|
175
226
|
parabolic_index = [int(s) for s in args.parabolic]
|
176
227
|
parabolic = len(parabolic_index) != 0
|
177
228
|
slow = args.slow
|
@@ -212,18 +263,18 @@ def main():
|
|
212
263
|
coeff_dict = schubmult_db(coeff_dict, perm, var2, var3)
|
213
264
|
else:
|
214
265
|
coeff_dict = schubmult(coeff_dict, perm, var2, var3)
|
215
|
-
|
216
|
-
for v in var2:
|
217
|
-
|
218
|
-
for v in var3:
|
219
|
-
|
220
|
-
for v in var_x:
|
221
|
-
|
222
|
-
for v in q_var:
|
223
|
-
|
224
|
-
|
225
|
-
mul_exp = eval(mulstring)
|
226
|
-
coeff_dict = mult_poly(coeff_dict, mul_exp)
|
266
|
+
# if mult:
|
267
|
+
# for v in var2:
|
268
|
+
# globals()[str(v)] = v
|
269
|
+
# for v in var3:
|
270
|
+
# globals()[str(v)] = v
|
271
|
+
# for v in var_x:
|
272
|
+
# globals()[str(v)] = v
|
273
|
+
# for v in q_var:
|
274
|
+
# globals()[str(v)] = v
|
275
|
+
|
276
|
+
# mul_exp = eval(mulstring)
|
277
|
+
# coeff_dict = mult_poly(coeff_dict, mul_exp)
|
227
278
|
|
228
279
|
posified = False
|
229
280
|
if parabolic:
|
@@ -271,67 +322,77 @@ def main():
|
|
271
322
|
except Exception:
|
272
323
|
pass
|
273
324
|
q_val_part = q_dict[q_part]
|
274
|
-
if display_positive
|
325
|
+
if display_positive:
|
275
326
|
try:
|
276
327
|
q_val_part = int(q_val_part)
|
277
328
|
except Exception:
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
tuple(v),
|
286
|
-
w_1,
|
287
|
-
var2_t,
|
288
|
-
var3_t,
|
289
|
-
msg,
|
290
|
-
False,
|
291
|
-
)
|
292
|
-
else:
|
293
|
-
qv = q_vector(q_part)
|
294
|
-
u2, v2, w2 = perms[0], perms[1], w_1
|
295
|
-
u2, v2, w2, qv, did_one = reduce_q_coeff(u2, v2, w2, qv)
|
296
|
-
while did_one:
|
297
|
-
u2, v2, w2, qv, did_one = reduce_q_coeff(u2, v2, w2, qv)
|
298
|
-
q_part2 = np.prod(
|
299
|
-
[q_var[i + 1] ** qv[i] for i in range(len(qv))]
|
300
|
-
)
|
301
|
-
if q_part2 == 1:
|
329
|
+
if same:
|
330
|
+
q_val_part = expand(sympify(q_val_part).xreplace(subs_dict2))
|
331
|
+
else:
|
332
|
+
try:
|
333
|
+
if len(perms) == 2 and q_part == 1:
|
334
|
+
u = permtrim([*perms[0]])
|
335
|
+
v = permtrim([*perms[1]])
|
302
336
|
q_val_part = posify(
|
303
337
|
q_dict[q_part],
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
338
|
+
tuple(u),
|
339
|
+
tuple(v),
|
340
|
+
w_1,
|
341
|
+
var2,
|
342
|
+
var3,
|
309
343
|
msg,
|
310
344
|
False,
|
311
345
|
)
|
312
346
|
else:
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
347
|
+
qv = q_vector(q_part)
|
348
|
+
u2, v2, w2 = perms[0], perms[1], w_1
|
349
|
+
u2, v2, w2, qv, did_one = reduce_q_coeff(u2, v2, w2, qv)
|
350
|
+
while did_one:
|
351
|
+
u2, v2, w2, qv, did_one = reduce_q_coeff(u2, v2, w2, qv)
|
352
|
+
q_part2 = np.prod(
|
353
|
+
[q_var[i + 1] ** qv[i] for i in range(len(qv))]
|
319
354
|
)
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
355
|
+
if q_part2 == 1:
|
356
|
+
q_val_part = posify(
|
357
|
+
q_dict[q_part],
|
358
|
+
u2,
|
359
|
+
v2,
|
360
|
+
w2,
|
361
|
+
var2,
|
362
|
+
var3,
|
363
|
+
msg,
|
364
|
+
False,
|
365
|
+
)
|
366
|
+
else:
|
367
|
+
q_val_part = compute_positive_rep(
|
368
|
+
q_dict[q_part],
|
369
|
+
var2,
|
370
|
+
var3,
|
371
|
+
msg,
|
372
|
+
False,
|
373
|
+
)
|
374
|
+
except Exception as e:
|
375
|
+
print(
|
376
|
+
f"error; write to schubmult@gmail.com with the case {perms=} {perm=} {q_part*q_val_part=} {coeff_dict.get(w_1,0)=}"
|
377
|
+
)
|
378
|
+
print(f"Exception: {e}")
|
379
|
+
exit(1)
|
380
|
+
coeff_dict_update[w] = (
|
381
|
+
coeff_dict_update.get(w, 0) + new_q_part * q_val_part
|
382
|
+
)
|
327
383
|
|
328
384
|
coeff_dict = coeff_dict_update
|
329
385
|
|
330
|
-
|
331
|
-
|
386
|
+
raw_result_dict = {}
|
387
|
+
if pr or formatter is None:
|
388
|
+
raw_result_dict = _display_full(coeff_dict, args, formatter, posified)
|
389
|
+
if formatter is None:
|
390
|
+
return raw_result_dict
|
332
391
|
except BrokenPipeError:
|
333
392
|
pass
|
334
393
|
|
335
394
|
|
336
395
|
if __name__ == "__main__":
|
337
|
-
|
396
|
+
import sys
|
397
|
+
|
398
|
+
main(sys.argv)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: schubmult
|
3
|
-
Version: 2.0.
|
3
|
+
Version: 2.0.3
|
4
4
|
Summary: Package for algebraic computation with single, double, and quantum Schubert polynomials
|
5
5
|
Author-email: Matt Samuel <schubmult@gmail.com>
|
6
6
|
Maintainer-email: Matt Samuel <schubmult@gmail.com>
|
@@ -18,7 +18,7 @@ Requires-Dist: sympy>=1.12
|
|
18
18
|
Requires-Dist: psutil
|
19
19
|
Requires-Dist: cachetools
|
20
20
|
Requires-Dist: sortedcontainers
|
21
|
-
Requires-Dist: setuptools
|
21
|
+
Requires-Dist: setuptools
|
22
22
|
Provides-Extra: sage
|
23
23
|
Requires-Dist: sagemath-standard; extra == "sage"
|
24
24
|
Dynamic: license-file
|
@@ -207,8 +207,8 @@ This will install the [sagemath-standard](https://pypi.org/project/sagemath-stan
|
|
207
207
|
## Basic sage example
|
208
208
|
|
209
209
|
```python
|
210
|
-
sage: from schubmult.sage_integration import
|
211
|
-
|
210
|
+
sage: from schubmult.sage_integration import FastSchubertPolynomialRing, FastDoubleSchubertPolynomialRing,
|
211
|
+
FastQuantumSchubertPolynomialRing, FastQuantumDoubleSchubertPolynomialRing
|
212
212
|
sage: SingleRing = FastSchubertPolynomialRing(ZZ, 100, "x")
|
213
213
|
sage: SingleRing([3,4,1,2])
|
214
214
|
Sx[3, 4, 1, 2]
|
@@ -0,0 +1,30 @@
|
|
1
|
+
schubmult/__init__.py,sha256=HFL2NgNf74s56viRPRlgp_rAmKP1MzrtnJeQ8LxF_8M,21
|
2
|
+
schubmult/_base_argparse.py,sha256=m6Ffzb2Ec7kxdH_bH9iFtIOTjKR6bpyFXccPnviFlq4,6213
|
3
|
+
schubmult/_tests.py,sha256=SmN_w9FsUDXZKttuzrfAeiP2zLUtF5M5pIH3DLoKOa8,260
|
4
|
+
schubmult/perm_lib.py,sha256=Q2Z_8fIDzBE2Y-f9BMEqmxyxRWw-Auu2vuyjO02v5-k,31815
|
5
|
+
schubmult/sage_integration/__init__.py,sha256=YMco9u--i3SYl4KXeO_EqS4zKIIqZo0mCVccm3KsbNk,799
|
6
|
+
schubmult/sage_integration/_fast_double_schubert_polynomial_ring.py,sha256=RxzBGprT1fOeail4e6V90hMDrbM2RSJc4p5LvA8qDds,22068
|
7
|
+
schubmult/sage_integration/_fast_schubert_polynomial_ring.py,sha256=Nv9lWTuUfPRTOAu_Ge-lTBa_2vzCoOZXpVIb-Txw6WE,14156
|
8
|
+
schubmult/sage_integration/_indexing.py,sha256=EYRkGaOIwftC3huvto8toqdVrnjezdzmVhego6RDmQ4,2007
|
9
|
+
schubmult/schubmult_double/__init__.py,sha256=Cc-yVBj53VXxe20KdyVdF-W1LsPU_mRutXUy6yN-xh4,307
|
10
|
+
schubmult/schubmult_double/__main__.py,sha256=xi7dE5cpRZzkK-LVOGAGyaNDBdC-YGzUJJPcuB6T2rQ,99
|
11
|
+
schubmult/schubmult_double/_funcs.py,sha256=znzIKO4yGw7LOTWc_yaiFGCoQQ8tGQScgeYeSrmtzQw,53819
|
12
|
+
schubmult/schubmult_double/_script.py,sha256=i8HCnub_VGgCuolZiPNxFaNtYF2auUwyqVpew59eNtg,17360
|
13
|
+
schubmult/schubmult_py/__init__.py,sha256=wdzFhh9fdNl_uSaPtyfXf1D6EfjJE7ycOoEkKi-8j8Y,142
|
14
|
+
schubmult/schubmult_py/__main__.py,sha256=xi7dE5cpRZzkK-LVOGAGyaNDBdC-YGzUJJPcuB6T2rQ,99
|
15
|
+
schubmult/schubmult_py/_funcs.py,sha256=tGmJTz3FT7AAL4iwnpBEXJhdTVbwlr3dY1ddJkWrnvo,4803
|
16
|
+
schubmult/schubmult_py/_script.py,sha256=oiKOKLe8EicpesZTeFucJSuKoG-u7oceexCY6Fn0f9Q,3270
|
17
|
+
schubmult/schubmult_q/__init__.py,sha256=OIDt8M_rWHZdKMl38NKyxCXJrBZhNiD0WpqxDjZU1Eg,141
|
18
|
+
schubmult/schubmult_q/__main__.py,sha256=xi7dE5cpRZzkK-LVOGAGyaNDBdC-YGzUJJPcuB6T2rQ,99
|
19
|
+
schubmult/schubmult_q/_funcs.py,sha256=tf1eNFs1gdrrmzut0CHMO675j518cGRjHiQYzkkRmbA,10131
|
20
|
+
schubmult/schubmult_q/_script.py,sha256=ZznlsTfih_4MgFnTnpkLkaIm00lQwK2fvBjZr4hS-to,5018
|
21
|
+
schubmult/schubmult_q_double/__init__.py,sha256=IGDsxBS5mHTbPXXJ6Pra9LUmIm2HfhnAAU0EJKxMOOc,255
|
22
|
+
schubmult/schubmult_q_double/__main__.py,sha256=xi7dE5cpRZzkK-LVOGAGyaNDBdC-YGzUJJPcuB6T2rQ,99
|
23
|
+
schubmult/schubmult_q_double/_funcs.py,sha256=HAD4DajZbGvmrAS66C9haUHA0B7Bdb4SN652GAeQgzY,19218
|
24
|
+
schubmult/schubmult_q_double/_script.py,sha256=6bSkcpMoYjCktJzXz3N80as01teBtw4ZuAvJ5m6Vusw,16478
|
25
|
+
schubmult-2.0.3.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
26
|
+
schubmult-2.0.3.dist-info/METADATA,sha256=MrrmzKDk_lc_WypnLh8HM-oR0v4LeROQ-JXGCKSyJSM,32373
|
27
|
+
schubmult-2.0.3.dist-info/WHEEL,sha256=L0N565qmK-3nM2eBoMNFszYJ_MTx03_tQ0CQu1bHLYo,91
|
28
|
+
schubmult-2.0.3.dist-info/entry_points.txt,sha256=_W_Xff08pmbrTZGBhRrU4n9jOIMaco9S_cqE17Tb4r4,240
|
29
|
+
schubmult-2.0.3.dist-info/top_level.txt,sha256=IkujyjRu8lbpoSTdPE8DmMJ9sbyXHpo9L0RHL7nOzM0,10
|
30
|
+
schubmult-2.0.3.dist-info/RECORD,,
|
@@ -1,18 +0,0 @@
|
|
1
|
-
from symengine import symarray
|
2
|
-
|
3
|
-
n = 100
|
4
|
-
fvar = 0
|
5
|
-
|
6
|
-
var = tuple(symarray("x", n).tolist())
|
7
|
-
var2 = tuple(symarray("y", n).tolist())
|
8
|
-
var3 = tuple(symarray("z", n).tolist())
|
9
|
-
|
10
|
-
var_x = symarray("x", 100).tolist()
|
11
|
-
var_y = var2
|
12
|
-
var_z = var3
|
13
|
-
|
14
|
-
x = var_x
|
15
|
-
y = var_y
|
16
|
-
z = var_z
|
17
|
-
|
18
|
-
var_r = symarray("r", 100)
|
schubmult/schubmult_py/_vars.py
DELETED
schubmult/schubmult_q/_vars.py
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
from symengine import symarray
|
2
|
-
|
3
|
-
n = 100
|
4
|
-
|
5
|
-
var = symarray("x", n)
|
6
|
-
var2 = symarray("y", n)
|
7
|
-
var3 = var2
|
8
|
-
var_r = symarray("r", n)
|
9
|
-
|
10
|
-
subs_dict = {}
|
11
|
-
|
12
|
-
var_x = symarray("x", 100).tolist()
|
13
|
-
|
14
|
-
for i in range(1, n):
|
15
|
-
sm = var_r[0]
|
16
|
-
for j in range(1, i):
|
17
|
-
sm += var_r[j]
|
18
|
-
subs_dict[var2[i]] = sm
|
@@ -1,21 +0,0 @@
|
|
1
|
-
from symengine import symarray
|
2
|
-
from schubmult.perm_lib import q_var
|
3
|
-
|
4
|
-
var2 = symarray("y", 100)
|
5
|
-
var3 = symarray("z", 100)
|
6
|
-
|
7
|
-
var_y = var2.tolist()
|
8
|
-
var_z = var3.tolist()
|
9
|
-
var_x = symarray("x", 100).tolist()
|
10
|
-
|
11
|
-
x = var_x
|
12
|
-
y = var_y
|
13
|
-
z = var_z
|
14
|
-
|
15
|
-
q_var2 = q_var.tolist()
|
16
|
-
|
17
|
-
var2_t = tuple(var2.tolist())
|
18
|
-
var3_t = tuple(var3.tolist())
|
19
|
-
|
20
|
-
n = 100
|
21
|
-
|
schubmult-2.0.2.dist-info/RECORD
DELETED
@@ -1,36 +0,0 @@
|
|
1
|
-
schubmult/__init__.py,sha256=xARS6PXiulA1Bog5UZUM6hqQfydeRzKLyWtOyUBL-Ss,21
|
2
|
-
schubmult/_base_argparse.py,sha256=Gpr2rKcjmXH4Ufl84e0s7mX-ezDrMUZSUiZ5PPg2ndY,5523
|
3
|
-
schubmult/perm_lib.py,sha256=Q2Z_8fIDzBE2Y-f9BMEqmxyxRWw-Auu2vuyjO02v5-k,31815
|
4
|
-
schubmult/sage_integration/__init__.py,sha256=_EeNYfhM92qVbabAPJ9jdwedhD750D--EpIhWzkAP1o,797
|
5
|
-
schubmult/sage_integration/_fast_double_schubert_polynomial_ring.py,sha256=mtlcjrqrOuJm0jXPlkDL49Kt3y4zalBZ7YcSgWBtsUw,20067
|
6
|
-
schubmult/sage_integration/_fast_schubert_polynomial_ring.py,sha256=V2x2IEezPtNyn1Xh9KPW2Ajm1slRK_6i_CrGT9dDBK4,12957
|
7
|
-
schubmult/sage_integration/_indexing.py,sha256=29zYqbylKJZz9XqYGfJXFfeaYa3ifXtxpEQIvAQEfI4,1576
|
8
|
-
schubmult/schubmult_double/__init__.py,sha256=2-mZz_moyqcq1ncx7_YB6FNtztNycHZvGiJjtRlLPiE,256
|
9
|
-
schubmult/schubmult_double/__main__.py,sha256=qhN6z5Evi4PakpzTM4wXHsYCSwfA0T-M2RYDzVcmNdE,91
|
10
|
-
schubmult/schubmult_double/_funcs.py,sha256=XMf3b1RZEus10zM0zE1gQU8iHJIreYeAhEmNCVTVtds,51551
|
11
|
-
schubmult/schubmult_double/_script.py,sha256=I_IAvlpVeleYJj3uaWe8-vZWLTfAvLRJ2WrU9vRnMgI,15180
|
12
|
-
schubmult/schubmult_double/_vars.py,sha256=YjtEmP7TEx64WFq8PIE2Zfx62fOALGwynunnOapSKPI,290
|
13
|
-
schubmult/schubmult_py/__init__.py,sha256=WCH_afeTqjjozAFkqJDyO1t62U0PRXsZF8r8JKNjs7s,102
|
14
|
-
schubmult/schubmult_py/__main__.py,sha256=qhN6z5Evi4PakpzTM4wXHsYCSwfA0T-M2RYDzVcmNdE,91
|
15
|
-
schubmult/schubmult_py/_funcs.py,sha256=G9nw3GNLIiY09Xq6L0nZVOwWx9C8q1FN2-7jhn-3_0M,3440
|
16
|
-
schubmult/schubmult_py/_script.py,sha256=Y4qkqTaq1v0YZV3cUURUS9YIvRrwpeJWN3f59HrM3-g,3930
|
17
|
-
schubmult/schubmult_py/_vars.py,sha256=10b7uZhrKg65eMdInI_74CMnhGOXMxInxhMqKbp_hco,68
|
18
|
-
schubmult/schubmult_q/__init__.py,sha256=9RA1-qRIe1A5EumnXTygFrasdeJZHh9o-WESZJ9X3tw,140
|
19
|
-
schubmult/schubmult_q/__main__.py,sha256=qhN6z5Evi4PakpzTM4wXHsYCSwfA0T-M2RYDzVcmNdE,91
|
20
|
-
schubmult/schubmult_q/_funcs.py,sha256=RQZG-zKQtpjWmlxcSmvUzOBA6Vh0zWPq4muDqc2uTQE,10453
|
21
|
-
schubmult/schubmult_q/_script.py,sha256=lRdScEcdSFPa8oJvxJkkfpnXPLTL3X6acbuGaRhvEEg,4870
|
22
|
-
schubmult/schubmult_q/_vars.py,sha256=dU1f9CgMersgRpP9dld7ViRkyLA76sqx7ejq0JM1ECs,295
|
23
|
-
schubmult/schubmult_q_double/__init__.py,sha256=WuCChjSQM5f7bzaHbyKOyCtdl8mBLav1T-ycGpY87Uc,254
|
24
|
-
schubmult/schubmult_q_double/__main__.py,sha256=qhN6z5Evi4PakpzTM4wXHsYCSwfA0T-M2RYDzVcmNdE,91
|
25
|
-
schubmult/schubmult_q_double/_funcs.py,sha256=cmxKSCkmBAan0W9FNXJA1NIZiK4iC7mrQJjDMXv8gbM,18388
|
26
|
-
schubmult/schubmult_q_double/_script.py,sha256=dzTIljHMv7B-YUk6l99SxuUWRxpWW69k12xVZ17Q5QQ,14418
|
27
|
-
schubmult/schubmult_q_double/_vars.py,sha256=JPL4kUPRtxkBJU9FkjA4mThNMbNVev5w_SmTcEsGvoM,329
|
28
|
-
schubmult-2.0.2.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
29
|
-
tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
30
|
-
tests/test_fast_double_schubert.py,sha256=TGzjZ4kbsGpRncwHI-KNQlwOVo76ESQdCWuQxM3z0v4,4980
|
31
|
-
tests/test_fast_schubert.py,sha256=cF1Wckg-FBycCxv0KYASIpAPQ7AOYqmtGJl9Q_puKXA,1315
|
32
|
-
schubmult-2.0.2.dist-info/METADATA,sha256=Su5rRAogn-dOzhLLACjSm7Jd1ngrsbE3O_VbVjnlhu4,32373
|
33
|
-
schubmult-2.0.2.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
|
34
|
-
schubmult-2.0.2.dist-info/entry_points.txt,sha256=FN_a2Ct5ZWBWWjST2GKx1h-VjU_c0UIkpnNeyevHPuo,244
|
35
|
-
schubmult-2.0.2.dist-info/top_level.txt,sha256=zYdC9Gl5JX_FHOKDElw9g21WKiJTL2-cGBAXbC92Lo8,16
|
36
|
-
schubmult-2.0.2.dist-info/RECORD,,
|
tests/__init__.py
DELETED
File without changes
|