Euclidean Algorithm

Páginas: 5 (1160 palabras) Publicado: 9 de febrero de 2013
The Euclidean algorithm, also called Euclid's algorithm, is an algorithm for finding the greatest common divisor of two numbers and . The algorithm can also be defined for more general rings than just the integers . There are even principal rings which are not Euclidean but where the equivalent of the Euclidean algorithm can be defined. The algorithm for rational numbers was given in Book VII ofEuclid's Elements. The algorithm for reals appeared in Book X, making it the earliest example of an integer relation algorithm (Ferguson et al. 1999).

The Euclidean algorithm is an example of a P-problem whose time complexity is bounded by a quadratic function of the length of the input values (Bach and Shallit 1996).

Let , then find a number which divides both and (so that and ), thenalso divides since


(1)
Similarly, find a number which divides and (so that and ), then divides since


(2)
Therefore, every common divisor of and is a common divisor of and , so the procedure can be iterated as follows:


(3)
For integers, the algorithm terminates when divides exactly, at which point corresponds to the greatest common divisor of and , . For realnumbers, the algorithm yields either an exact relation or an infinite sequence of approximate relations (Ferguson et al. 1999).

An important consequence of the Euclidean algorithm is finding integers and such that


(4)
This can be done by starting with the equation for , substituting for from the previous equation, and working upward through the equations.

Note that the are justremainders, so the algorithm can be easily applied by hand by repeatedly computing remainders of consecutive terms starting with the two numbers of interest (with the larger of the two written first). As an example, consider applying the algorithm to . This gives 42, 30, 12, 6, 0, so . Similarly, applying the algorithm to (144, 55) gives 144, 55, 34, 21, 13, 8, 5, 3, 2, 1, 0, so and 144 and 55 arerelatively prime.

A concise Mathematica implementation can be given as follows.

Remainder[a_, b_] := Mod[a, b]
Remainder[a_, 0] := 0
EuclideanAlgorithmGCD[a_, b_] := FixedPointList[
{Last[#], Remainder @@ #}&, {a, b}][[-3, 1]]
Lamé showed that the number of steps needed to arrive at the greatest common divisor for two numbers less than is


(5)
where is the golden ratio.Numerically, Lamé's expression evaluates to


(6)
which, for , is always times the number of digits in the smaller number (Wells 1986, p. 59). As shown by Lamé's theorem, the worst case occurs when the algorithm is applied to two consecutive Fibonacci numbers. Heilbronn showed that the average number of steps is for all pairs with . Kronecker showed that the shortest application of thealgorithm uses least absolute remainders. The quotients obtained are distributed as shown in the following table (Wagon 1991).

quotient
1 41.5
2 17.0
3 9.3
Let be the number of divisions required to compute using the Euclidean algorithm, and define if . Then the function is given by the recurrence relation


(7)
Tabulating this function for gives


(8)
(Sloane's A051010). Themaximum numbers of steps for a given , 2, 3, ... are 1, 2, 2, 3, 2, 3, 4, 3, 3, 4, 4, 5, ... (Sloane's A034883).


Consider the function


(9)
giving the average number of steps when is fixed and chosen at random (Knuth 1998, pp. 344 and 353-357). The first few values of are 0, 1/2, 1, 1, 8/5, 7/6, 13/7, 7/4, ... (Sloane's A051011 and A051012). Norton (1990) showed that


(10)
whereis the Mangoldt function and is Porter's constant (Knuth 1998, pp. 355-356).


The related function


(11)
where is the totient function, gives the average number of divisions when is fixed and is a random number coprime to . Porter (1975) showed that


(12)
(Knuth 1998, pp. 354-355).

Finally, define


(13)
as the average number of divisions when and are both chosen at...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Euclides
  • EUCLIDES
  • Euclides
  • Euclides
  • Euclides
  • Euclides
  • Euclides
  • Euclides

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS