Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

r""" 

Index of decoders 

 

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

 

It is usually not necessary to access these directly: rather, the ``decoder`` 

method directly on a code allows you to construct all compatible decoders for 

that code (:meth:`sage.coding.linear_code.AbstractLinearCode.decoder`). 

 

**Extended code decoders** 

 

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

 

**Subfield subcode decoder** 

- :class:`subfield_subcode.SubfieldSubcodeOriginalCodeDecoder <sage.coding.subfield_subcode.SubfieldSubcodeOriginalCodeDecoder>` 

 

**Generalized Reed-Solomon code decoders** 

 

- :class:`grs.GRSBerlekampWelchDecoder <sage.coding.grs.GRSBerlekampWelchDecoder>` 

- :class:`grs.GRSErrorErasureDecoder <sage.coding.grs.GRSErrorErasureDecoder>` 

- :class:`grs.GRSGaoDecoder <sage.coding.grs.GRSGaoDecoder>` 

- :class:`guruswami_sudan.gs_decoder.GRSGuruswamiSudanDecoder <sage.coding.guruswami_sudan.gs_decoder.GRSGuruswamiSudanDecoder>` 

- :class:`grs.GRSKeyEquationSyndromeDecoder <sage.coding.grs.GRSKeyEquationSyndromeDecoder>` 

 

**Generic decoders** 

 

- :class:`linear_code.LinearCodeNearestNeighborDecoder <sage.coding.linear_code.LinearCodeNearestNeighborDecoder>` 

- :class:`linear_code.LinearCodeSyndromeDecoder <sage.coding.linear_code.LinearCodeSyndromeDecoder>` 

- :class:`information_set_decoder.LinearCodeInformationSetDecoder <sage.coding.information_set_decoder.LinearCodeInformationSetDecoder>` 

 

**Cyclic code decoder** 

 

- :class:`cyclic_code.CyclicCodeSurroundingBCHDecoder <sage.coding.cyclic_code.CyclicCodeSurroundingBCHDecoder>` 

 

**BCH code decoder** 

 

- :class:`bch.BCHUnderlyingGRSDecoder <sage.coding.bch.BCHUnderlyingGRSDecoder>` 

 

**Punctured codes decoders** 

 

- :class:`punctured_code.PuncturedCodeOriginalCodeDecoder <sage.coding.punctured_code.PuncturedCodeOriginalCodeDecoder>` 

 

.. NOTE:: 

 

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 <wdjoyner@gmail.com> 

# 2015 David Lucas <david.lucas@inria.fr> 

# 

# 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') 

_lazy_import('sage.coding.information_set_decoder', 'LinearCodeInformationSetDecoder')