Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Euclidean Algorithm Applied Symbolic Computation CS 567 Jeremy Johnson Greatest Common Divisors • g = gcd(a,b) – g|a and g|b – e|a and e|b e|g Unique Factorization • p|ab p|a or p|b • a = p1 pt = q1 qs s = t and i j: pi= qj • a = p1e1 ptet • b = p1f1 ptft • gcd(a,b) = p1min(e1,f1) ptmin(et,ft) Bezout’s Identity • g = gcd(a,b) • x,y: g = ax + by Bezout’s Identity • g = gcd(a,b) • x,y: g = ax + by Euclidean Algorithm g = gcd(a,b) if (b = 0) then return a; else return gcd(b,a mod b) Correctness Tail Recursion g = gcd(a,b) if (b = 0) then return a; else return gcd(b,a mod b) Iterative 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 an= qn an+1 gcd(a,b) = an+1 Bounding 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). Bounding Number of Divisions Fibonacci Numbers • F0 = 0, F1 = 1 • Fn+2 = Fn+1 + Fn Solving the Fibonacci Recurrence • Fn = 1/5(n + * n), = (1 + 5)/2, * = (1 - 5)/2 • Fn 1/5n+1 Solving the Fibonacci Recurrence Solving the Fibonacci Recurrence Maximum Number of Divisions Theorem. The smallest pair of integers that require n divisions to compute their gcd is Fn+2 and Fn+1. 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 < 1.44 lg(a). Maximum Number of Divisions 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; Correctness Correctness 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 limn qn/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 n/k2 limn qn/n2 = n (n)n2 = n 1/n2 = 6/2