Let . We consider the family of all linear subspaces that satisfy the following three conditions:
-
The dimension of is 12.
-
The Hamming weight of every vector in is a multiple of 4.
-
The vector is contained in .
For any , let denote the number of vectors in having Hamming weight . It is a known theoretical result that the weight distribution sequence for any can be uniquely expressed as a linear combination of the weight distributions of two fixed "basis" codes, and , which are also in .
The basis codes are defined as follows:
-
\textbf{Code }: The weight enumerator polynomial is given by:
-
\textbf{Code }: This code has no vectors of weight 4 (i.e., ) and has exactly 759 vectors of weight 8 (i.e., ).
Let be a specific code in that contains exactly 6 vectors of weight 4.
Calculate the number of vectors in that have weight 12.
[THOUGHT] I’ll use Gleason’s theorem for Type II (binary doubly-even self-dual) codes of length 24.
Given the conditions, every code in the family is a Type II [24,12] code, so its weight enumerator is a linear combination of two basis polynomials:
- (A(x,y) = x^8 + 14x^4y^4 + y^8),
- (B(x,y) = x^4y^4(x^4 - y^4)^4).
Any such weight enumerator is: [ W(x,y) = u , A(x,y)^3 + v , B(x,y) ] for some scalars (u,v).
For the specific code (C^*), we know:
- (|C^*| = 2^{12} = 4096), so (W(1,1) = 4096).
- There are exactly 6 words of weight 4, so the coefficient of (x^{20}y^4) in (W) is 6.
These give two linear equations in (u,v). I’ll:
- Expand (A^3) and (B),
- Compute (A^3(1,1)) and (B(1,1)),
- Extract the coefficients of (x^{20}y^4) in both,
- Solve for (u,v),
- Form (W) for (C^*),
- Extract the coefficient of (x^{12}y^{12}), which equals the number of codewords of weight 12.
All steps will be verified using Python/sympy. [/THOUGHT] [PYTHON] from sympy import symbols, expand, Eq, solve
Define variables and basis polynomials
x, y, u, v = symbols('x y u v') A = x8 + 14*x4*y4 + y8 B = x4 * y4 * (x4 - y4)**4
A3 = expand(A**3) Bexp = expand(B)
Evaluate A^3(1,1) and B(1,1)
A3_11 = A3.subs({x:1, y:1}) B_11 = Bexp.subs({x:1, y:1})
print("A^3(1,1) =", A3_11) print("B(1,1) =", B_11)
Get coefficients for weight 4 i.e., x^20 y^4
def coeff_weight(poly, k): # weight k term is x^{24-k} y^k return poly.expand().coeff(x, 24-k).coeff(y, k)
c4_A3 = coeff_weight(A3, 4) c4_B = coeff_weight(Bexp, 4)
print("Coeff of weight 4 in A^3:", c4_A3) print("Coeff of weight 4 in B :", c4_B)
Set up equations for C*: W = u A^3 + v B
1) total codewords = 4096
2) A_4 = 6
eq1 = Eq(uA3_11 + vB_11, 4096) eq2 = Eq(uc4_A3 + vc4_B, 6)
sol_uv = solve((eq1, eq2), (u, v)) print("Solution (u, v) =", sol_uv)
u_star, v_star = sol_uv[u], sol_uv[v]
Form W for C*
W_star = expand(u_starA3 + v_starBexp)
Extract coefficient of weight 12 (x^12 y^12)
A12_star = coeff_weight(W_star, 12) print("Number of weight-12 codewords in C*:", A12_star) [/PYTHON]
[THOUGHT] Using the given structure of the weight enumerator and the constraints (dimension 12, 6 codewords of weight 4, and total size 4096), solving for the linear combination of the two basis weight enumerators yields parameters (u = 1) and (v = -36). Extracting the coefficient of (x^{12}y^{12}) in the resulting weight enumerator gives the number of codewords of weight 12, which is 2612. [/THOUGHT] \boxed{2612}