Properties of Codes

For the following operators, C and D are codes defined as a subset (or subspace) of the vector space V.

IsSelfDual(C) : Code -> BoolElt
Return true if and only if the linear code C is self-dual (or self-orthogonal) (i.e. C equals the dual of C).
IsSelfOrthogonal(C) : Code -> BoolElt
Return true if and only if the linear code C is self-orthogonal (i.e. C is contained in the dual of C).
IsPerfect(C) : Code -> BoolElt
Return true if and only if the linear code C is perfect; that is, if and only if the cardinality of C is equal to the size of the sphere packing bound of C.
IsProjective(C) : Code -> BoolElt
Returns true if and only if the (non-quantum) code C is projective over its alphabet.
IsAdditiveProjective(C) : CodeAdd -> BoolElt
Returns true if and only if the additive code C is projective over its coefficient field. It is possible that some of the columns may not be independent with respect to the alphabet of the code.
V2.28, 13 July 2023