Skip to content

Commit 44a314d

Browse files
committed
Trac #21325 review comment 11: simplify construction and code for left vector
1 parent a09d67e commit 44a314d

File tree

1 file changed

+6
-12
lines changed

1 file changed

+6
-12
lines changed

src/sage/combinat/k_regular_sequence.py

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -485,12 +485,8 @@ def subsequence(self, a, b):
485485
# suffices as well.
486486
kernel = list(b)
487487

488-
def prepend_zeros(T, d, zero):
489-
di = kernel.index(d)
490-
return di*[zero] + T
491-
492488
zero_M = self.mu[0].parent().zero()
493-
zero_L = self.left.parent().zero()
489+
zero_R = self.right.parent().zero()
494490

495491
blocks = {r: [] for r in A}
496492
ci = 0
@@ -507,21 +503,19 @@ def prepend_zeros(T, d, zero):
507503
d, f = (a*r + c).quo_rem(k)
508504
if d not in kernel:
509505
kernel.append(d)
510-
blocks[r].append(prepend_zeros([self.mu[f]], d, zero_M))
506+
blocks[r].append(kernel.index(d)*[zero_M] + [self.mu[f]])
511507
ci += 1
512508

513509
result = P.element_class(
514510
P,
515511
{r: Matrix.block([pad_right(row, len(kernel), zero=zero_M)
516512
for row in blocks[r]])
517513
for r in A},
518-
sum(c_j * vector(chain.from_iterable(
519-
pad_right(prepend_zeros([self.left], b_j, zero_L),
520-
len(kernel), zero=zero_L)))
521-
for b_j, c_j in b.items()),
522514
vector(chain.from_iterable(
523-
(self.__getitem__(c, multiply_left=False)
524-
if c >= 0 else dim*(zero,))
515+
b.get(c, 0)*self.left
516+
for c in kernel)),
517+
vector(chain.from_iterable(
518+
(self.__getitem__(c, multiply_left=False) if c >= 0 else zero_R)
525519
for c in kernel)))
526520

527521
return result

0 commit comments

Comments
 (0)