(GAP)ChooseList:=函数(a,B)局部x,p,i;x: =a;p: =1;对于B中的i,dop:=p*二项式(x,i);x: =x-i;od;返回p;结束;;
DoylePartitions:=函数(n)返回并集(List(Partitions(n+8,8)-1,P->PermutationsList(P)));结束;;
DoyleF1:=函数(A)返回A[1]+A[3]+A[2]+A[4];结束;;
DoyleF2:=函数(A)返回A[1]+A[2]+A[5]+A[6];结束;;
DoyleF3:=函数(A)返回A[1]+A[3]+A[5]+A[7];结束;;
DoyleF12:=函数(A)返回A[1]+A[2];结束;;
DoyleF23:=函数(A)返回A[1]+A[5];结束;;
DoyleF13:=函数(A)返回A[1]+A[3];结束;;
DoyleF123:=函数(A)返回A[1];结束;;
DoyleG:=函数(A)返回DoyleF1(A)*DoyleF2(A)*DoyleF3(A)-DoyleF12;结束;;
DoyleGProduct:=函数(A)局部i,p,B;p: =1;对于[1..8]中的i,做B:=列表(A,j->j);B[i]:=B[i]-1;B[8]:=B[8]+1;p: =p*DoyleG(B)^A[i];od;返回p;结束;;
NrFourLineNormalisedLatinRectanglesDoyle:=函数(n)局部计数,A;计数:=0;对于DoylePartitions(n)中的A,do计数:=计数+(-1)^(A[2]+A[3]+A[5]+2*(A[4]+A[6]+A[7])+3*A[8])*ChooseList(n,A)*DoyleGProduct(A);od;返回计数;结束;;#道格拉斯·斯通(Douglas.Stones(AT)sci.monash.edu.au),2009年4月1日,2009年9月5日
|