Matthew J. Samuel has authored 5 sequences.
A191016
Number of projective reflection products on a set with n elements.
Original entry on oeis.org
1, 1, 2, 8, 38, 238, 1558, 10966, 106334, 1050974, 10295324, 114643744, 1426970188, 19128627772, 301484330492, 4785515966492, 75490216911932, 1287754035291964, 23735661951947896, 462001846720538656, 9472366452963142856, 202869898263715663016, 4536294970208910412232, 107194755891965843670088, 2634562640821884269137768
Offset: 1
For n=1, the a(1)=1 product is simply x*x=x. For n=2, the a(2)=1 product on {x,y} is (x*x=x, y*y=y, x*y=y, y*x=x). For n=3, the a(3)=2 products are (x*y=y for all x,y) and (x*x=x, y*y=y, z*z=z, x*y=y*x=z, x*z=z*x=y, y*z=z*y=x).
The sequence
A191015 gives the number of isomorphism classes of such products.
-
#the number of irreducible projective reflection products
irredprod:=proc(n) local c, v:
if n=1 then
RETURN(1):
elif n=0 or n=2 then
RETURN(0):
end:
c:=0:
#dihedral
c:=c+(n!/(2*n)):
if n=36 then #E6
c:=c+(n!/((2^7*3^4*5)/2)*2):
elif n=120 then #E8
c:=c+(n!/((2^(14)*3^5*5^2*7)/2)):
elif n=63 then #E7
c:=c+(n!/(((2^(10)*3^4*5*7)/2))):
elif n=24 then #F4
c:=c+(n!/((1152/2)*2)):
elif n=15 then #H3
c:=c+(n!/(120/2)):
elif n=60 then #H4
c:=c+(n!/(14400/2)):
elif n=12 then #D4
c:=c+(n!/((2^(4-1)*4!/2)*6)):
end:
if n>4 and type(sqrt(n), 'integer') then #type B
c:=c+(n!/((2^(sqrt(n))*(sqrt(n)!))/2)):
elif n>3 and type(1/2+1/2*sqrt(1+8*n), 'integer') then #type A
c:=c+(n!/(((1/2+(1/2)*sqrt(1+8*n))!/2)*2)):
elif n>12 and type(1/2+1/2*sqrt(1+4*n), 'integer') then #type D
v:=1/2+1/2*sqrt(1+4*n):
c:=c+(n!/((2^(v-1)*v!/2)*2)):
end:
c:
end:
#convolve the sequences
convol:=proc(n, k) local i: option remember:
if k=1 then
RETURN(irredprod(n)):
end:
add(binomial(n, i)*irredprod(i)*convol(n-i, k-1), i=0..n):
end:
#add the convolutions
numprods:=proc(n) local k:
add(convol(n, k)/k!, k=1..n):
end:
seq(numprods(n), n=1..30);
A191015
Number of isomorphism classes of Coxeter systems with n reflections.
Original entry on oeis.org
1, 1, 2, 3, 4, 7, 9, 12, 18, 25, 32, 47, 61, 79, 108, 143, 182, 246, 315, 404, 526, 674, 849, 1102, 1389, 1745, 2215, 2788, 3467, 4384
Offset: 1
- Anders Björner, Francesco Brenti, Combinatorics of Coxeter groups, Graduate Texts in Mathematics, 231. Springer, New York, 2005.
A185349
Number of isomorphism classes of partially ordered sets of length n that occur as intervals in weak Bruhat order of some Coxeter group.
Original entry on oeis.org
1, 1, 2, 6, 22, 93
Offset: 0
- Björner, Anders; Brenti, Francesco. Combinatorics of Coxeter groups. Graduate Texts in Mathematics, 231. Springer, New York, 2005.
A180607
Number of commutation classes of reduced words for the longest element of a Weyl group of type D_n.
Original entry on oeis.org
1, 1, 8, 182, 13198, 3031856, 2198620478, 5017961787334, 35964266585527318
Offset: 1
-
# classes: Wrapper for computing number of commutation classes;
# pass a permutation of type D as a list
# Returns number of commutation classes
# Longest element is of the form [-1, -2, ..., -n] if n is even,
# or [1, -2, -3, ..., -n] if n is odd
classes:=proc(perm) option remember:
classesRecurse(Array(perm), -1, 1):
end:
# classesRecurse: Recursive procedure for computing number of commutation classes
classesRecurse:=proc(perm, spot, negs) local swaps, i, sums, c, doneany:
sums:=0:
doneany:=0:
for i from spot to ArrayNumElems(perm)-2 do
if i=-1 and -perm[2]>perm[1] then
swaps:=perm[1]:
perm[1]:=-perm[2]:
perm[2]:=-swaps:
c:=classes(convert(perm, `list`)):
sums:=sums+negs*c+classesRecurse(perm, i+1, -negs):
swaps:=perm[1]:
perm[1]:=-perm[2]:
perm[2]:=-swaps:
doneany:=1:
elif i>-1 and perm[i+1]>perm[i+2] then
if not (spot=0 and i=1) then
swaps:=perm[i+1]:
perm[i+1]:=perm[i+2]:
perm[i+2]:=swaps:
c:=classes(convert(perm, `list`)):
sums:=sums+negs*c+classesRecurse(perm, i+2, -negs):
swaps:=perm[i+1]:
perm[i+1]:=perm[i+2]:
perm[i+2]:=swaps:
doneany:=1:
end:
end:
end:
if spot=-1 and doneany=0 then RETURN(1):
else RETURN(sums):
end:
end: # Matthew J. Samuel, Jan 24 2011, Jan 26 2011
a(9)=35964266585527318 computed with a Java program by
Matthew J. Samuel, Jan 30 2011
A180605
Number of commutation classes of reduced words for the longest element of a Weyl group of type B_n.
Original entry on oeis.org
1, 2, 14, 330, 25396, 6272842, 4925166862, 12221171869734, 95482373388042562
Offset: 1
For n=2 the a(2)=2 commutation classes of words are 0101 and 1010.
For n=3 the a(3)=14 commutation classes of words are those of 210121010, 121012010, 212012010, 120101210, 101210120, 120120120, 210120101, 201012101, 012101201, 201201201, 012010121, 101201012, 010121012, 012012012.
-
#classes: Wrapper for computing number of commutation classes; pass a permutation of type B as a list
#Returns number of commutation classes
#Longest element is of the form [-1, -2, ..., -n]
classes:=proc(perm) option remember:
RETURN(classesRecurse(Array(perm),-1,1)):
end:
#classesRecurse: Recursive procedure for computing number of commutation classes
classesRecurse:=proc(perm, spot, negs) local swaps, i, sums, c, doneany:
sums:=0:
doneany:=0:
for i from spot to ArrayNumElems(perm)-2 do
if i=-1 and perm[1]<0 then
perm[1]:=-perm[1]:
c:=classes(convert(perm,`list`)):
sums:=sums+negs*c+classesRecurse(perm,i+2,-negs):
perm[1]:=-perm[1]:
doneany:=1:
elif i>-1 and perm[i+1]>perm[i+2] then
swaps:=perm[i+1]:
perm[i+1]:=perm[i+2]:
perm[i+2]:=swaps:
c:=classes(convert(perm, `list`)):
sums:=sums+negs*c+classesRecurse(perm,i+2,-negs):
swaps:=perm[i+1]:
perm[i+1]:=perm[i+2]:
perm[i+2]:=swaps:
doneany:=1:
end:
end:
if spot=-1 and doneany=0 then RETURN(1):
else RETURN(sums):
end:
end:
Comments