예제 #1
0
파일: all.py 프로젝트: timgates42/sage
from sage.misc.lazy_import import lazy_import as _lazy_import

_lazy_import("sage.coding.code_constructions", ["permutation_action",
            "walsh_matrix"])

_lazy_import("sage.coding.linear_code", [
            "LinearCode",
            "LinearCodeFromVectorSpace",
            "self_orthogonal_binary_codes"])

# Functions removed from the global namespace

_lazy_import('sage.coding', 'codes_catalog', 'codes')
_lazy_import('sage.coding', 'channels_catalog', 'channels')
예제 #2
0
    LinearCodeFromCheckMatrix,  #deprecated
    QuadraticResidueCode,
    QuadraticResidueCodeEvenPair,
    QuadraticResidueCodeOddPair,
    random_linear_code,
    RandomLinearCode,  #deprecated
    ReedSolomonCode,
    TernaryGolayCode,
    ToricCode,
    WalshCode)

from .grs import GeneralizedReedSolomonCode
from .reed_muller_code import ReedMullerCode, BinaryReedMullerCode
from .extended_code import ExtendedCode
from .subfield_subcode import SubfieldSubcode

from .guava import QuasiQuadraticResidueCode, RandomLinearCodeGuava
_lazy_import('sage.coding.punctured_code', 'PuncturedCode')
from .hamming_code import HammingCode
from . import decoders_catalog as decoders
from . import encoders_catalog as encoders
from . import bounds_catalog as bounds

_lazy_import('sage.coding', 'databases')

del _lazy_import
from sage.misc.rest_index_of_methods import gen_rest_table_index as _gen_rest_table_index
import sys as _sys
__doc__ = __doc__.format(INDEX_OF_FUNCTIONS=_gen_rest_table_index(
    _sys.modules[__name__], only_local_functions=False))
예제 #3
0
# Implementation note:
#
# This module is imported as "codes" in all.py so that codes.<tab> is available
# in the global namespace.

from sage.misc.lazy_import import lazy_import as _lazy_import
from .code_constructions import (BCHCode, BinaryGolayCode, CyclicCodeFromGeneratingPolynomial,
                                CyclicCode, CyclicCodeFromCheckPolynomial, DuadicCodeEvenPair,
                                DuadicCodeOddPair, ExtendedBinaryGolayCode,
                                ExtendedQuadraticResidueCode, ExtendedTernaryGolayCode,
                                LinearCode, LinearCodeFromCheckMatrix,
                                QuadraticResidueCode, QuadraticResidueCodeEvenPair,
                                QuadraticResidueCodeOddPair, RandomLinearCode,
                                ReedSolomonCode, TernaryGolayCode,
                                ToricCode, TrivialCode, WalshCode)

from .grs import GeneralizedReedSolomonCode
from .reed_muller_code import ReedMullerCode, BinaryReedMullerCode
from .extended_code import ExtendedCode
from .subfield_subcode import SubfieldSubcode

from .guava import QuasiQuadraticResidueCode, RandomLinearCodeGuava
_lazy_import('sage.coding.punctured_code', 'PuncturedCode')
from .hamming_code import HammingCode
from . import decoders_catalog as decoders
from . import encoders_catalog as encoders
from . import bounds_catalog as bounds
from sage.misc.rest_index_of_methods import gen_rest_table_index as _gen_rest_table_index
import sys as _sys
__doc__ = __doc__.format(INDEX_OF_FUNCTIONS=_gen_rest_table_index(_sys.modules[__name__], only_local_functions=False))
예제 #4
0
r"""
Index of Channels: the information theoretic notion of transmission

The ``channels`` object may be used to access the codes that Sage can build.

- :class:`channel_constructions.ErrorErasureChannel <sage.coding.channel_constructions.ErrorErasureChannel>`
- :class:`channel_constructions.QarySymmetricChannel <sage.coding.channel_constructions.QarySymmetricChannel>`
- :class:`channel_constructions.StaticErrorRateChannel <sage.coding.channel_constructions.StaticErrorRateChannel>`

.. NOTE::

    To import these names into the global namespace, use:

        sage: from sage.coding.channels_catalog import *

"""
#*****************************************************************************
#       Copyright (C) 2015 David Lucas <*****@*****.**>
#
#  Distributed under the terms of the GNU General Public License (GPL),
#  version 2 or later (at your preference).
#
#                  http://www.gnu.org/licenses/
#*****************************************************************************
from __future__ import absolute_import

