|  |  D.10.1.12 sys_code Procedure from librarybrnoeth.lib(see  brnoeth_lib).
 
Example:Usage:
sys_code(C); C is a matrix of constants
Return:
list L with:
|  |    L[1] is the generator matrix in standard form of an equivalent code,
   L[2] is the parity check matrix in standard form of such code,
   L[3] is an intvec which represents the needed permutation.
 | 
 
Note:
Computes a systematic code which is equivalent to the given one.The input should be a matrix of numbers.
 The output has to be interpreted as follows: if the input was
the generator matrix of an AG code then one should apply the
permutation L[3] to the divisor D of rational points by means
of
 permute_L(D,L[3]);before continuing to work with the
code (for instance, if you want to use the systematic encoding
together with a decoding algorithm).
 See also:
 AGcode_Omega;
 permute_L;
 prepSV.|  | LIB "brnoeth.lib";
ring s=3,T,lp;
matrix C[2][5]=0,1,0,1,1,0,1,0,0,1;
print(C);
==> 0,1,0,1,1,
==> 0,1,0,0,1 
list L=sys_code(C);
L[3];
==> 2,4,3,1,5
// here is the generator matrix in standard form
print(L[1]);
==> 1,0,0,0,1,
==> 0,1,0,0,0 
// here is the control matrix in standard form
print(L[2]);
==> 0, 0,1,0,0,
==> 0, 0,0,1,0,
==> -1,0,0,0,1 
// we can check that both codes are dual to each other
print(L[1]*transpose(L[2]));
==> 0,0,0,
==> 0,0,0 
 | 
 
 |