read `C:\\Users\\jlc450\\Desktop\\C18.txt` Help() Toe(f,x,n,e), ToE(f,x,n,E), Andrew(F,x,n), mToe(n) Help15() P(n), ApplyPi(f,x,n,pi), Sym(f,x,n), mL(x,L,n) IsSym(f,x,n), ToM(f,x,n,M), ei(x,i,n), eL(x,L,n), eTom(n) # Problem 1 hni:=proc(n,i,x) local L: add(mL(x,L,n),L in P(i)): end: T1:=hni(4,3,x) 3 2 2 2 2 x[1] + x[1] x[2] + x[1] x[3] + x[1] x[4] + x[1] x[2] 2 + x[1] x[2] x[3] + x[1] x[2] x[4] + x[1] x[3] 2 3 2 + x[1] x[3] x[4] + x[1] x[4] + x[2] + x[2] x[3] 2 2 2 + x[2] x[4] + x[2] x[3] + x[2] x[3] x[4] + x[2] x[4] 3 2 2 3 + x[3] + x[3] x[4] + x[3] x[4] + x[4] # Problem 2 Hni:=proc(n,i,x) local f,t,j: f:=mul(1-x[j]*t,j=1..n): f:=1/f: f:=taylor(f,t=0,i+1): expand(coeff(f,t,i)): end: T2:=Hni(4,3,x) 3 2 2 2 2 x[1] + x[1] x[2] + x[1] x[3] + x[1] x[4] + x[1] x[2] 2 + x[1] x[2] x[3] + x[1] x[2] x[4] + x[1] x[3] 2 3 2 + x[1] x[3] x[4] + x[1] x[4] + x[2] + x[2] x[3] 2 2 2 + x[2] x[4] + x[2] x[3] + x[2] x[3] x[4] + x[2] x[4] 3 2 2 3 + x[3] + x[3] x[4] + x[3] x[4] + x[4] T2-T1 0 # Problem 3 hL:=proc(x,L,n): mul(hni(n,L[i],x),i=1..nops(L)): end: hL(x,[2,1],4) / 2 2 \x[1] + x[1] x[2] + x[1] x[3] + x[1] x[4] + x[2] + x[2] x[3] 2 2\ + x[2] x[4] + x[3] + x[3] x[4] + x[4] / (x[1] + x[2] + x[3] + x[4]) hTom:=proc(n) local L,mat,i,f,col,l: L:=P(n): mat:=[]: for i from 1 to nops(L) do f:=hL(x,L[i],n): f:=expand(f): f:=ToM(f,x,n,M): col:=[seq(coeff(f,M[l]),l in L)]: mat:=[op(mat),col]: od: mat: end: mToh:=proc(n): inverse(hTom(n)): end: # Problem 4 pow:=proc(n,i,x) local j: add(x[j]^i,j=1..n): end: pL:=proc(x,L,n) local i: mul(pow(n,L[i],x),i=1..nops(L)): end: pTom:=proc(n) local L,mat,i,f,col,l: L:=P(n): mat:=[]: for i from 1 to nops(L) do f:=pL(x,L[i],n): f:=expand(f): f:=ToM(f,x,n,M): col:=[seq(coeff(f,M[l]),l in L)]: mat:=[op(mat),col]: od: mat: end: mTop:=proc(n): inverse(pTom(n)): end: # Problem 5 TransMatrix:=proc(n,base1,base2) local milk,cookies: if base1=m then cookies:=IdentityMatrix(nops(P(n))): elif base1=e then cookies:=eTom(n): elif base1=h then cookies:=hTom(n): elif base1=p then cookies:=pTom(n): fi: if base2=m then milk:=IdentityMatrix(nops(P(n))): elif base2=e then milk:=mToe(n): elif base2=h then milk:=mToh(n): elif base2=p then milk:=mTop(n): fi: multiply(milk,cookies): end: yoodle:=proc(n) local S,r,t: S:={m,e,h,p}: for r in S do for t in S minus {r} do print(`The transformation from `,r,` to `,s,` is:`) print(TransMatrix(n,r,t)): od: od: end: seq(yoodle(n),n=1..6) # Problem 6 T:=proc(L) local A,j,l: A:={op(L[1])}: j:=L[2]: l:=L[3]: if member(j,A) then A:=A minus {j}: RETURN([[op(A)],j,l+1]): else A:=A union {j}: RETURN([[op(A)],j,l-1]): fi: end: squiggly:=proc(n,k) local S,l,sub,S1: S:={}: for l from 1 to k do sub:=choose([seq(i,i=1..n)],k-l): S1:={seq(seq([A,j,l],A in sub),j in [seq(i,i=1..n)])}: S:=S union S1: od: sub:=choose([seq(i,i=1..n)],k): S1:={seq(seq([A,j,0],j in A),A in sub)}: S union S1: end: noodle:=squiggly(3,2) {[[], 1, 2], [[], 2, 2], [[], 3, 2], [[1], 1, 1], [[1], 2, 1], [[1], 3, 1], [[2], 1, 1], [[2], 2, 1], [[2], 3, 1], [[3], 1, 1], [[3], 2, 1], [[3], 3, 1], [[1, 2], 1, 0], [[1, 2], 2, 0], [[1, 3], 1, 0], [[1, 3], 3, 0], [[2, 3], 2, 0], [[2, 3], 3, 0]} {seq(T(L),L in noodle)} {[[], 1, 2], [[], 2, 2], [[], 3, 2], [[1], 1, 1], [[1], 2, 1], [[1], 3, 1], [[2], 1, 1], [[2], 2, 1], [[2], 3, 1], [[3], 1, 1], [[3], 2, 1], [[3], 3, 1], [[1, 2], 1, 0], [[1, 2], 2, 0], [[1, 3], 1, 0], [[1, 3], 3, 0], [[2, 3], 2, 0], [[2, 3], 3, 0]} evalb(noodle=%) true spaghetti:=proc(N) local n,k: for n from 1 to N do for k from 1 to n do if evalb(squiggly(n,k)={seq(T(L),L in squiggly(n,k))})=false then RETURN(false): fi: od: od: true: end: spaghetti(12) true