Home Online Manual
Top
Back: decodeRandom
Forward: vanishId
FastBack: brnoeth_lib
FastForward: System and Control theory
Up: decodegb_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.10.2.15 decodeCode

Procedure from library decodegb.lib (see decodegb_lib).

Usage:
decodeCode(check, ntrials, [e]); check matrix, ntrials,e int
 
           - check is a parity check matrix for the code,
           - ntrials is the number of received vectors per code to be
           corrected.
           - If e is given it sets the correction capacity explicitly. It
           should be used in case one expects some lower bound,
           otherwise the procedure tries to compute the real minimum distance
           to find out the error-correction capacity

Return:
nothing;

Example:
 
LIB "decodegb.lib";
int q=32; int n=25; int redun=n-11; int t=redun+1;
ring r=(q,a),x,dp;
matrix check=randomCheck(redun,n,1);
// correct 2 errors in using the code above, 3 trials
decodeCode(check,3,2);
==> check matrix:
==> 0,1,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,
==> 1,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,
==> 1,1,1,1,0,0,0,1,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,
==> 1,1,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,
==> 0,0,0,1,1,0,1,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,
==> 0,0,1,0,1,1,1,0,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,
==> 0,1,0,0,0,1,0,1,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,
==> 0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,
==> 1,0,0,0,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,
==> 0,1,1,1,0,1,0,0,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,
==> 0,0,1,0,0,1,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,
==> 0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,
==> 0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,
==> 1,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 
==> The system is generated
==> Codeword:
==> 1,0,0,1,0,1,0,1,1,1,0,1,0,1,0,0,1,0,1,0,0,1,1,1,0
==> Received word:
==> 1,0,0,1,0,1,0,0,1,1,0,1,0,1,0,0,1,1,1,0,0,1,1,1,0
==> Groebner basis of the QE system:
==> U(25)+a^25,
==> U(24)+a^20,
==> U(23)+a^28,
==> U(22)+a^7,
==> U(21)+a^29,
==> U(20)+a^19,
==> U(19)+a^23,
==> U(18)+a^19,
==> U(17)+a^21,
==> U(16)+a^9,
==> U(15)+a^14,
==> U(14)+a^25,
==> U(13)+a^28,
==> U(12)+a^14,
==> U(11)+a^30,
==> U(10)+a^27,
==> U(9)+a^26,
==> U(8)+a^7,
==> U(7)+a^14,
==> U(6)+a^15,
==> U(5)+a^13,
==> U(4)+a^7,
==> U(3)+a^22,
==> U(2)+a^11,
==> U(1),
==> V(2)+a^11,
==> V(1)+a^24
==> Codeword:
==> 0,0,1,1,1,1,1,0,0,1,0,1,0,1,1,0,1,1,0,0,0,0,1,0,0
==> Received word:
==> 0,0,0,1,1,1,1,0,0,1,0,1,0,1,1,0,1,1,0,0,0,0,1,1,0
==> Groebner basis of the QE system:
==> U(25)+a^6,
==> U(24)+a^16,
==> U(23)+a^8,
==> U(22)+a^2,
==> U(21)+a^8,
==> U(20)+a^13,
==> U(19)+a,
==> U(18)+a^12,
==> U(17)+a^29,
==> U(16)+a,
==> U(15)+a^21,
==> U(14)+a^16,
==> U(13)+a^3,
==> U(12)+a^4,
==> U(11)+a^4,
==> U(10)+a^16,
==> U(9)+a^30,
==> U(8)+a^26,
==> U(7)+a^17,
==> U(6)+a^2,
==> U(5)+a^15,
==> U(4)+a^24,
==> U(3)+a^23,
==> U(2)+a^27,
==> U(1),
==> V(2)+a^27,
==> V(1)+a^25
==> Codeword:
==> 0,0,0,1,0,1,0,0,0,1,1,1,1,0,0,1,1,0,0,0,0,0,1,0,1
==> Received word:
==> 0,0,0,1,1,1,0,1,0,1,1,1,1,0,0,1,1,0,0,0,0,0,1,0,1
==> Groebner basis of the QE system:
==> U(25)+a^7,
==> U(24)+a^21,
==> U(23)+a^5,
==> U(22)+a^9,
==> U(21)+a^21,
==> U(20)+a^11,
==> U(19)+a^22,
==> U(18)+a^14,
==> U(17)+a,
==> U(16)+a^11,
==> U(15)+a^13,
==> U(14)+a^10,
==> U(13)+a^19,
==> U(12)+a^18,
==> U(11)+a^26,
==> U(10)+a^11,
==> U(9)+a^16,
==> U(8)+a^22,
==> U(7)+a^25,
==> U(6)+a^13,
==> U(5)+a^8,
==> U(4)+a^28,
==> U(3)+a^4,
==> U(2)+a^2,
==> U(1),
==> V(2)+a^2,
==> V(1)+a^11