from sage.misc.lazy_import import lazy_import as _lazy_import
_lazy_import('sage.coding.channel_constructions', ['ErrorErasureChannel',
                                                   'QarySymmetricChannel',
                                                   'StaticErrorRateChannel'])
예제 #5
0
.. NOTE::

    To import these names into the global namespace, use:

        sage: from sage.coding.encoders_catalog import *
"""
#*****************************************************************************
#       Copyright (C) 2009 David Joyner <*****@*****.**>
#                     2015 David Lucas <*****@*****.**>
#                     2016 Tania Richmond <*****@*****.**>
#
#  Distributed under the terms of the GNU General Public License (GPL),
#  version 2 or later (at your preference).
#
#                  http://www.gnu.org/licenses/
#*****************************************************************************

from sage.misc.lazy_import import lazy_import as _lazy_import

_lazy_import('sage.coding.cyclic_code', ['CyclicCodePolynomialEncoder',
                                         'CyclicCodeVectorEncoder'])
_lazy_import('sage.coding.extended_code', 'ExtendedCodeExtendedMatrixEncoder')
_lazy_import('sage.coding.grs', ['GRSEvaluationVectorEncoder', 'GRSEvaluationPolynomialEncoder'])
_lazy_import('sage.coding.linear_code', ['LinearCodeGeneratorMatrixEncoder',
                                         'LinearCodeSystematicEncoder'])
_lazy_import('sage.coding.punctured_code', 'PuncturedCodePuncturedMatrixEncoder')
_lazy_import('sage.coding.reed_muller_code', ['ReedMullerVectorEncoder', 'ReedMullerPolynomialEncoder'])
_lazy_import('sage.coding.subfield_subcode', 'SubfieldSubcodeParityCheckEncoder')
_lazy_import('sage.coding.parity_check_code', ['ParityCheckCodeGeneratorMatrixEncoder','ParityCheckCodeStraightforwardEncoder'])
예제 #6
0
**Generic encoders**

:class:`linear_code.LinearCodeGeneratorMatrixEncoder <sage.coding.linear_code.LinearCodeGeneratorMatrixEncoder>`

**Generalized Reed-Solomon code encoders**

- :class:`grs.GRSEvaluationVectorEncoder <sage.coding.grs.GRSEvaluationVectorEncoder>`
- :class:`grs.GRSEvaluationPolynomialEncoder <sage.coding.grs.GRSEvaluationPolynomialEncoder>`

.. NOTE::

    To import these names into the global namespace, use:

        sage: from sage.coding.encoders_catalog import *
"""
#*****************************************************************************
#       Copyright (C) 2009 David Joyner <*****@*****.**>
#                     2015 David Lucas <*****@*****.**>
#
#  Distributed under the terms of the GNU General Public License (GPL),
#  version 2 or later (at your preference).
#
#                  http://www.gnu.org/licenses/
#*****************************************************************************

from sage.misc.lazy_import import lazy_import as _lazy_import
_lazy_import('sage.coding.linear_code', 'LinearCodeGeneratorMatrixEncoder')
_lazy_import('sage.coding.grs',
             ['GRSEvaluationVectorEncoder', 'GRSEvaluationPolynomialEncoder'])
예제 #7
0
- :class:`grs.GRSEvaluationPolynomialEncoder <sage.coding.grs.GRSEvaluationPolynomialEncoder>`

**Extended code encoders**

- :class:`extended_code.ExtendedCodeExtendedMatrixEncoder <sage.coding.extended_code.ExtendedCodeExtendedMatrixEncoder>`

.. NOTE::

    To import these names into the global namespace, use:

        sage: from sage.coding.encoders_catalog import *
