Differences between revisions 2 and 3
Revision 2 as of 2016-08-29 11:52:08
Size: 11452
Editor: dlucas
Revision 3 as of 2016-08-29 12:27:48
Size: 11617
Editor: dlucas
Deletions are marked like this. Additions are marked like this.
Line 166: Line 166:
 * Razvan Barbulescu wishes to use Sage (especially Cyclic codes in Sage) in his course at the preparatory school for the french ''agrégation de mathématiques''

We had some troubles with Inria's guest network. Here's a command to make git fetch trac work on the InriaGuest network:

git remote set-url trac [email protected]:sage.git


Sprints on Coding theory

  • Review open coding theory tickets, see #18846 : David, Johan Édouard, Julien (Cyclic codes, BCH codes), Daniel, Clément, Arpit

    • #20342 as author (David) -> Open for review

    • #20100 Cyclic code (Julien) work in progress
    • #21306 doc on divisor (Ricardo) -> Positive review

    • #21315 relative distance (David, Tania, Fangan) -> Open for review. Positive review.

    • #20908 doc bugs -> in progress

    • #21326 Prevent creation of code with length 0 (Fangan) -> Open for review

    • #21165 Various cleanup to sage/coding -> positive review

    • #20342 Rate -> positive review

    • #19913 non guava covering radius -> positve review

    • #19251 immutable basis -> positive review

    • #20443 decoder_type on non class instances ->positive review

    • #19975 -> invalid/wontfix

    • #20787 Golay codes -> needs review

    • #20233 minimum_distance() fails for large fields (Joe) -> needs review

Reminder: remember to add keyword 'sd75' on all Sage tickets you may be working on during these Sage days.

  • Fix any open minor issue with linear_code.py as noted on the ACTIS Bitbucket wiki. Ricardo, Daniel, David

  • Finish the implementation of Golay codes: David, Tania, Arpit -> open for review

  • Implement a class for Goppa codes. Implement a decoder, e.g. based on its formulation as a subfield subcode of a GRS code: Daniel, Tania, Johan, David -> Discussions

  • Finish and review Groebner basis decoding of any linear code (Irene, Miguel, David) -> WIP, see #21339

  • Create a base class for codes over (ZZ mod N). See #6452 for the relevant base module structure. Create a class for the famous Z4 codes and their embedding into binary codes. Joe Fields , Johan, Ricardo, David -> discussions in progress

  • Discuss guava and improve its integration in Sage: Daniel, Joe, David. Some details follow:
    • sage -i gap_packages offers no granularity
    • Joe did a review of main features of guava : we would like to have a place to point them and discuss them wrt to sage-actis (ticket ? bitbucket ?) -> wiki page at https://wiki.sagemath.org/Coding_Theory/Guava

    • Joe pointed the issue with codetables.de and magma
    • few algorithms (minimum distance, code equivalence, automorphism group) have been implemented in C for guava. So the calling path is sage->gap->guave->adhoc

    • The most valuable seems to be Leon's code for computing the automorphism group of a code
  • Update https://wiki.sagemath.org/Coding_Theory. Done: Complete rewrite. Please check it out.

  • Write and review related tickets (#13215)
    • experimental warning needs to be thrown properly -> done.

    • A lot of changes and improvements were made to the documentation of the ticket.
    • In needs_review now
  • skew polys over finite fields (#21088)
    • This ticket is no longer relevant: it mainly implements inplace methods but they are not faster that standard ones
  • skew polynomials over (R, theta) where theta has finite order (#21262): in needs_review
  • Interpolation and minimal vanishing poly for skew polys #21131
    • Working on rewriting history. Otherwise pretty close to setting needs_review.
  • Abstract base class for Rank Metric Codes #21226
    • Add documentation and remaining methods.
  • Gabidulin Code + decoder: #20970


  • Improve the integration of finite field non-prime basis representation that was introduced in #20284. Johan, Luca, David, Turku, Édouard, Bruno

  • Port implementation of asymptotically fast (GF(q)[x])[y] root-finding from Codinglib. Bruno, Johan => needs review: http://trac.sagemath.org/ticket/21333

  • Improve integration of the (GF(q)[x])[y] root-finding so that it is tab-expansion-available for any such polynomial (a reasonably fast implementation of such root-finding was introduced in #19666) Johan, Bruno, Turku:

  • List decoding should return empty list instead of None when no codeword is found: needs review http://trac.sagemath.org/ticket/21347

  • Refactoring class hierarchy for univariate polynomials : Johan, Bruno
    • Look at overall picture Wednesday evening. Get master-advice from Nicolas Thursday. => Got super advice! (And even skeleton of code => in good way ;-))

Linear Algebra


Lightning or slightly slower talks and roundtable discussion

Teaching coding theory (Wednesday afternoon)

Images would have to be bit map images/png (see: bit-array module in Python). But an idea is to have product codes that decode it. The main idea is to create a project that is open and the students have a free choice to decide what the final visualization looks like.

  • Evaluations of students/their submissions using Sage.
  • Getting students to contribute to Sage as part of a course - write a Wikipedia page on a particular topic and the prof evaluates based on that (makes changes if there are mistakes). Or maybe add code or documentation to Sage.
  • SageMathCloud- advantage over other CMS is that it has Sage built right in and students can be up and running immediately.

  • Another takeaway is to augment theoretical explanations of codes using Sage, for exampleone can create worksheets that can be shared so that students can see visually (perfect codes - see Nicolas' course notes) how a code looks or follow step wise the properties of codes and a virtual pipeline of message->encoding->adding errors (channel)-> decoding.

  • Using advanced CT features to support learning. Live demos (pick code, channel, encode, etc), functions for data, applications. Have students take a text file/image/video/sound and encode it and then add noise and then decode and analyze/compare it. Very fun for students to understand.
  • Demonstrate code efficiency, etc.
  • Interactive documentation base (Miguel) https://riemann.unizar.es/sage-wiki

  • Nicolas: Improving my class notes
    • Btw: feel free to reuse any chunk of those notes if useful (e.g. for a tutorial)
    • Potentially useful features for those course notes: parity code, code from a set of words, drawing codes, text <-> vectors conversions

  • Razvan Barbulescu wishes to use Sage (especially Cyclic codes in Sage) in his course at the preparatory school for the french agrégation de mathématiques

Talks conducted

  • Tutorial: contributing to Sage: git and trac (David): Daniel, Tania, Fangan Édouard : Fangan Édouard, Ricardo, Joe, Clément
    • done -> slides have been uploaded

  • Tutorial: implementing new codes (David): Tania, Édouard....
  • Learning more about codes over rings (Ricardo): David, Tania, Joe, Daniel, ...
    • we discussed on what Ricardo would like to have in Sage
    • I (David) took some notes.
  • Johan, Wednesday 11:00: "Decoding algebraic codes for the lazy mathematician". Done.
  • Interactive documentation base (Miguel) https://riemann.unizar.es/sage-wiki

days75/status-report (last edited 2016-08-29 14:20:26 by bruno)