I have coded a program in cython called "elements_in_linear_span" that
generates a set of codewords from a matrix (a matrix space must be
defined) over a ring of intergers. This function almost does what
Magma does with:

> R:=RingOfIntegers(9);
> code := LinearCode(sub<RSpace(R,5)|[5, 0, 0, 0, 4],[4, 5, 0, 0, 0],[0, 4, 5, 
> 0, 0],[0, 0, 4, 5, 0], [0, 0, 0, 4, 5]>);

The differences are that my program does not get the matrix in echelon
form and it does not get the minimum distance of the code (which I
think I might have an example where Magma does not compute it right).

The great advantage of this program is that it does something that
Sage does not do yet and it does it almost as fast as Magma (less than
one second, 0.89 sec the longest yet, meanwhile Magma does it in
almost 0 seconds).

David Joyner have checked the results of this program compared to
Magma's and the construction is almost similar:

sage: MS = MatrixSpace(IntegerModRing(9), 5,5)
sage: G = MS([[5, 0, 0, 0, 4],[4, 5, 0, 0, 0],[0, 4, 5, 0, 0],[0, 0,
4, 5, 0], [0, 0, 0, 4, 5]])
sage: elements_in_linear_span(G)

So this function might be a good addition for a list method for the
elements of a free module over ZZ/nZZ.

What do you think?
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to