Namespaces
Variants
Actions

Code with correction of arithmetical errors

From Encyclopedia of Mathematics
Revision as of 17:45, 4 June 2020 by Ulf Rehmann (talk | contribs) (tex encoded by computer)
Jump to: navigation, search


code for correction of arithmetic errors, code that corrects arithmetic errors, arithmetic code

A code intended for the control of the functioning of an adder. When adding numbers represented in the binary number system, a single slip in the functioning of the adder leads, as a rule, to a change in the result by some power of 2. In this connection, a (single) arithmetic error in the ring of integers is defined as a transformation of a number N to a number N ^ { \prime } = N \pm 2 ^ {i} , i = 0, 1 , . . . . The function \rho ( N _ {1} , N _ {2} ) on \mathbf Z \times \mathbf Z , defined as the minimum number of arithmetic errors taking N _ {1} to N _ {2} , is a metric. An arbitrary finite subset (a code) K \subset \mathbf Z is characterized by its minimum distance

\rho ( K) = \ \min \rho ( N _ {1} , N _ {2} ),

where the minimum is taken over all distinct N _ {1} , N _ {2} \in K . The sets of t or fewer arithmetic errors transform a number N into a metric ball of radius t and centre N . Therefore if the metric balls of radius t described around any two numbers of a code do not intersect (that is, if the minimum distance of the code is greater than 2t ), then the code is said to be a code that corrects t arithmetic errors. If the metric ball of radius s described around any number of the code contains no other numbers of the code (that is, if the minimum distance of the code is greater than s ), then the code is called a code that detects s arithmetic errors. The metric \rho has the following alternative description:

\rho ( N _ {1} , N _ {2} ) = \ w ( N _ {1} - N _ {2} ),

where w ( N) is the (arithmetic) weight of N , i.e. the smallest possible number of non-zero coefficients in the representations

\tag{* } N = \sum _ {i = 0 } ^ { k } N _ {i} 2 ^ {i} ,\ \ N _ {i} = 0, \pm 1; \ \ k = 0, 1 , . . . .

For each N there is a unique representation (*) on which N _ {k} \neq 0 , N _ {i} N _ {i + 1 } = 0 , i = 0 \dots k - 1 , and the number of non-zero coefficients in the representation is w ( N) . For example, 23 = 2 ^ {4} + 2 ^ {2} + 2 ^ {1} + 2 ^ {0} = 2 ^ {5} - 2 ^ {3} - 2 ^ {0} and w ( 23) = 3 . Since \rho ( N _ {1} + N, N _ {2} + N) = \rho ( N _ {1} , N _ {2} ) for any N _ {1} , N _ {2} , N \in \mathbf Z , one restricts attention to codes that do not contain negative numbers. By the length of a code K one means the quantity [ \mathop{\rm log} _ {2} B ( K)] + 1 , where B ( K) is the largest number of the code K . There corresponds to an arbitrary number B of a code of length n a unique word \beta ( B) = b _ {n - 1 } \dots b _ {0} over the alphabet \{ 0, 1 \} such that B = \sum _ {i = 0 } ^ {n - 1 } b _ {i} 2 ^ {i} . If the code K \subset \mathbf Z corrects t arithmetic errors, then the code \{ {\beta ( B) } : {B \in K } \} corrects t errors (of substitution type) by virtue of the fact that d ( \beta ( B _ {1} ), \beta ( B _ {2} )) \geq \rho ( B _ {1} , B _ {2} ) , where d ( \cdot , \cdot ) is the Hamming metric (see Error-correcting code). In the study of problems of control of an adder one usually considers an encoding f: \{ 0 \dots M - 1 \} \rightarrow \mathbf Z ( see Coding and decoding) such that f ( i + j) = f ( i) + f ( j) for i + j < M ( which is equivalent to f ( i) = A \cdot i , where A = f ( 1) ). In this case, the coding operation consists in the multiplication of the number to be encoded by A , while the detection of errors in the functioning of the adder consists in verifying that the result of the addition is divisible by A . The code K _ {A,M} = \{ 0, A \dots A ( M - 1) \} is called an AM - code. The minimum distance of an AM - code is the minimum of the w ( A \cdot i) , i = 1 \dots M - 1 . For example, the minimum distance of a 3M - code is equal to 2; the code detects single arithmetic errors and is often applied in computers (in the form of a control modulo 3). The best studied are (cyclic and negacyclic) AM - codes with M = ( 2 ^ {n} \pm 1)/A ; they are characterized by the property that whenever the number B = \sum _ {i = 0 } ^ {n - 1 } b _ {i} 2 ^ {i} , b _ {i} = 0, 1 , belongs to the code, then so does the number B ^ { \prime } = \pm b _ {n - 1 } + \sum _ {i = 1 } ^ {n - 1 } b _ {i} 2 ^ {i} . Such codes, called ( n, A) - codes, can be conveniently regarded as subsets of the metric space \mathbf N _ {m} = \{ {0 \dots m - 1 } : {m = 2 ^ {n} \pm 1 } \} , with metric \rho _ {m} ( x, y) = w _ {m} ( x - y) = \min \{ w ( x - y), w ( x - y - m) \} . The minimum distances of an ( n, A) - code in the metrics \rho and \rho _ {m} are equal. To each ( n, A) - code there is associated the ( n, A ^ {*} ) - code where AA ^ {*} = m ; it is called the dual code. If 2 or - 2 are primitive roots modulo a prime number p , then the (( p - 1)/2, p) - code corrects single arithmetic errors and is perfect in the metric \rho _ {m} , that is, the metric balls of radius 1 described around the numbers of the code are not only pairwise disjoint but also fill out the whole of \mathbf N _ {m} . In the dual code, all distances between different numbers of the code are equal to \left ] ( p + 1)/6 \right [ . The results listed above for codes are analogues of results for binary linear cyclic error-correcting codes. Meanwhile, there are no known arithmetic analogues of B.C.H. (Bose–Chaudhury–Hocquenghem)-codes; nor are there any known upper bounds for the size of codes with given length and distance, analogous to the best bound for error-correcting codes. Codes correcting q - ary arithmetic errors ( q > 2) possess even more characteristics (a q - ary arithmetical error is a transformation of a number N to a number N ^ { \prime } = N \pm aq ^ {i} , a = 1 \dots q - 1 ; i = 0, 1 , . . . ). Interest in such codes has increased with the development of computing techniques. Thus, in contrast to error-correcting codes, there are no perfect AM - codes with q = 2 ^ {l} ( l > 1 ) that correct single q - ary arithmetic errors; for q = 6 there are examples known of such codes. Existence conditions for perfect AM - codes are of a number-theoretic character and are connected with the study of reciprocity laws in number fields.

References

[1] Yu.G. Dadaev, "The theory of arithmetic codes" , Moscow (1981) (In Russian)
[2] E. Weldon jr., "Error-correcting codes" , M.I.T. (1972)
[3] J.L. Massey, O.N. Garcia, , Advances in information systems science , 4 , New York-London (1972) pp. 273–326
[4] I.M. Boyarinov, G.A. Kabatyanskii, "Perfect single-error-correcting arithmetic -codes" Problemy Peredachi Informatsii , 12 : 1 (1976) pp. 16–23 (In Russian)
How to Cite This Entry:
Code with correction of arithmetical errors. Encyclopedia of Mathematics. URL: http://encyclopediaofmath.org/index.php?title=Code_with_correction_of_arithmetical_errors&oldid=46377
This article was adapted from an original article by G.A. Kabatyanskii (originator), which appeared in Encyclopedia of Mathematics - ISBN 1402006098. See original article