OFFSET
1,3
COMMENTS
A projective reflection product is a product (usually nonassociative) satisfying (1) x*x=x, (2) x*(x*y)=y, and (3) x*(y*z)=(x*y)*(x*z) for all x,y,z.
FORMULA
A projective reflection product on a set S is irreducible if S cannot be written as the disjoint union of two nonempty subsets X and Y such that x*y=y and y*x=x for all x in X and y in Y.
Define i(0)=0 and let i(p) for p>1 be the number of irreducible projective reflection products on a set with p elements. Define c(p,1)=i(p) and recursively define c(p,q)=sum(k=0 to p) of binomial(p,k)*i(k)*c(p-k,q-1). Then a(n)=sum(k=1 to n) of c(n,k)/k!.
This is a sequence of binomial type, also equal to the sum over all partitions of the set of the product of the numbers of irreducible products on the subsets in the partition.
EXAMPLE
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).
MAPLE
#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);
CROSSREFS
KEYWORD
nonn
AUTHOR
Matthew J. Samuel, May 24 2011
STATUS
approved