210 likes | 452 Views
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
E N D
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