# Singular

### C.8.2 Cooper philosophy

#### Computing syndromes in cyclic code case

Let be an cyclic code over ; is a splitting field with being a primitive n-th root of unity. Let be the complete defining set of . Let be a received word with and an error vector. Denote the corresponding polynomials in by , and , resp. Compute syndromes where is the number of errors, are the error positions and are the error values. Define and . Then are the error locations and are the error values and the syndromes above become generalized power sum functions #### CRHT-ideal

Replace the concrete values above by variables and add some natural restrictions. Introduce
• ;
• since ;
• , since are either -th roots of unity or zero;
• , since .

We obtain the following set of polynomials in the variables , and : The zero-dimensional ideal generated by is the CRHT-syndrome ideal associated to the code , and the variety defined by is the CRHT-syndrome variety, after Chen, Reed, Helleseth and Truong.

#### General error-locator polynomial

Adding some more polynomials to , thus obtaining some , it is possible to prove the following Theorem:

Every cyclic code possesses a general error-locator polynomial from that satisfies the following two properties:

• with , where is the error-correcting capacity;
• given a syndrome corresponding to an error of weight and error locations , if we evaluate the for all , then the roots of are exactly and 0 of multiplicity , in other words The general error-locator polynomial actually is an element of the reduced Gröbner basis of . Having this polynomial, decoding of the cyclic code reduces to univariate factorization.

For an example see sysCRHT in decodegb_lib. More on Cooper's philosophy and the general error-locator polynomial can be found in [OS2005].

#### Finding the minimum distance

The method described above can be adapted to find the minimum distance of a code. More concretely, the following holds:

Let be the binary cyclic code with the defining set . Let and let denote the system:       Then the number of solutions of is equal to times the number of codewords of weight . And for , either has no solutions, which is equivalent to , or has some solutions, which is equivalent to .

For an example see sysCRHTMindist in decodegb_lib. More on finding the minimum distance with Groebner bases can be found in [S2007]. See [OS2005], for the definition of the polynomial above.

### Misc 