#19623: Syndrome decoder is not a syndrome decoder
-------------------------------------+-------------------------------------
       Reporter:  dlucas             |        Owner:
           Type:  enhancement        |       Status:  needs_work
       Priority:  major              |    Milestone:  sage-7.0
      Component:  coding theory      |   Resolution:
       Keywords:                     |    Merged in:
        Authors:  David Lucas        |    Reviewers:  Julien Lavauzelle
Report Upstream:  N/A                |  Work issues:
         Branch:                     |       Commit:
  u/dlucas/generic_decoders          |  fc79446d6948143d32a9065410453379c79ef2b2
   Dependencies:                     |     Stopgaps:
-------------------------------------+-------------------------------------

Comment (by jsrn):

 Replying to [comment:12 dlucas]:
 > Replying to [comment:10 jsrn]:
 > > Replying to [comment:9 jlavauzelle]:
 > > > * I also think that your description of the decoder ("correcting up
 to `number_errors` errors") could fool the user, as `number_errors` may be
 set up to `n` whereas the decoder will never decode an error of weight
 `n`.
 > >
 > > Indeed, we seem to have an issue with what `decoding_radius` should
 mean. Should it here be `min(number_errors, halft-min-dist)`, or should it
 just be `number_errors`, with the understanding that it chooses the
 nearest neighbour?
 >
 > Forget my previous answer, I vote for your solution : number errors
 returns `_number_errors` as it was set at construction time, and
 `decoding_radius` returns `min(number_errors, half-min-dist)`

 Hmm, I'm not sure this is my solution ;-) There are decoding methods which
 decode up to, say t > d/2 errors, but which might fail with low
 probability (interleaved codes, power decoding, ao.). Should
 `decoding_radius` really return `d/2` for all these? Perhaps it's the
 definition of `decoding_radius` which should change. In this case it's
 "the maximal number of errors a received word can have and for which the
 decoder will always return a most likely codeword".

 > Yes it is, for now it's:
 >
 > {{{
 > LinearCodeSyndromeDecoder._decoder_type = {"hard-decision", "unique",
 "always-succeed", "complete"}
 > }}}
 >
 > It's not shown in the diff because it was set like this before, and I
 did not change it.

 OK, I missed it when browsing the local file then. "complete" should only
 be
 added if one sets `number_errors` at least the covering radius of the
 code.

--
Ticket URL: <http://trac.sagemath.org/ticket/19623#comment:14>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to