login
The OEIS is supported by the many generous donors to the OEIS Foundation.

 

Logo
Hints
(Greetings from The On-Line Encyclopedia of Integer Sequences!)
A180607 Number of commutation classes of reduced words for the longest element of a Weyl group of type D_n. 0

%I #26 Jan 12 2019 20:23:04

%S 1,1,8,182,13198,3031856,2198620478,5017961787334,35964266585527318

%N Number of commutation classes of reduced words for the longest element of a Weyl group of type D_n.

%C An implementation of the procedures below in Java with the additional feature of storing old values of classesRecurse(perm,-1,1) computed a(8)=5017961787334 in 63 seconds. The program runs in O((n^2)*(4^n)*n!).

%H Matthew J. Samuel, <a href="http://arxiv.org/abs/1101.4655">Word posets, complexity, and Coxeter groups</a>, arXiv:1101.4655v1 [math.CO]

%p # classes: Wrapper for computing number of commutation classes;

%p # pass a permutation of type D as a list

%p # Returns number of commutation classes

%p # Longest element is of the form [-1, -2, ..., -n] if n is even,

%p # or [1, -2, -3, ..., -n] if n is odd

%p classes:=proc(perm) option remember:

%p classesRecurse(Array(perm), -1, 1):

%p end:

%p # classesRecurse: Recursive procedure for computing number of commutation classes

%p classesRecurse:=proc(perm, spot, negs) local swaps, i, sums, c, doneany:

%p sums:=0:

%p doneany:=0:

%p for i from spot to ArrayNumElems(perm)-2 do

%p if i=-1 and -perm[2]>perm[1] then

%p swaps:=perm[1]:

%p perm[1]:=-perm[2]:

%p perm[2]:=-swaps:

%p c:=classes(convert(perm, `list`)):

%p sums:=sums+negs*c+classesRecurse(perm, i+1, -negs):

%p swaps:=perm[1]:

%p perm[1]:=-perm[2]:

%p perm[2]:=-swaps:

%p doneany:=1:

%p elif i>-1 and perm[i+1]>perm[i+2] then

%p if not (spot=0 and i=1) then

%p swaps:=perm[i+1]:

%p perm[i+1]:=perm[i+2]:

%p perm[i+2]:=swaps:

%p c:=classes(convert(perm, `list`)):

%p sums:=sums+negs*c+classesRecurse(perm, i+2, -negs):

%p swaps:=perm[i+1]:

%p perm[i+1]:=perm[i+2]:

%p perm[i+2]:=swaps:

%p doneany:=1:

%p end:

%p end:

%p end:

%p if spot=-1 and doneany=0 then RETURN(1):

%p else RETURN(sums):

%p end:

%p end: # _Matthew J. Samuel_, Jan 24 2011, Jan 26 2011

%K nonn,hard,more

%O 1,3

%A _Matthew J. Samuel_, Jan 21 2011

%E a(9)=35964266585527318 computed with a Java program by _Matthew J. Samuel_, Jan 30 2011

Lookup | Welcome | Wiki | Register | Music | Plot 2 | Demos | Index | Browse | More | WebCam
Contribute new seq. or comment | Format | Style Sheet | Transforms | Superseeker | Recents
The OEIS Community | Maintained by The OEIS Foundation Inc.

License Agreements, Terms of Use, Privacy Policy. .

Last modified April 19 21:09 EDT 2024. Contains 371798 sequences. (Running on oeis4.)