|
|
A269455
|
|
Number of Type I (singly-even) self-dual binary codes of length 2n.
|
|
5
|
|
|
1, 3, 15, 105, 2295, 75735, 4922775, 625192425, 163204759575, 83724041661975, 85817142703524375, 175667691114114395625, 720413716161839357604375, 5902349576513949856852644375, 96709997811181068404530578084375, 3168896498278970068411253452090715625, 207692645973961964120828372930661061284375, 27222898185745116523209337325140537285726884375, 7136346644902153570976711733098966146766874104484375, 3741493773415815389266667264411257664189964123617799515625
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,2
|
|
COMMENTS
|
A self dual binary linear code is either Type I (singly even) or Type II (doubly even). A self dual binary linear code can only be Type II if the length of the code (2n) is a multiple of 8. The total number self dual binary linear codes (including equivalent codes) is equal to the number of Type I self dual binary linear codes (including equivalent codes) when the length (2n) is not a multiple of 8. If the length is a multiple of 8 ( 2n =0 mod 8 ) then the total number of Type I codes is the number of type II codes subtracted from the total number of self dual codes of length 2n.
|
|
REFERENCES
|
W. Cary Huffman and Vera Pless, Fundamentals of Error Correcting Codes, 2003, Page 366.
F. J. MacWilliams and N. J. A. Sloane, The Theory of Error-Correcting Codes, Elsevier/North Holland, 1977.
|
|
LINKS
|
E. M. Rains and N. J. A. Sloane, Self-dual codes, pp. 177-294 of Handbook of Coding Theory, Elsevier, 1998; (Abstract, pdf, ps).
|
|
FORMULA
|
If 2n = 0 MOD 8 then a(n) = prod_(2^i+1, i=1,...,n-1) - prod_(2^i+1, i=0,...,n-2);
If 2n != 0 MOD 8 then a(n) = prod_(2^i+1, i=1,...,n-1).
If 2n != 0 MOD 8 then a(n) = A028362(n).
(End)
|
|
MATHEMATICA
|
Table[
If[Mod[2 n, 8] == 0,
Product[2^i + 1, {i, 1, n - 1}] - Product[2^i + 1, {i, 0, n - 2}] ,
Product[2^i + 1, {i, 1, n - 1}]],
|
|
PROG
|
(Python)
for n in range(1, 10):
product1 = 1
for i in range(1, n-1 + 1):
product1 *= (2**i+1)
if (2*n)%8 == 0:
product2 = 1
for i in range(n-2 + 1):
product2 *= (2**i+1)
print(product1 - product2)
else:
print(product1)
(PARI) a(n) = if (2*n%8==0, prod(i=1, n-1, 2^i+1)-prod(i=0, n-2, 2^i+1), prod(i=1, n-1, 2^i+1))
|
|
CROSSREFS
|
|
|
KEYWORD
|
nonn
|
|
AUTHOR
|
|
|
EXTENSIONS
|
|
|
STATUS
|
approved
|
|
|
|