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 -~----------~----~----~----~------~----~------~--~---