"""
#*****************************************************************************
#       Copyright (C) 2009 David Joyner <*****@*****.**>
#                     2015 David Lucas <*****@*****.**>
#
#  Distributed under the terms of the GNU General Public License (GPL),
#  version 2 or later (at your preference).
#
#                  http://www.gnu.org/licenses/
#*****************************************************************************

from sage.misc.lazy_import import lazy_import as _lazy_import
_lazy_import('sage.coding.linear_code', ['LinearCodeGeneratorMatrixEncoder',
                                         'LinearCodeParityCheckEncoder'])
_lazy_import('sage.coding.grs', ['GRSEvaluationVectorEncoder', 'GRSEvaluationPolynomialEncoder'])
_lazy_import('sage.coding.reed_muller_code', ['ReedMullerVectorEncoder', 'ReedMullerPolynomialEncoder'])
_lazy_import('sage.coding.extended_code', 'ExtendedCodeExtendedMatrixEncoder')
_lazy_import('sage.coding.punctured_code', 'PuncturedCodePuncturedMatrixEncoder')
_lazy_import('sage.coding.subfield_subcode', 'SubfieldSubcodeParityCheckEncoder')
예제 #8
0
파일: all.py 프로젝트: ozzie00/sage
from __future__ import absolute_import

from sage.misc.lazy_import import lazy_import as _lazy_import

_lazy_import("sage.coding.code_constructions",
             ["permutation_action", "walsh_matrix"])

from sage.misc.superseded import \
    deprecated_callable_import as _deprecated_callable_import, \
    deprecated_function_alias as _deprecated_function_alias

_deprecated_callable_import(
    19315, "sage.coding.code_bounds", globals(), locals(), [
        "codesize_upper_bound", "dimension_upper_bound", "volume_hamming",
        "gilbert_lower_bound", "plotkin_upper_bound", "griesmer_upper_bound",
        "elias_upper_bound", "hamming_upper_bound", "singleton_upper_bound",
        "gv_info_rate", "entropy", "gv_bound_asymp", "hamming_bound_asymp",
        "singleton_bound_asymp", "plotkin_bound_asymp", "elias_bound_asymp",
        "mrrw1_bound_asymp"
    ], ("This method soon will not be available in that way."
        "Please call codes.bounds.%(name)s instead"))

_lazy_import("sage.coding.linear_code", [
    "LinearCode", "LinearCodeFromVectorSpace", "self_orthogonal_binary_codes"
])

# Functions removed from the global namespace
_lazy_import(
    'sage.coding.databases',
    'best_linear_code_in_guava',
    "best_known_linear_code",
예제 #9
0
파일: all.py 프로젝트: sagemath/sage
from __future__ import absolute_import

from sage.misc.lazy_import import lazy_import as _lazy_import

_lazy_import("sage.coding.code_constructions", ["permutation_action",
            "walsh_matrix"])

_lazy_import("sage.coding.linear_code", [
            "LinearCode",
            "LinearCodeFromVectorSpace",
            "self_orthogonal_binary_codes"])

# Functions removed from the global namespace

_lazy_import('sage.coding', 'codes_catalog', 'codes')
_lazy_import('sage.coding', 'channels_catalog', 'channels')
예제 #10
0
r"""
Index of bounds

The ``codes.bounds`` object may be used to access the bounds that Sage can compute.

{INDEX_OF_FUNCTIONS}

.. NOTE::

    To import these names into the global namespace, use:

        sage: from sage.coding.bounds_catalog import *
"""
from sage.misc.lazy_import import lazy_import as _lazy_import
_lazy_import("sage.coding.code_bounds", [
    "codesize_upper_bound", "dimension_upper_bound", "volume_hamming",
    "gilbert_lower_bound", "plotkin_upper_bound", "griesmer_upper_bound",
    "elias_upper_bound", "hamming_upper_bound", "singleton_upper_bound",
    "gv_info_rate", "entropy", "gv_bound_asymp", "hamming_bound_asymp",
    "singleton_bound_asymp", "plotkin_bound_asymp", "elias_bound_asymp",
    "mrrw1_bound_asymp"
])

from sage.misc.rest_index_of_methods import gen_rest_table_index as _gen_rest_table_index
import sys as _sys
__doc__ = __doc__.format(INDEX_OF_FUNCTIONS=_gen_rest_table_index(
    _sys.modules[__name__], only_local_functions=False))
예제 #11
0
{INDEX_OF_FUNCTIONS}

.. NOTE::

    To import these names into the global namespace, use:

        sage: from sage.coding.bounds_catalog import *
"""
from sage.misc.lazy_import import lazy_import as _lazy_import
_lazy_import("sage.coding.code_bounds", ["codesize_upper_bound",
            "dimension_upper_bound",
            "volume_hamming",
            "gilbert_lower_bound",
            "plotkin_upper_bound",
            "griesmer_upper_bound",
            "elias_upper_bound",
            "hamming_upper_bound",
            "singleton_upper_bound",
            "gv_info_rate",
            "entropy",
            "gv_bound_asymp",
            "hamming_bound_asymp",
            "singleton_bound_asymp",
            "plotkin_bound_asymp",
            "elias_bound_asymp",
            "mrrw1_bound_asymp"])

