Singular Manual: Cooper philosophy

| ### C.8.2 Cooper philosophy #### Computing syndromes in cyclic code case Let 78#78 be an 830#830 cyclic code over 797#797; 708#708 is a splitting field with 4#4 being a primitive n-th root of unity. Let 831#831 be the complete defining set of 78#78. Let 832#832 be a received word with 833#833 and 834#834 an error vector. Denote the corresponding polynomials in 835#835 by 836#836, 811#811 and 837#837, resp. Compute syndromes 838#838 where 501#501 is the number of errors, 839#839 are the error positions and 840#840 are the error values. Define 841#841 and 842#842. Then 843#843 are the error locations and 844#844 are the error values and the syndromes above become generalized power sum functions 845#845 #### CRHT-ideal Replace the concrete values above by variables and add some natural restrictions. Introduce 846#846; 847#847 since 848#848; 849#849, since 850#850 are either 17#17-th roots of unity or zero; 851#851, since 852#852. We obtain the following set of polynomials in the variables 853#853, 854#854 and 855#855: 856#856 The zero-dimensional ideal 857#857 generated by 858#858 is the CRHT-syndrome ideal associated to the code 78#78, and the variety 859#859 defined by 858#858 is the CRHT-syndrome variety, after Chen, Reed, Helleseth and Truong. #### General error-locator polynomial Adding some more polynomials to 858#858, thus obtaining some 860#860, it is possible to prove the following Theorem: Every cyclic code 78#78 possesses a general error-locator polynomial 861#861 from 862#862 that satisfies the following two properties: 863#863 with 864#864, where 865#865 is the error-correcting capacity; given a syndrome 866#866 corresponding to an error of weight 867#867 and error locations 868#868, if we evaluate the 869#869 for all 870#870, then the roots of 871#871 are exactly 872#872 and 0 of multiplicity 873#873, in other words 874#874 The general error-locator polynomial actually is an element of the reduced Gröbner basis of 875#875. Having this polynomial, decoding of the cyclic code 78#78 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 78#78 be the binary 803#803 cyclic code with the defining set 876#876. Let 877#877 and let 878#878 denote the system: 879#879 880#880 881#881 882#882 880#880 883#883 884#884 Then the number of solutions of 878#878 is equal to 885#885 times the number of codewords of weight 346#346. And for 886#886, either 878#878 has no solutions, which is equivalent to 887#887, or 878#878 has some solutions, which is equivalent to 888#888. 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 23#23 above.

User manual for Singular version 4.3.2, 2023, generated by texi2html.