# Okay to post homework # Ryan Badi, February 18, 2024, Homework #8 #Alphabet {0,1,...q-1}, Fqn(q,n): {0,1,...,q-1}^n Fqn:=proc(q,n) local S,a,v: option remember: if n=0 then RETURN({[]}): fi: S:=Fqn(q,n-1): {seq(seq([op(v),a],a=0..q-1), v in S)}: end: wt := proc(v) local count, c: count := 0: for c in v do: if c <> 0 then count := count + 1 fi: od: return count: end: WtEnumerator := proc(q, M, t) local fqn, v: fqn := Fqn(q, nops(M[1])): add(t^wt(v), v in fqn): end: