Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#19897 closed enhancement (fixed)

Rewriting introductory thematic tutorial on coding theory

Reported by: dlucas Owned by:
Priority: major Milestone: sage-7.1
Component: coding theory Keywords:
Cc: tscrim Merged in:
Authors: David Lucas Reviewers: Julian Rueth
Report Upstream: N/A Work issues:
Branch: 12bf512 (Commits) Commit:
Dependencies: Stopgaps:

Description

With all the recent work done on the coding theory library in Sage, the existing thematic tutorial on CT should be updated.

This tutorial has (imho) some problems:

  • it is more a catalog of available methods and constructions rather than an actual tutorial
  • it goes very fast into very specific methods and details, which should not be mentioned here

This ticket proposes a complete rework of this tutorial, which, instead of listing methods and constructions, gives some clues on how to build generic linear codes and perform standard operations (encoding, decoding, adding errors in words) for people working on coding theory. It also explains to the user how to find any method and construction he needs. Furthermore, it keeps things simple and never goes into technical details, or advanced scientific notions, preferring in that case to redirect the interested reader to manual pages instead.

Change History (19)

comment:1 Changed 4 years ago by dlucas

  • Branch set to u/dlucas/introductory_thematic_tutorial

comment:2 follow-up: Changed 4 years ago by dlucas

  • Authors set to David Lucas
  • Cc tscrim added
  • Commit set to 2057fee08a6657d419272ee0a2ecbb1b73d95d0b
  • Status changed from new to needs_review

I pushed my work, this is now open for review.

As a note for the reviewer/interested reader:

  • I had to add a flag .. nodoctest at the beginning of the file, in order to not having to recreate a new object (code, channel) at the beginning of each code block. If one knows of to transfer created objects from one block to another (if possible), it would of course be better!
  • New decoders #19653 will introduce have interesting properties wrt their message space. I made this ticket a dependency of #19653 and created a new paragraph related to decoders and message spaces in #19653.
Last edited 4 years ago by dlucas (previous) (diff)

comment:3 in reply to: ↑ 2 Changed 4 years ago by jdemeyer

  • Status changed from needs_review to needs_work

Replying to dlucas:

If one knows of to transfer created objects from one block to another (if possible), it would of course be better!

See link and linkall

http://doc.sagemath.org/html/en/developer/coding_basics.html#testing-rest-documentation

comment:4 Changed 4 years ago by git

  • Commit changed from 2057fee08a6657d419272ee0a2ecbb1b73d95d0b to 70e5211c746c25cbf87a0db4df1e186927a46f16

Branch pushed to git repo; I updated commit sha1. New commits:

d9bcb28Update to 7.1beta0
70e5211Added ..linkall keyword and wrote a new paragraph on decoders and introspections

comment:5 Changed 4 years ago by dlucas

  • Milestone changed from sage-7.0 to sage-7.1
  • Status changed from needs_work to needs_review

Thank you!

I put .. linkall at the beginning of the file. I also updated a bit this tutorial by adding a new paragraph on decoders and introspection. Reopening this for review.

David

comment:6 Changed 4 years ago by git

  • Commit changed from 70e5211c746c25cbf87a0db4df1e186927a46f16 to 4035292690854841fb19f3ce699dfa8fb2aacd51

Branch pushed to git repo; I updated commit sha1. New commits:

4035292Moved and fixed list of decoder types

comment:7 Changed 4 years ago by dlucas

I moved the list of decoder types from the thematic tutorial to the doctstring of decoder_type. I also fixed errors in it, and did a better formatting. This is still open for review.

comment:8 Changed 4 years ago by saraedum

Looks very good to me. Some minor issues.

  • Typo in Lets us now go a bit more into details on specific points.
  • The algorithms behind decoder work differently for each decoder: sounds strange. Did you mean Decoder or decoders?
  • to compare decoders which work the same. Did you mean something like decoders which share properties?
  • In Section II, we briefly introduced the new Channel objects as a new way to put errors in a word.. I think you should remove both occurences of new. Channels are maybe new right now but they won't be anymore at some point.
  • We also introduced a useful shortcut for. Was that "introduced" in the document? Did you mean "have"?

Have you checked that this looks alright in the pdf output? I think you might have to escape ... somehow or maybe you can just use a unicode . Same goes for the dashes you use; maybe they are alright but you might want to double check.

Other than that, feel free to set this to "positive review" once you adressed the above.

Last edited 4 years ago by saraedum (previous) (diff)

comment:9 Changed 4 years ago by saraedum

  • Status changed from needs_review to needs_work

comment:10 Changed 4 years ago by git

  • Commit changed from 4035292690854841fb19f3ce699dfa8fb2aacd51 to 61d49cc7cd24a0bd9939f07b394ca4e128106b9a

Branch pushed to git repo; I updated commit sha1. New commits:

b443718Update to 7.1beta1
61d49ccRewrote some sentences and fixed typos

comment:11 Changed 4 years ago by dlucas

  • Status changed from needs_work to needs_review

Hello,

Thank you for your comments!

I fixed every issue you noticed. I checked the pdf output, and it looks just fine.

Before setting this ticket to positive review, can you please add you name to the list of reviewers? I'm changing it to needs_review again in the meanwhile.

David

Last edited 4 years ago by dlucas (previous) (diff)

comment:12 Changed 4 years ago by git

  • Commit changed from 61d49cc7cd24a0bd9939f07b394ca4e128106b9a to 12bf51290756430707c8e57481c6f102801ad0be

Branch pushed to git repo; I updated commit sha1. New commits:

12bf512Removed table of types

comment:13 Changed 4 years ago by dlucas

Hello again,

I finally removed the table of decoder types, as this types are actually a bit more tricky to define than I thought... I'll open a new ticket dedicated to these types and their definition.

David

comment:14 Changed 4 years ago by saraedum

  • Reviewers set to Julian Rüth
  • Status changed from needs_review to positive_review

comment:15 Changed 4 years ago by vbraun

  • Branch changed from u/dlucas/introductory_thematic_tutorial to 12bf51290756430707c8e57481c6f102801ad0be
  • Resolution set to fixed
  • Status changed from positive_review to closed

comment:16 Changed 4 years ago by jdemeyer

  • Commit 12bf51290756430707c8e57481c6f102801ad0be deleted
  • Reviewers changed from Julian Rüth to Julian Rueth

comment:17 follow-up: Changed 4 years ago by saraedum

jdemeyer: Out of curiosity. Someone told me that it's fine to put umlauts and such things now. Is there a reason why I should use not use "ü"? So I know how to do this in the future…

comment:18 in reply to: ↑ 17 Changed 4 years ago by jdemeyer

Replying to saraedum:

Is there a reason why I should use not use "ü"?

The only reason is that you're known as "Julian Rueth" now, so it's for consistency.

comment:19 Changed 4 years ago by jdemeyer

If you like to change to "Rüth", that's not a problem for me. But at least try to use "Rüth" consistently then.

Note: See TracTickets for help on using tickets.