from sage.misc.rest_index_of_methods import gen_rest_table_index as _gen_rest_table_index
import sys as _sys
__doc__ = __doc__.format(INDEX_OF_FUNCTIONS=_gen_rest_table_index(_sys.modules[__name__], only_local_functions=False))
예제 #12
0
The ``channels`` object may be used to access the codes that Sage can build.

- :class:`channel_constructions.ErrorErasureChannel <sage.coding.channel_constructions.ErrorErasureChannel>`
- :class:`channel_constructions.QarySymmetricChannel <sage.coding.channel_constructions.QarySymmetricChannel>`
- :class:`channel_constructions.StaticErrorRateChannel <sage.coding.channel_constructions.StaticErrorRateChannel>`

.. NOTE::

    To import these names into the global namespace, use:

        sage: from sage.coding.channels_catalog import *

"""
#*****************************************************************************
#       Copyright (C) 2015 David Lucas <*****@*****.**>
#
#  Distributed under the terms of the GNU General Public License (GPL),
#  version 2 or later (at your preference).
#
#                  http://www.gnu.org/licenses/
#*****************************************************************************
from __future__ import absolute_import

from sage.misc.lazy_import import lazy_import as _lazy_import
_lazy_import('sage.coding.channel_constructions', ['ErrorErasureChannel',
                                                   'QarySymmetricChannel',
                                                   'StaticErrorRateChannel'])
# We don't want this to appear in tab completion
del absolute_import
예제 #13
0
    To import these names into the global namespace, use:

        sage: from sage.coding.decoders_catalog import *
"""
from __future__ import absolute_import
#*****************************************************************************
#       Copyright (C) 2009 David Joyner <*****@*****.**>
#                     2015 David Lucas <*****@*****.**>
#
#  Distributed under the terms of the GNU General Public License (GPL),
#  version 2 or later (at your preference).
#
#                  http://www.gnu.org/licenses/
#*****************************************************************************

from sage.misc.lazy_import import lazy_import as _lazy_import

_lazy_import('sage.coding.bch',                        'BCHUnderlyingGRSDecoder')
_lazy_import('sage.coding.cyclic_code',                'CyclicCodeSurroundingBCHDecoder')
_lazy_import('sage.coding.extended_code',              'ExtendedCodeOriginalCodeDecoder')
_lazy_import('sage.coding.grs',                       ['GRSBerlekampWelchDecoder',
                                                       'GRSErrorErasureDecoder',
                                                       'GRSGaoDecoder',
                                                       'GRSKeyEquationSyndromeDecoder'])
from .guruswami_sudan.gs_decoder import GRSGuruswamiSudanDecoder
_lazy_import('sage.coding.linear_code',               ['LinearCodeNearestNeighborDecoder',
                                                       'LinearCodeSyndromeDecoder'])
_lazy_import('sage.coding.punctured_code',             'PuncturedCodeOriginalCodeDecoder')
_lazy_import('sage.coding.subfield_subcode',           'SubfieldSubcodeOriginalCodeDecoder')
예제 #14
0
        sage: from sage.coding.encoders_catalog import *
