cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A269455 Number of Type I (singly-even) self-dual binary codes of length 2n.

Original entry on oeis.org

1, 3, 15, 105, 2295, 75735, 4922775, 625192425, 163204759575, 83724041661975, 85817142703524375, 175667691114114395625, 720413716161839357604375, 5902349576513949856852644375, 96709997811181068404530578084375, 3168896498278970068411253452090715625, 207692645973961964120828372930661061284375, 27222898185745116523209337325140537285726884375, 7136346644902153570976711733098966146766874104484375, 3741493773415815389266667264411257664189964123617799515625
Offset: 1

Views

Author

Nathan J. Russell, Feb 27 2016

Keywords

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.

Crossrefs

Programs

  • 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}]],
    {n, 1, 10}] (* Nathan J. Russell, Mar 01 2016 *)
  • 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))
    vector(20, n, a(n)) \\ Colin Barker, Feb 28 2016
  • 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)
    

Formula

From Nathan J. Russell, Mar 01 2016: (Start)
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) - A028363( n/8);
If 2n != 0 MOD 8 then a(n) = A028362(n).
(End)

Extensions

a(20) corrected by Andrew Howroyd, Feb 22 2018