Continued Fractions, Euclidean Algorithm and Lehmer’s Algorithm
Continued Fractions, Euclidean Algorithm and Lehmer’s Algorithm. Applied Symbolic Computation CS 567 Jeremy Johnson. TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A A A. Outline. Fast Fibonacci Continued Fractions Lehmer’s Algorithm
Continued Fractions, Euclidean Algorithm and Lehmer’s Algorithm
E N D
Presentation Transcript
Continued Fractions, Euclidean Algorithm and Lehmer’s Algorithm Applied Symbolic Computation CS 567 Jeremy Johnson TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
Outline • Fast Fibonacci • Continued Fractions • Lehmer’s Algorithm • Analysis of the Euclidean Algorithm (bit complexity) • Assignment 1
Euclidean Algorithm g = gcd(a,b) a1 = a; a2 = b; while (a2 0) a3 = a1 mod a2; a1 = a2; a2 = a3; } return a1;
Remainder Sequence a1 = a, a2 = b a1 = q3 a2 + a3, 0 a3 < a2 ai = qi ai+1 + ai+2, 0 ai+2 < ai+1 al= ql al+1 gcd(a,b) = al+1
Extended Euclidean Algorithm g = gcd(a,b,*x,*y) a1 = a; a2 = b; x1 = 1; x2 = 0; y1 = 0; y2 = 1; while (a2 0) a3 = a1 mod a2; q = floor(a1/a2); x3 = x1 – q*x2; y3 = y1 – q*y2; a1 = a2; a2 = a3; x1 = x2; x2 = x3; y1 = y2; y2 = y3; } return a1;
Lehmer’s Algorithm u = 27182818, v = 10000000 u’ v’ q’ u’’ v’’ q’’ • 1001 2 2719 1000 2 1001 716 1 1000 719 1 716 285 2 719 281 2 285 146 1 281 157 1 146 139 1 157 124 1 139 7 19 124 33 3 u’/v’ < u/v < u’’/v’’
Maximum Number of Divisions Theorem. Let a b 0 and n = number of divisions required by the Euclidean algorithm to compute gcd(a,b). Then n < 2lg(a).
Maximum Number of Divisions Theorem. The smallest pair of integers that require n divisions to compute their gcd is Fn+2 and Fn+1. Theorem. Let a b 0 and n = number of divisions required by the Euclidean algorithm to compute gcd(a,b). Then n < 1.44lg(a).
Average Number of Divisions Theorem. Let a b 0 and n = average number of divisions required by the Euclidean algorithm to compute gcd(a,b). Then n 12ln(2)2/2lg(a) 0.584 lg(a). Theorem [Dixon] D(a,b) ½ ln(a) for almost all pairs u a b 1 as u
Dominance and Codominance Definition. Let f, g be real valued functions on a common set S. • [Dominance] • [Codominance] • [Strict Dominance]
Basic Properties Theorem. Let f, f1, f2, g, g1, and g2 be nonnegative real-valued functions on S and c>0.
Integer Length Definition. A = i=0..maii, L(A) = m
Basic Arithmetic Computing Times Theorem. Let A, M, D be the classical algorithms for addition, multiplication and division.
Maximum Computing Time Theorem.
Average Computing Time Theorem.
Probability of Relative Primality p/d2 = 1 p = 1/(2) (z) = 1/nz (2) = 2/6
Formal Proof Let qn be the number of 1 a,b n such that gcd(a,b) = 1. Then limnqn/n2 = 6/2
Mobius Function • (1) = 1 • (p1 pt) = -1t • (n) = 0 if p2|n (ab) = (a)(b) if gcd(a,b) = 1.
Mobius Inversion d|n (d) = 0 (n (n)ns)(n 1/ns) = 1
Formal Proof qn = n(k)n/k2 limnqn/n2 = n (n)/n2= 1/(n1/n2) = 6/2
Assignment 1 • Empirically investigate distribution of quotients in Euclidean algorithm • Implement and analyze classical division algorithm • Implement and analyze Lehmer’s algorithm • Study and summarize gcd algorithms in GMP