"""
#*****************************************************************************
#       Copyright (C) 2009 David Joyner <*****@*****.**>
#                     2015 David Lucas <*****@*****.**>
#                     2016 Tania Richmond <*****@*****.**>
#
#  Distributed under the terms of the GNU General Public License (GPL),
#  version 2 or later (at your preference).
#
#                  http://www.gnu.org/licenses/
#*****************************************************************************

from sage.misc.lazy_import import lazy_import as _lazy_import

_lazy_import('sage.coding.cyclic_code',
             ['CyclicCodePolynomialEncoder', 'CyclicCodeVectorEncoder'])
_lazy_import('sage.coding.extended_code', 'ExtendedCodeExtendedMatrixEncoder')
_lazy_import('sage.coding.grs_code',
             ['GRSEvaluationVectorEncoder', 'GRSEvaluationPolynomialEncoder'])
_lazy_import(
    'sage.coding.linear_code',
    ['LinearCodeGeneratorMatrixEncoder', 'LinearCodeSystematicEncoder'])
_lazy_import('sage.coding.punctured_code',
             'PuncturedCodePuncturedMatrixEncoder')
_lazy_import('sage.coding.reed_muller_code',
             ['ReedMullerVectorEncoder', 'ReedMullerPolynomialEncoder'])
_lazy_import('sage.coding.subfield_subcode',
             'SubfieldSubcodeParityCheckEncoder')
_lazy_import('sage.coding.parity_check_code', [
    'ParityCheckCodeGeneratorMatrixEncoder',
    'ParityCheckCodeStraightforwardEncoder'
예제 #15
0
        sage: from sage.coding.decoders_catalog import *
"""
from __future__ import absolute_import
#*****************************************************************************
#       Copyright (C) 2009 David Joyner <*****@*****.**>
#                     2015 David Lucas <*****@*****.**>
#
#  Distributed under the terms of the GNU General Public License (GPL),
#  version 2 or later (at your preference).
#
#                  http://www.gnu.org/licenses/
#*****************************************************************************

from sage.misc.lazy_import import lazy_import as _lazy_import

_lazy_import('sage.coding.bch', 'BCHUnderlyingGRSDecoder')
_lazy_import('sage.coding.cyclic_code', 'CyclicCodeSurroundingBCHDecoder')
_lazy_import('sage.coding.extended_code', 'ExtendedCodeOriginalCodeDecoder')
_lazy_import('sage.coding.grs', [
    'GRSBerlekampWelchDecoder', 'GRSErrorErasureDecoder', 'GRSGaoDecoder',
    'GRSKeyEquationSyndromeDecoder'
])
from .guruswami_sudan.gs_decoder import GRSGuruswamiSudanDecoder

_lazy_import('sage.coding.linear_code', [
    'LinearCodeNearestNeighborDecoder', 'LinearCodeSyndromeDecoder',
    'LinearCodeInformationSetDecoder'
])
_lazy_import('sage.coding.punctured_code', 'PuncturedCodeOriginalCodeDecoder')
_lazy_import('sage.coding.subfield_subcode',
             'SubfieldSubcodeOriginalCodeDecoder')
예제 #16
0
- Florentin Jaffredo (2018) : initial version
"""

# *****************************************************************************
#  Copyright (C) 2018 Florentin Jaffredo <*****@*****.**>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#                  http://www.gnu.org/licenses/
# *****************************************************************************

# Lazy import from examples folders:
from sage.misc.lazy_import import lazy_import as _lazy_import
_lazy_import('sage.manifolds.differentiable.examples.real_line',
             'OpenInterval')
_lazy_import('sage.manifolds.differentiable.examples.real_line', 'RealLine')
_lazy_import('sage.manifolds.differentiable.examples.euclidean',
             'EuclideanSpace')
_lazy_import('sage.manifolds.differentiable.examples.sphere', 'Sphere')


def Minkowski(positive_spacelike=True, names=None):
    """
    Generate a Minkowski space of dimension 4.

    By default the signature is set to `(- + + +)`, but can be changed to
    `(+ - - -)` by setting the optional argument ``positive_spacelike`` to
    ``False``. The shortcut operator ``.<,>`` can be used to
    specify the coordinates.
예제 #17
0
from __future__ import absolute_import

from .number_field import (NumberField, NumberFieldTower, CyclotomicField, QuadraticField,
                           is_fundamental_discriminant, is_real_place)
from .number_field_element import NumberFieldElement

from .order import EquationOrder, GaussianIntegers, EisensteinIntegers

from sage.misc.lazy_import import lazy_import as _lazy_import

