#Homework by Mike Murr #OK to post #hw26 read(`C26.txt`); # First Jacobi-Trudi formula: building my understanding by programming simple cases. with(LinearAlgebra); JTfirst_1_1_x_2 := Determinant([[hkn(1,2,x), hkn(2,2,x)],[hkn(0,2,x),hkn(1,2,x)]]); print(JTfirst_1_1_x_2); evalb(JTfirst_1_1_x_2 = Sc([1,1],x,2)); JTfirst_2_1_x_2 := Determinant([[hkn(2,2,x), hkn(3,2,x)],[hkn(0,2,x),hkn(1,2,x)]]); evalb(JTfirst_2_1_x_2 = Sc([2, 1], x, 2)); JTfirst_any_any_x_2 := proc(L); Determinant([[hkn(L[1],2,x), hkn(L[1]+1,2,x)],[hkn(L[2]-1,2,x),hkn(L[2],2,x)]]); end proc; JTfirst_any_any_x_2([2,1]); JTfirst_any_any_x_2([3,2]); #Function hkn below, modified from C26.txt #Full homog. symmetric polynomial #h_k(x[1],...,x[n]): #coeff of t^k 1/(1-x[1]*t)/(1-x[2]*t)... #weight enumerator of all subests of #1<= i1<=i2 <=i3<= ...<=ik <=n #weight({2,3,5})=x[2]*x[3]*x[5]: #hkn(2,3,x)= weight({[1,2],[1,3],[2,3],[1,1],[2,2],[3,3]))= #x[1]*x[2]+x[1]*x[3]+x[2]*x[3]+x[1]^2+x[2]^2+x[3]^2 #Take S any subset of k elements of {1,...,n} #Case 1: n does not belong to S #hkn(k,n-1,x) #Case 2: n does belong #x[n]*hkn(k-1,n,x): #hkn(k,n,x)= hkn:=proc(k,n,x) option remember: if k=0 then RETURN(1): fi: if n=0 then RETURN(0): fi: # added next 3 lines to use hkn in Jacobi-Trudi first formula if k<0 then RETURN(0); fi: expand(hkn(k,n-1,x)+x[n]*hkn(k-1,n,x)): end: #* * * * * * * * * * * * * * * * * * * * * * * #Here is the actual first Jacobi-Trudi formula JTfirst := proc(L,m) local n, i, j; n:=nops(L); Determinant([seq([seq(hkn(L[i]+ j - i,m,x), j=1..n)],i=1..n)]); end proc; evalb(JTfirst([2,1],2) = Sc([2,1],x,2)); evalb(JTfirst([2,1],3) = Sc([2,1],x,3)); evalb(JTfirst([3,2],3) = Sc([3,2],x,3)); evalb(JTfirst([1,1,1],2) = Sc([1,1,1],x,2)); evalb(JTfirst([5,4,3,3],5) = Sc([5,4,3,3],x,5));