Survey
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the work of 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