CoveringRadius( code )
CoveringRadius
is a function that already appeared in earlier
versions of GUAVA, but it is changed to reflect the implementation
of new functions for the covering radius.
If there exists a function called SpecialCoveringRadius
in the
operations
field of the code, then this function will be called to
compute the covering radius of the code.
At the moment, no code-specific functions are implemented.
If the length of BoundsCoveringRadius
(see BoundsCoveringRadius),
is 1, then the value in
code.boundsCoveringRadius
is returned.
Otherwise, the function
code.operations.CoveringRadius
is executed,
unless the redundancy of code is too large.
In the last case, a warning is issued.
If you want to overrule this restriction, you might
want to execute
code.operations.CoveringRadius
yourself.
However, this algorithm might also issue a warning that it
cannot be executed, but this warning is sometimes issued too late,
resulting in GAP exiting with an memory error.
If it does run, it can only be stopped by pressing ctrl-C
twice,
thereby quitting GAP. It will not enter the usual break-loop.
Therefore it is recommendable to save your work before trying
code.operations.CoveringRadius
.
gap> CoveringRadius( BCHCode( 17, 3, GF(2) ) ); 3 gap> CoveringRadius( HammingCode( 5, GF(2) ) ); 1 gap> code := ReedMullerCode( 1, 9 );; gap> CoveringRadius( code ); CoveringRadius: warning, the covering radius of this code cannot be computed straightforward. Try to use IncreaseCoveringRadiusLowerBound( <code> ). (see the manual for more details). The covering radius of <code> lies in the interval: [ 240 .. 248 ] gap> code.operations.CoveringRadius( code ); Error, CosetLeaderMatFFE: sorry, no hope to finish
GAP 3.4.4