f = prod([ 1-q*q^j for j in range(p.size()) ])
b = sum([ j*k for j, k in enumerate(p) ])
return (q^b)*(f/p.hook_polynomial(q,q))
z = SymmetricFunctions(QQ).schur()(a)
return R(sum([z.coefficient(p)*fdeg(p) for p in z.support()]))
PP.<q> = PolynomialRing(QQ)
p = {k: p[k] for k in range(r)}
divs = sorted(divisors(r))
assert all(c == 0 for c in p.values()), "%s" % p
def has_cyclic_permutation_representation(p, r):
return all(v in ZZ and ZZ(v) >= 0 for v in lo.values())
s = SymmetricFunctions(QQ).schur()
for r in reversed(divisors(la.size())):
if has_cyclic_permutation_representation(f, r):
def has_cyclic_permutation_representation_slow(p, r):
if sum(moebius(k//j) * p.subs(q=QQbar.zeta(r)^j) for j in divisors(k)) < 0:
s = SymmetricFunctions(QQ).schur()
for r in reversed(divisors(la.size())):
if has_cyclic_permutation_representation_slow(f, r):
parent_initializer = SkewPartitions
element_repr = lambda P: str(list(P)).replace(" ","")
for elt in parent_initializer(level):
print('%s => %s' % (element_repr(elt), statistic(elt)))