def cyclic_interval(a, b, n):
return list(range(a, b+1))
return list(range(a, n+1)) + list(range(1, b+1))
pi = x.to_signed_permutation().permutation()
for i, e in enumerate(pi, 1):
for j, f in enumerate(pi, 1):
if a <= c <= b <= d or c <= a <= d <= b:
if (e not in cyclic_interval(i, f-1, n)
or f not in cyclic_interval(e+1, j, n)):
if j == f and x[j-1] < 0:
if i == e and x[i-1] > 0:
return len(alignments(x))
def parent_initializer(n):
class MyDecoratedPermutations():
for tau in DecoratedPermutations(n):
return sum( factorial(n)/factorial(k) for k in range(n+1) )
return MyDecoratedPermutations()
def DecoratedPermutations(n):
for sigma in Permutations(n):
yield SignedPermutations(n)(tau)
for i,a in enumerate(pi):
return str(pi).replace(" ","").replace("0","+").replace("-1","-")
for elt in parent_initializer(level):
print('%s => %s' % (element_repr(elt), statistic(elt)))