#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          |  54c02c3af22e896dd03759408b989f493415f26a
   Dependencies:                     |     Stopgaps:
-------------------------------------+-------------------------------------

Comment (by jsrn):

 Hi David,

 I agree, David, that the "informing the code"-feature is advanced and
 shouldn't be done in this ticket. Sorry for not making that clear.

 So, firstly, I want to say that my comments actually make sense even as a
 completely internal mechanism of `SyndromeDecoder`. That is, harvesting
 the true minimum distance and covering radius while the lookup-table is
 being build enables the decoder to give useful feedback to the user, such
 as its decoding radius and a more precise decoder type.

 Secondly, I hope you realise that this is "just" yet another example of
 the usefulness of a general mechanism for specifying upper- and lower-
 bounds on the minimum distance of a code, and it shows that, indeed as
 could have been expected, that minimum distance is *not* special in this
 regard: there are other parameters for which me might want such a
 mechanism (in this case, covering radius).

 To be more precise, say we design a general system for informing a
 `LinearCode` that new knowledge has been obtained on a property it has. It
 could be something like (and now I'm totally making this up on the spot):

 {{{
    `LinearCode._update_property_bound(property_name, update_type, value)
 }}}

 With such a mechanism, `SyndromeDecoder` would call

 {{{
    `self._code._update_property_bound("minimum_distance", "upper", t)
    `self._code._update_property_bound("minimum_distance", "lower", t)
 }}}

 or simply

 {{{
    `self._code._update_property_bound("minimum_distance", "exact", t)
 }}}

 Then the function `minimum_distance` should be changed accordingly. And
 various functions for computing or bounding the minimum distance should
 also be changed accordingly.

 As we have discussed before, we should be very careful not completely
 over-engineering this. I think it might be useful to start compiling a
 list of examples where such bound computation is possible and could be
 useful.

--
Ticket URL: <http://trac.sagemath.org/ticket/19623#comment:20>
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