You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Purportedly, LinearCode supports making codes over finite rings. The documentation states only that the ring needs to support "various methods" such as matrices over the ring has a rank function.
However, the underlying assumption in almost all of the code in LinearCode is and has always been that the code is over a finite field. Just because one or two random methods don't (currently) blow up on a code over a finite ring doesn't mean we should claim to support finite rings since all the other functions do blow up or, worse, return wrong or non-sensical results. No-one writing methods for LinearCode is ever thinking of finite rings.
Concrete functions that don't properly work over (most) finite rings: dimension, cardinality, automorphism_*, unencode, canonical_representative, characteristic_polynomial, parity_check_matrix. And there are many more.
The only sensible way forward is to honestly say that we don't support finite rings. If someone really needs finite rings, it is clear that this is yet to be implemented, and that person would hopefully do it. Note that #19345 provides a step in this direction.
where I can find the codebase for these functions: dimension, cardinality, automorphism_*, unencode, canonical_representative, characteristic_polynomial, parity_check_matrix. And there are many more.
Purportedly,
LinearCode
supports making codes over finite rings. The documentation states only that the ring needs to support "various methods" such as matrices over the ring has arank
function.However, the underlying assumption in almost all of the code in
LinearCode
is and has always been that the code is over a finite field. Just because one or two random methods don't (currently) blow up on a code over a finite ring doesn't mean we should claim to support finite rings since all the other functions do blow up or, worse, return wrong or non-sensical results. No-one writing methods forLinearCode
is ever thinking of finite rings.Concrete functions that don't properly work over (most) finite rings:
dimension
,cardinality
,automorphism_*
,unencode
,canonical_representative
,characteristic_polynomial
,parity_check_matrix
. And there are many more.The only sensible way forward is to honestly say that we don't support finite rings. If someone really needs finite rings, it is clear that this is yet to be implemented, and that person would hopefully do it. Note that #19345 provides a step in this direction.
CC: @sagetrac-dlucas @ppurka
Component: coding theory
Keywords: linear_code, finite_ring, ring_code
Issue created by migration from https://trac.sagemath.org/ticket/20387
The text was updated successfully, but these errors were encountered: