Ticket #6452 (needs_work enhancement)

Opened 14 months ago

Last modified 8 months ago

[with patch, needs work] codes over rings

Reported by: wdj Owned by: rlm
Priority: major Milestone: sage-4.5.3
Component: coding theory Keywords:
Cc: cesarnda@… Author(s):
Report Upstream: N/A Reviewer(s):
Merged in: Work issues:

Description

This module constructs codes over rings of the form ZZ/mZZ, that is, submodules of FreeModule?(IntegerModRing?(m), n). The main authors are Cesar Agustin Garcia-Vazquez (who was an undergrad in Mexico when he wrote this) and Carlos A. Lopez-Andrade (his advisor). I made some changes to make it more consistent with LinearCode?. (It still has some hidden differences - the basic problem being that FreeModule? has no submodule or span method analogous that of VectorSpace?.)

It is in Cython, which I confess I don't really understand well. My role is simply to take Cesar's code (which he emailed to me), tweek it a bit, and create a patch. He has explicitly agreed to distributing it under GPLv2+.

Attachments

trac_6452-codes-over-rings.patch Download (0.9 KB) - added by wdj 14 months ago.
applies to 4.1.alpha1
trac_6452-ring-codes.patch Download (18.0 KB) - added by wdj 11 months ago.
ignore the previous patch; this applies to 4.1.2.rc2

Change History

Changed 14 months ago by wdj

applies to 4.1.alpha1

  Changed 14 months ago by wdj

  • summary changed from codes over rings to [with patch, needs review] codes over rings

This applies to 4.1.alpha1. This passed sage -testall except for

The following tests failed:                                                                             


        sage -t  "devel/sage/doc/fr/tutorial/programming.rst"
        sage -t  "devel/sage/sage/misc/darwin_utilities.pyx" 
Total time for all tests: 6017.1 seconds                     

Neither of these failures seem related to this ticket.

  Changed 14 months ago by AlexGhitza

  • summary changed from [with patch, needs review] codes over rings to [with patch, needs work] codes over rings

The patch doesn't contain the crucial file ring_code.pyx. Maybe you forgot to add this file to the hg repository?

Changed 11 months ago by wdj

ignore the previous patch; this applies to 4.1.2.rc2

  Changed 11 months ago by wdj

  • status changed from needs_work to needs_review

This latest patch fixes some problems prointed out in private emails from Dan Gordon.

  Changed 11 months ago by wdj

  • summary changed from [with patch, needs work] codes over rings to [with patch, needs review] codes over rings

  Changed 11 months ago by wdj

I can also say that the module in coding pass sage -t, with this patch applied, in OS 10.6 on an imac. OS10.6 does not pass sage -testall. However, I do have ubuntu 9.04 32bit installed under vmware on this machine and can test it there if desired.

  Changed 10 months ago by dgordon

  • status changed from needs_review to positive_review

follow-up: ↓ 9   Changed 10 months ago by mhansen

  • status changed from positive_review to needs_work
  • summary changed from [with patch, needs review] codes over rings to [with patch, needs work] codes over rings

Is there any way we can get documentation for the cdef methods as well as possibly some more code comments? I'm just worried that there's no one who is able to maintain this code.

Also, it's not clear to me that there are not memory leak issues with this code as there are lots of malloc's and only one free.

  Changed 10 months ago by wdj

  • cc cesarnda@… added

If someone can explain to me what those functions will do, I will add comments on them. As I said, I am basically doing a favor by posting a patch of someone else's code. I had to make a lot of additions to make it consistent with other parts of the codes library, but basically it is Cesar's code. Personally, I really don't understand the cython stuff.

Does this mean that the code will not be accepted?

in reply to: ↑ 7   Changed 8 months ago by wdj

  • upstream set to N/A

Replying to mhansen:

Is there any way we can get documentation for the cdef methods as well as possibly some more code comments? I'm just worried that there's no one who is able to maintain this code. Also, it's not clear to me that there are not memory leak issues with this code as there are lots of malloc's and only one free.

As I said, I could try to add comments to the code, but I really don't know cython nearly well enough to deal with malloc issues.

I've emailed Cesar and not gotten any response about the memory leak issues.

Given that, should the status change to "resolve as won't fix"? That would be too bad since Sage could really use "linear codes" over rings.

Note: See TracTickets for help on using tickets.