#18269: A new structure for experimentation on decoding: communication channels
-------------------------+-------------------------------------------------
       Reporter:         |        Owner:
  dlucas                 |       Status:  needs_work
           Type:         |    Milestone:  sage-6.7
  enhancement            |   Resolution:
       Priority:  major  |    Merged in:
      Component:         |    Reviewers:  Vincent Delecroix
  coding theory          |  Work issues:
       Keywords:         |       Commit:
        Authors:  David  |  768ed9cd9e827fa833c9244cfade1ea63e703216
  Lucas                  |     Stopgaps:
Report Upstream:  N/A    |
         Branch:         |
  u/dlucas/channels      |
   Dependencies:         |
-------------------------+-------------------------------------------------
Changes (by vdelecroix):

 * status:  needs_review => needs_work


Comment:

 24. In the string representation of channels the input space/output space
 does not appear
 {{{
 sage: n_err, n_era = 21, 21
 sage: Chan = channels.ErrorErasureChannel(GF(59)^50, n_err, n_era)
 sage: Chan
 Error-and-erasure channel creating 21 errors and 21 erasures
 }}}
   i.e. no mention of `GF(59)^50` in the above example. Is that what you
 want?

 25. For the `ErrorErasureChannel` the output space is `CartesianProduct`.
 For mysterious reason, it is adviced to use `cartesian_product` from
 `sage.categories.cartesian_product` (see #15425).

 26. In `ErrorErasureChannel.transmit_unsafe` you would better replace
 {{{#!diff
 diff --git a/src/sage/coding/channel_constructions.py
 b/src/sage/coding/channel_constructions.py
 index 0d32ffc..8935db7 100644
 --- a/src/sage/coding/channel_constructions.py
 +++ b/src/sage/coding/channel_constructions.py
 @@ -592,4 +592,5 @@ class ErrorErasureChannel(Channel):

 +        zero = V.base_ring().zero()
          for i in erasure_positions:
 -            message[i] = 0
 +            message[i] = zero
          return message, erasure_vector
 }}}
 it is cleaner and potentially faster (not much).

 27. You should add examples that check that the input vector is not
 modified, ie
 {{{
     sage: v = my_funny_vector()
     sage: Chan(v)
     ... my_funny_output ....

 Check that the input ``v`` is not modified::

     sage: v
     ... should be the initial vector ...
 }}}

--
Ticket URL: <http://trac.sagemath.org/ticket/18269#comment:26>
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 http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to