Singular Manual: Cooper philosophy

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