# OK to post homework # Alex Varjabedian, 13-Feb-2024, Homework 8 Help := proc() print(`WtEnumerator(q, M, t)`) end: ################################## # ------------------------------ # # PART 1 - WtEnumerator(q, M, t) # # ------------------------------ # ################################## print(`PART 1`); wt := proc(v) local i: add(seq(`if` (i <> 0, 1, 0), i in v)): end: 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: WtEnumerator := proc(q, M, t) local C, v: C := Fqn(q, nops(M[1])): add(seq(t^wt(v), v in `C`)): end: