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
trueif 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
trueif 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
trueif 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
trueif and only if the (non-quantum) code \(C\) is projective over its alphabet.
- IsAdditiveProjective(C): CodeAdd -> BoolElt#
Returns
trueif 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.