I kodningsteorin etablerar McWilliams sats ett samband mellan viktfunktionen för en linjär kod och viktfunktionen för dess dubbla kod. En av konsekvenserna av satsen är att få en övre gräns för en kods kardinalitet. Uppkallad efter den engelska Florence McWilliams
Låt en binär linjär kod av längd . Viktfördelningen av koden är en numerisk sekvens där antalet kodord med vikt anger :
.Viktfunktion (eller viktuppräkning ) är ett polynom av två variabler
Beteckna den dubbla koden med
där betecknar skalärprodukten av vektorer i ett vektorrum .
McWilliams sats säger det