# HW 24 # Jike Liu read C24.txt; # Question 1: Sc2:=proc(x,L) local n,L1,i,j; n:=convert(L,`+`): L1:=[op(L),0$(n-nops(L))]: expand(det(matrix([seq([seq(hkn(L1[i]-i+j,n,x),j=1..n)],i=1..n)]))): end: # Question 2: Conj:=proc(L) local k,C1,i1,L1,i: option remember: if L=[] then RETURN([]): fi: k:=nops(L): L1:=[seq(L[i]-1,i=1..k)]: for i1 from 1 to nops(L1) while L1[i1]>0 do od: i1:=i1-1: L1:=[op(1..i1,L1)]: C1:=Conj(L1): [k,op(C1)]: end: Sc3:=proc(x,L) local n,C,i,j; n:=convert(L,`+`): C:=[op(Conj(L)),0$(n-nops(Conj(L)))]: expand(det(matrix([seq([seq(ekn(C[i]-i+j,n,x),j=1..n)],i=1..n)]))): end: # Question 3: # ------------------------------------------------------------ # Comparative shopping for Sc, Sc1, Sc2, Sc3 at n=5 # ------------------------------------------------------------ P:=Par(5): L0:=[seq(expand(Sc(x,P[i])), i=1..nops(P))]: L1:=[seq(expand(Sc1(x,P[i])), i=1..nops(P))]: L2:=[seq(expand(Sc2(x,P[i])), i=1..nops(P))]: L3:=[seq(expand(Sc3(x,P[i])), i=1..nops(P))]: evalb(L0=L1), evalb(L0=L2), evalb(L0=L3); # ------------------------------------------------------------ # Timing each method at n=5 # ------------------------------------------------------------ t0:=time(): P:=Par(5): A0:=[seq(expand(Sc(x,P[i])),i=1..nops(P))]: time()-t0; t1:=time(): P:=Par(5): A1:=[seq(expand(Sc1(x,P[i])),i=1..nops(P))]: time()-t1; t2:=time(): P:=Par(5): A2:=[seq(expand(Sc2(x,P[i])),i=1..nops(P))]: time()-t2; t3:=time(): P:=Par(5): A3:=[seq(expand(Sc3(x,P[i])),i=1..nops(P))]: time()-t3; # Output: # true, true, true # 0.016 # 0.017 # 0.001 # 0.001 # Question 4: SSYT:=proc(L,a) local k,MR,R,r,L1,a1,S,T,T1,i,j; option remember: if a