_lazy_import('sage.rings.number_field.totallyreal', 'enumerate_totallyreal_fields_prim')
_lazy_import('sage.rings.number_field.totallyreal_data', 'hermite_constant')
_lazy_import('sage.rings.number_field.totallyreal_rel', 'enumerate_totallyreal_fields_all')
_lazy_import('sage.rings.number_field.totallyreal_rel', 'enumerate_totallyreal_fields_rel')

from .unit_group import UnitGroup
예제 #18
0
.. NOTE::

    To import these names into the global namespace, use:

        sage: from sage.coding.encoders_catalog import *
"""
#*****************************************************************************
#       Copyright (C) 2009 David Joyner <*****@*****.**>
#                     2015 David Lucas <*****@*****.**>
#
#  Distributed under the terms of the GNU General Public License (GPL),
#  version 2 or later (at your preference).
#
#                  http://www.gnu.org/licenses/
#*****************************************************************************

from sage.misc.lazy_import import lazy_import as _lazy_import
_lazy_import('sage.coding.linear_code', [
    'LinearCodeGeneratorMatrixEncoder', 'LinearCodeParityCheckEncoder',
    'LinearCodeSystematicEncoder'
])
_lazy_import('sage.coding.grs',
             ['GRSEvaluationVectorEncoder', 'GRSEvaluationPolynomialEncoder'])
_lazy_import('sage.coding.reed_muller_code',
             ['ReedMullerVectorEncoder', 'ReedMullerPolynomialEncoder'])
_lazy_import('sage.coding.extended_code', 'ExtendedCodeExtendedMatrixEncoder')
_lazy_import('sage.coding.punctured_code',
             'PuncturedCodePuncturedMatrixEncoder')
_lazy_import('sage.coding.subfield_subcode',
             'SubfieldSubcodeParityCheckEncoder')
예제 #19
0
from __future__ import absolute_import

from .number_field import (NumberField, NumberFieldTower, CyclotomicField,
                           QuadraticField, is_fundamental_discriminant,
                           is_real_place)
from .number_field_element import NumberFieldElement

from .order import EquationOrder, GaussianIntegers, EisensteinIntegers

from sage.misc.lazy_import import lazy_import as _lazy_import

_lazy_import('sage.rings.number_field.totallyreal',
             'enumerate_totallyreal_fields_prim')
_lazy_import('sage.rings.number_field.totallyreal_data', 'hermite_constant')
_lazy_import('sage.rings.number_field.totallyreal_rel',
             'enumerate_totallyreal_fields_all')
_lazy_import('sage.rings.number_field.totallyreal_rel',
             'enumerate_totallyreal_fields_rel')

from .unit_group import UnitGroup
예제 #20
0
파일: all.py 프로젝트: mcognetta/sage
from __future__ import absolute_import

from sage.misc.lazy_import import lazy_import as _lazy_import

_lazy_import("sage.coding.code_constructions", ["permutation_action",
            "walsh_matrix"])

_lazy_import("sage.coding.linear_code", [
            "LinearCode",
            "LinearCodeFromVectorSpace",
            "self_orthogonal_binary_codes"])

# Functions removed from the global namespace
_lazy_import('sage.coding.databases','best_linear_code_in_guava', "best_known_linear_code",
    deprecation=(21165, "best_known_linear_code has moved to sage.coding.databases.best_linear_code_in_guava"))
_lazy_import('sage.coding.databases','best_linear_code_in_guava', "best_known_linear_code_www",
    deprecation=(21165, "best_known_linear_code_www has moved to sage.coding.databases.best_linear_code_in_guava"))
_lazy_import('sage.coding.databases','bounds_on_minimum_distance_in_guava', "bounds_minimum_distance",
    deprecation=(21165, "bounds_minimum_distance has moved to sage.coding.databases.bounds_on_minimum_distance_in_guava"))
_lazy_import('sage.coding.databases','self_orthogonal_binary_codes', "self_orthogonal_binary_codes",
    deprecation=(21165, "self_orthogonal_binary_codes has moved to sage.coding.databases.self_orthogonal_binary_codes"))
_lazy_import('sage.coding.databases','self_dual_binary_codes', "self_dual_codes_binary",
    deprecation=(21165, "self_dual_codes_binary has moved to sage.coding.databases.self_dual_binary_codes"))

_lazy_import('sage.coding.delsarte_bounds','krawtchouk', "Krawtchouk",
    deprecation=(20908, "Krawtchouk will be removed from the global namespace. Please use codes.bounds.krawtchouk instead."))
_lazy_import('sage.coding.delsarte_bounds','krawtchouk', "Kravchuk",
    deprecation=(20908, "Kravchuk will be removed from the global namespace. Please use codes.bounds.krawtchouk instead."))

_lazy_import('sage.coding.delsarte_bounds',
    ["delsarte_bound_hamming_space", "delsarte_bound_additive_hamming_space"],
예제 #21
0
#  version 2 or later (at your preference).
#
#                  https://www.gnu.org/licenses/
#*****************************************************************************
from __future__ import absolute_import

# This module is imported as "codes" in all.py so that codes.<tab> is
# available in the global namespace.

from sage.misc.lazy_import import lazy_import as _lazy_import

from .linear_code import LinearCode

_lazy_import('sage.coding.code_constructions',
        ['DuadicCodeEvenPair', 'DuadicCodeOddPair',
         'ExtendedQuadraticResidueCode', 'from_parity_check_matrix',
         'QuadraticResidueCode', 'QuadraticResidueCodeEvenPair',
         'QuadraticResidueCodeOddPair', 'random_linear_code',
         'ToricCode', 'WalshCode'])

_lazy_import('sage.coding.subfield_subcode', 'SubfieldSubcode')
_lazy_import('sage.coding.extended_code', 'ExtendedCode')
_lazy_import('sage.coding.punctured_code', 'PuncturedCode')

_lazy_import('sage.coding.parity_check_code', 'ParityCheckCode')
_lazy_import('sage.coding.cyclic_code', 'CyclicCode')
_lazy_import('sage.coding.bch_code', 'BCHCode')
_lazy_import('sage.coding.grs_code', ['GeneralizedReedSolomonCode', 'ReedSolomonCode'])
_lazy_import('sage.coding.reed_muller_code', ['BinaryReedMullerCode', 'ReedMullerCode'])
_lazy_import('sage.coding.hamming_code', 'HammingCode')
_lazy_import('sage.coding.golay_code', 'GolayCode')
_lazy_import('sage.coding.goppa_code', 'GoppaCode')
예제 #22
0
**Generic encoders**

:class:`linear_code.LinearCodeGeneratorMatrixEncoder <sage.coding.linear_code.LinearCodeGeneratorMatrixEncoder>`
:class:`linear_code.LinearCodeParityCheckEncoder <sage.coding.linear_code.LinearCodeParityCheckEncoder>`

**Generalized Reed-Solomon code encoders**

- :class:`grs.GRSEvaluationVectorEncoder <sage.coding.grs.GRSEvaluationVectorEncoder>`
- :class:`grs.GRSEvaluationPolynomialEncoder <sage.coding.grs.GRSEvaluationPolynomialEncoder>`

.. NOTE::

    To import these names into the global namespace, use:

        sage: from sage.coding.encoders_catalog import *
"""
#*****************************************************************************
#       Copyright (C) 2009 David Joyner <*****@*****.**>
#                     2015 David Lucas <*****@*****.**>
#
#  Distributed under the terms of the GNU General Public License (GPL),
#  version 2 or later (at your preference).
#
#                  http://www.gnu.org/licenses/
#*****************************************************************************

from sage.misc.lazy_import import lazy_import as _lazy_import
_lazy_import('sage.coding.linear_code', ['LinearCodeGeneratorMatrixEncoder',
                                         'LinearCodeParityCheckEncoder'])
_lazy_import('sage.coding.grs', ['GRSEvaluationVectorEncoder', 'GRSEvaluationPolynomialEncoder'])
예제 #23
0
from sage.misc.lazy_import import lazy_import as _lazy_import

_lazy_import("sage.coding.code_constructions",
             ["permutation_action", "walsh_matrix"])

_lazy_import("sage.coding.linear_code", "LinearCode")

# Functions removed from the global namespace

_lazy_import('sage.coding', 'codes_catalog', 'codes')
_lazy_import('sage.coding', 'channels_catalog', 'channels')