#OK to post homework #Joseph Koutsoutis, 03-30-2025, Assignment 16 read `QC.txt`: read `C16.txt`: #2 ToffoliMatrix := proc() local T: T[[0,0,0]] := [0,0,0]: T[[0,0,1]] := [0,0,1]: T[[0,1,0]] := [0,1,0]: T[[0,1,1]] := [0,1,1]: T[[1,0,0]] := [1,0,0]: T[[1,0,1]] := [1,0,1]: T[[1,1,0]] := [1,1,1]: T[[1,1,1]] := [1,1,0]: TtoUM([T, BV(3)], 3): end: FredkinMatrix := proc() local T: T[[0,0,0]] := [0,0,0]: T[[0,0,1]] := [0,1,0]: T[[0,1,0]] := [0,0,1]: T[[0,1,1]] := [0,1,1]: T[[1,0,0]] := [1,0,0]: T[[1,0,1]] := [1,0,1]: T[[1,1,0]] := [1,1,0]: T[[1,1,1]] := [1,1,1]: TtoUM([T, BV(3)], 3): end: #3 Sjk := proc(j,k): [[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, exp(I*Pi / 2^(k-j))]]: end: #4 QFTC := proc(l) local C, j, k: C := []: for j from l-1 to 0 by -1 do: for k from l-1 to j+1 by -1 do: C := [op(C), [[j, k], Sjk(j, k)]]: od: C := [op(C), [[j], C1QG()[7]]]: od: [l, C]: end: