|
PROGRAM
|
(PARI) permRWN(a)=n=matsize(a)[1]; if(n==1, return(a[1, 1])); n1=n-1; sg=1; m=1; nc=0; in=vector(n); x=in; for(i=1, n, x[i]=a[i, n]-sum(j=1, n, a[i, j])/2); p=prod(i=1, n, x[i]); while(m, sg=-sg; j=1; if((nc%2)!=0, j++; while(in[j-1]==0, j++)); in[j]=1-in[j]; z=2*in[j]-1; nc+=z; m=nc!=in[n1]; for(i=1, n, x[i]+=z*a[i, j]); p+=sg*prod(i=1, n, x[i])); return(2*(2*(n%2)-1)*p) for(n=1, 19, a=matrix(n, n, i, j, prime((i-1)*n+j)); print1(permRWN(a)", ")) - Herman Jamke (hermanjamke(AT)fastmail.fm), May 11 2007
(PARI) permRWNb(a)=n=matsize(a)[1]; if(n==1, return(a[1, 1])); sg=1; in=vectorv(n); x=in; x=a[, n]-sum(j=1, n, a[, j])/2; p=prod(i=1, n, x[i]); for(k=1, 2^(n-1)-1, sg=-sg; j=valuation(k, 2)+1; z=1-2*in[j]; in[j]+=z; x+=z*a[, j]; p+=prod(i=1, n, x[i], sg)); return(2*(2*(n%2)-1)*p) for(n=1, 23, a=matrix(n, n, i, j, prime((i-1)*n+j)); print1(permRWNb(a)", ")) - Herman Jamke (hermanjamke(AT)fastmail.fm), May 15 2007
|