Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
22144 views
a

�Ul_(�@s2dZddlZddlmmZdd�Zdd�ZdS)a
Some binary projective two-weight codes
=======================================

The ``binary_projective_two_weight_codes`` module defines
functions that construct two types of binary projective two-weight codes
as published by Tonchev [Ton1996]_ [Ton2007]_.

AUTHORS:

- Paul Leopardi (2016-09-15): initial version

EXAMPLES:

::

    sage: from boolean_cayley_graphs.binary_projective_two_weight_codes import binary_projective_two_weight_27_6_12
    sage: c27=binary_projective_two_weight_27_6_12()
    sage: c27[1]
    ('000000000000000111111111111',
    '000000000111111000000111111',
    '000111111000011000011000011',
    '001000111011101000101000101',
    '010001011101110011101011101',
    '100010101000101001111101000')

REFERENCES:

Tonchev [Ton1996]_, [Ton2007]_.
�NcCs"d}d}d}d}d}|||||fS)a�
    Return the binary projective two-weight [27,6,12] codes as published by Tonchev.

    Return a tuple that encodes the generator matrices
    of the binary projective two-weight [27,6,12] codes,
    listed as codes 1, 2, 3a, 3b and 4 in Table 1 of Tonchev [Ton1996]_,
    and repeated as codes 1 to 5 in Table 1.155 of Tonchev [Ton2007]_.

    INPUT:

    - None.

    OUTPUT:

    A tuple of tuples of strings. Each tuple of strings encodes a generator matrix
    of a binary projective two-weight code.

    EXAMPLES:

    ::

        sage: from boolean_cayley_graphs.binary_projective_two_weight_codes import binary_projective_two_weight_27_6_12
        sage: c27=binary_projective_two_weight_27_6_12()
        sage: c27[0]
        ('000000000001111111111111111',
        '000000011110000000011111111',
        '000001100110000111100001111',
        '000111111110011001100110011',
        '011010101010111011101110100',
        '101010101100001110111011101')

    REFERENCES:

    Tonchev [Ton1996]_ [Ton2007]_.
    )Z000000000001111111111111111Z000000011110000000011111111Z000001100110000111100001111Z000111111110011001100110011Z011010101010111011101110100Z101010101100001110111011101)�000000000000000111111111111�000000000111111000000111111Z000111111000011000011000011Z001000111011101000101000101Z010001011101110011101011101Z100010101000101001111101000)rZ000000011111111000011111111Z000001100001111001100001111Z001110100010001010101110001Z010110101110111110000110110Z100011100110011111110010011)rZ000000011111111000000001111Z000001100001111000011110011Z001110100010111011101110101Z010110101110001100100110000Z111010010100011001101010000)rrZ000000111000111000111000111Z000111001001001011011000011Z011001011010110001101001000Z101010110011010000010010101�)�c1�c2�c3�c4�c5rr�\/home/user/Boolean-Cayley-graphs/boolean_cayley_graphs/binary_projective_two_weight_codes.py�$binary_projective_two_weight_27_6_12)s$rcCs.d}d}d}d}d}d}d}|||||||fS)a:
    Return the binary projective two-weight [35,6,16] codes as published by Tonchev.

    Return a tuple that encodes the generator matrices
    of the binary projective two-weight [35,6,16] codes, listed
    as codes 1, 2a, 2b, 3a, 3b, 4a and 4b in Table 2 of Tonchev [Ton1996]_,
    and repeated as codes 1 to 7 in Table 1.156 of Tonchev [Ton2007]_.


    INPUT:

    - None.

    OUTPUT:

    A tuple of tuples of strings. Each tuple of strings encodes a generator matrix
    of a binary projective two-weight code.

    EXAMPLES:

    ::

        sage: from boolean_cayley_graphs.binary_projective_two_weight_codes import binary_projective_two_weight_35_6_16
        sage: c35=binary_projective_two_weight_35_6_16()
        sage: c35[2]
        ('00000000000000011111111111111111111',
        '00000000011111100000000001111111111',
        '00011111100001100001111110000111111',
        '00100011101110101110001110111000111',
        '01000101110111000010110010001011001',
        '10001010100010110100010100011101011')

    REFERENCES:

    Tonchev [Ton1996]_ [Ton2007]_.
    )�#00000000000000000001111111111111111�#00000000000111111110000000011111111Z#00000111111000000110000111100001111Z#00011000011000011110011001100110011Z#01101001101001101010111010001000100Z#10101010110010110100001000100011101)rZ#00000000011111111110000001111111111Z#00011111100001111110000110000111111Z#00100011100010001110001010111000111Z#01000101100100010110111010001011001Z#10001010101110110010011110011101011)Z#00000000000000011111111111111111111Z#00000000011111100000000001111111111Z#00011111100001100001111110000111111Z#00100011101110101110001110111000111Z#01000101110111000010110010001011001Z#10001010100010110100010100011101011)rr
Z#00000111111000011110000001100001111Z#00111000111000101110001110100010001Z#01011011001011100010010010001100110Z#10001001010001110100100101100110011)rr
Z#00000111111000011110000111100000011Z#00111000111011101110111000100011101Z#01011011001000100011001011001101100Z#11101101011001100110011101010110100)rr
Z#00000011111000111110000011100000111Z#00011100111001001110001101101111011Z#01100101001010000110110110110011000Z#10101000011011011011011101010101101)rr
Z#00000011111000111110001111100011111Z#00011100111001001110110001100000011Z#01100101001010000110010010100101111Z#10101000011011011010000110101000101r)rrrrr	�c6�c7rrr
�$binary_projective_two_weight_35_6_16os%r)	�__doc__�builtins�@py_builtins�_pytest.assertion.rewrite�	assertion�rewrite�
@pytest_arrrrrrr
�<module>s("F