Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
gmcninch-tufts
GitHub Repository: gmcninch-tufts/2024-Sp-Math190
Path: blob/main/course-contents/notebooks/ps7-again.ipynb
908 views
Kernel: Python 3 (ipykernel)
k = GF(4) R.<T> = PolynomialRing(k) f = T^11 - 1 ff = f.factor() g,_ = ff[1] h,_ = ff[2] (g,h)
(T^5 + z2*T^4 + T^3 + T^2 + (z2 + 1)*T + 1, T^5 + (z2 + 1)*T^4 + T^3 + T^2 + z2*T + 1)
V = VectorSpace(k,11) def pad(ll,n): # pad the list ll with 0's to make it have length n x = len(ll) if x < n: return ll + (n-x)*[0] else: return ll[0:n] def vectorize(p,n): # make a vector of length n out of a polynomial coeffs = p.coefficients(sparse=False) return V(pad(coeffs,n)) def mkCode(p): # vectorize the polynomial T^i * p and use the vectors as a basis for the code C # I'm assuming deg p = 5... return V.subspace([ vectorize( T^i * p, 11) for i in range(6) ]) C1 = mkCode(g) C2 = mkCode(h) def weight(v): r = [x for x in v if x != 0] return len(r) def min_distance(D): # brute-force computation of minimal distance of D return min([ weight(v) for v in D if v != 0]) [ min_distance(c) for c in [C1,C2]]
[5, 5]