Talteori: r, modulær aritmetik Videregående algoritmik Cormen et al. 31.1 31.4 Tirsdag den 6. januar 2009
1
1 2 Restklasseringene modulo n Grupper og undergrupper Modulær division
Divisorer De hele tal Z Delelighed -4-3 -2-1 0 1 2 3 4 For a, d Z: d går op i a Z k : kd = a d a a er et multiplum af d d er divisor i a d a d N 1 a a a d a a b d b d 0 d a d a a = 0 d a d b d (ax + by) a b b a a = ±b
Divisorer De hele tal Z Delelighed -4-3 -2-1 0 1 2 3 4 For a, d Z: d går op i a Z k : kd = a d a a er et multiplum af d d er divisor i a d a d N 1 a a a d a a b d b d 0 d a d a a = 0 d a d b d (ax + by) a b b a a = ±b a 0 har de trivielle divisorer 1 og a ; ikke-trivielle divisorer kaldes også faktorer.
Divisorer De hele tal Z Delelighed -4-3 -2-1 0 1 2 3 4 For a, d Z: d går op i a Z k : kd = a d a a er et multiplum af d d er divisor i a d a d N 1 a a a d a a b d b d 0 d a d a a = 0 d a d b d (ax + by) a b b a a = ±b a 0 har de trivielle divisorer 1 og a ; ikke-trivielle divisorer kaldes også faktorer. p > 1 er et primtal, hvis det kun har de to trivielle divisorer; andre tal n > 1 er sammensatte; 1 er en enhed.
For (a, b) (0, 0) defineres deres største fælles divisor (greatest common divisor) gcd(a, b) = max{d N d a d b} gcd(a, b) = gcd(b, a) = gcd( a, b) = gcd( a, b ) gcd(a, ka) = a Sætning gcd(a, b) = min{ax + by > 0 x, y Z}
For (a, b) (0, 0) defineres deres største fælles divisor (greatest common divisor) gcd(a, b) = max{d N d a d b} gcd(a, b) = gcd(b, a) = gcd( a, b) = gcd( a, b ) gcd(a, ka) = a Sætning gcd(a, b) = min{ax + by > 0 x, y Z} Bevis: Lad højre side være s = ax 0 + by 0 > 0. s > a mod s = a a s s = a(1 a s x 0) + b( a s y 0) = 0, så s a. Tilsvarende ses s b, altså s gcd(a, b). Men vi har også gcd(a, b) s, gcd(a, b) s, og dermed gcd(a, b) = s
For (a, b) (0, 0) defineres deres største fælles divisor (greatest common divisor) gcd(a, b) = max{d N d a d b} gcd(a, b) = gcd(b, a) = gcd( a, b) = gcd( a, b ) gcd(a, ka) = a Sætning gcd(a, b) = min{ax + by > 0 x, y Z} Bevis: Lad højre side være s = ax 0 + by 0 > 0. s > a mod s = a a s s = a(1 a s x 0) + b( a s y 0) = 0, så s a. Tilsvarende ses s b, altså s gcd(a, b). Men vi har også gcd(a, b) s, gcd(a, b) s, og dermed gcd(a, b) = s d a d b d gcd(a, b) Vi vedtager gcd(0, 0) = 0.
Resultater om gcd b > 0 gcd(a, b) = gcd(b, a mod b) gcd(na, nb) = n gcd(a, b) n ab gcd(a, n) = 1 n b gcd(a, n) = 1 gcd(n, b) { = 1 gcd(ab, n) = 1 p p n p primtal gcd(n, p) = 1 p n p primtal (p ab p a p b)
Resultater om gcd b > 0 gcd(a, b) = gcd(b, a mod b) gcd(na, nb) = n gcd(a, b) n ab gcd(a, n) = 1 n b gcd(a, n) = 1 gcd(n, b) { = 1 gcd(ab, n) = 1 p p n p primtal gcd(n, p) = 1 p n p primtal (p ab p a p b) Ethvert positivt helt tal n kan på en og (pånær faktorernes orden) kun en måde skrives som et produkt af primtal n = p e 1 1 pe 2 2 per r r N, primtal p 1 < p 2 <... < p r, e 1, e 2,..., e r N 1 gcd(p e 1 1 pe 2 2 per r, p f 1 1 p f 2 2 pr fr ) = p min(e 1,f 1 ) 1 p min(e 2,f 2 ) 2 p min(er,fr ) r
From Euclid s 5th book (for two line segments) r 0 := a r 1 := b q 1 := r 0 div r 1 r 0 = q 1 r 1 + r 2 r 2 := r 0 mod r 1 = r 0 q 1 r 1. r 1 > r 2 > r 3 >... 0 r m 2 = q m 1 r m 1 + r m r m := r m 2 mod r m 1 = r m 2 q m 1 r m 1 q m := r m 1 div r m r m 1 = q m r m r m+1 := r m 1 mod r m = r m 1 q m r m = 0
From Euclid s 5th book (for two line segments) r 0 := a r 1 := b q 1 := r 0 div r 1 r 0 = q 1 r 1 + r 2 r 2 := r 0 mod r 1 = r 0 q 1 r 1. r 1 > r 2 > r 3 >... 0 r m 2 = q m 1 r m 1 + r m r m := r m 2 mod r m 1 = r m 2 q m 1 r m 1 q m := r m 1 div r m r m 1 = q m r m r m+1 := r m 1 mod r m = r m 1 q m r m = 0 d := r m
From Euclid s 5th book (for two line segments) r 0 := a r 1 := b q 1 := r 0 div r 1 r 0 = q 1 r 1 + r 2 r 2 := r 0 mod r 1 = r 0 q 1 r 1. r 1 > r 2 > r 3 >... 0 r m 2 = q m 1 r m 1 + r m r m := r m 2 mod r m 1 = r m 2 q m 1 r m 1 q m := r m 1 div r m r m 1 = q m r m r m+1 := r m 1 mod r m = r m 1 q m r m = 0 This computes d = gcd(a, b) and, as a biproduct, the list [q 1, q 2,..., q m ] of quotients such that a b = q 1 1 + 1. q 2 +...+ 1 q m
Køretid (rekursiv version) fun gcd (a,b) = if b=0 then a else gcd (b,a mod b)
Køretid (rekursiv version) fun gcd (a,b) = if b=0 then a else gcd (b,a mod b) Husk Fibonaccitallene F 0 = 0, F 1 = 1, F k+2 = F k + F k+1. Hvis a > b 1, og gcd(a,b) giver anledning til k 1 rekursive kald, vil a F k+2 og b F k+1.
Køretid (rekursiv version) fun gcd (a,b) = if b=0 then a else gcd (b,a mod b) Husk Fibonaccitallene F 0 = 0, F 1 = 1, F k+2 = F k + F k+1. Hvis a > b 1, og gcd(a,b) giver anledning til k 1 rekursive kald, vil a F k+2 og b F k+1. Lamés sætning For a > b 1, k 1 og b < F k+1 vil gcd(a,b) foretage færre end k rekursive kald. For a og b med β bit vil gcd foretage O(β) aritmetiske operationer og O(β 3 ) (faktisk O(β 2 )) bitoperationer.
Taleksempel Example (gcd(312,99)=?) r i 1 = q i r i + r i+1
Taleksempel Example (gcd(312,99)=?) r i 1 = q i r i + r i+1 312 = 3 99 + 15
Taleksempel Example (gcd(312,99)=?) r i 1 = q i r i + r i+1 312 = 3 99 + 15 99 = 6 15 + 9
Taleksempel Example (gcd(312,99)=?) r i 1 = q i r i + r i+1 312 = 3 99 + 15 99 = 6 15 + 9 15 = 1 9 + 6
Taleksempel Example (gcd(312,99)=?) r i 1 = q i r i + r i+1 312 = 3 99 + 15 99 = 6 15 + 9 15 = 1 9 + 6 9 = 1 6 + 3
Taleksempel Example (gcd(312,99)=3) r i 1 = q i r i + r i+1 312 = 3 99 + 15 99 = 6 15 + 9 15 = 1 9 + 6 9 = 1 6 + 3 6 = 2 3
Taleksempel Example (gcd(312,99)=3) r i 1 = q i r i + r i+1 312 = 3 99 + 15 99 = 6 15 + 9 15 = 1 9 + 6 9 = 1 6 + 3 6 = 2 3 Example (Continued Fraction) 312 99
Taleksempel Example (gcd(312,99)=3) r i 1 = q i r i + r i+1 312 = 3 99 + 15 99 = 6 15 + 9 15 = 1 9 + 6 9 = 1 6 + 3 6 = 2 3 Example (Continued Fraction) 312 99 = 3 + 1 99 15
Taleksempel Example (gcd(312,99)=3) r i 1 = q i r i + r i+1 312 = 3 99 + 15 99 = 6 15 + 9 15 = 1 9 + 6 9 = 1 6 + 3 6 = 2 3 Example (Continued Fraction) 312 99 = 3 + 1 99 15 = 3 + 1 6+ 1 15 9
Taleksempel Example (gcd(312,99)=3) r i 1 = q i r i + r i+1 312 = 3 99 + 15 99 = 6 15 + 9 15 = 1 9 + 6 9 = 1 6 + 3 6 = 2 3 Example (Continued Fraction) 312 99 = 3 + 1 99 15 = 3 + 1 6+ 1 1+ 1 9 6 = 3 + 1 6+ 1 15 9
Taleksempel Example (gcd(312,99)=3) r i 1 = q i r i + r i+1 312 = 3 99 + 15 99 = 6 15 + 9 15 = 1 9 + 6 9 = 1 6 + 3 6 = 2 3 Example (Continued Fraction) 312 99 = 3 + 1 99 15 = 3 + 1 6+ 1 = 3 + 1 6+ 1 15 9 1+ 1 9 6 = 3 + 1 6+ 1 1+ 1 1+ 1 6 3
Taleksempel Example (gcd(312,99)=3) r i 1 = q i r i + r i+1 312 = 3 99 + 15 99 = 6 15 + 9 15 = 1 9 + 6 9 = 1 6 + 3 6 = 2 3 Example (Continued Fraction) 312 99 = 3 + 1 99 15 = 3 + 1 6+ 1 = 3 + 1 6+ 1 1+ 1 1+ 1 2 = 3 + 1 6+ 1 15 9 1+ 1 9 6 = 3 + 1 6+ 1 1+ 1 1+ 1 6 3
Taleksempel Example (gcd(312,99)=3) r i 1 = q i r i + r i+1 312 = 3 99 + 15 99 = 6 15 + 9 15 = 1 9 + 6 9 = 1 6 + 3 6 = 2 3 Example (Continued Fraction) 312 99 = 3 + 1 99 15 = 3 + 1 6+ 1 = 3 + 1 6+ 1 1+ 1 1+ 1 2 = 3 + 1 6+ 1 15 9 1+ 1 9 6 = 3 + 1 6+ 1 1+ 1 1+ 1 6 3 Example (Greatest Common Divisor as a Linear Combination)
Taleksempel Example (gcd(312,99)=3) r i 1 = q i r i + r i+1 312 = 3 99 + 15 99 = 6 15 + 9 15 = 1 9 + 6 9 = 1 6 + 3 6 = 2 3 Example (Continued Fraction) 312 99 = 3 + 1 99 15 = 3 + 1 6+ 1 = 3 + 1 6+ 1 1+ 1 1+ 1 2 = 3 + 1 6+ 1 15 9 1+ 1 9 6 = 3 + 1 6+ 1 1+ 1 1+ 1 6 3 Example (Greatest Common Divisor as a Linear Combination) 3 = 9 1 6
Taleksempel Example (gcd(312,99)=3) r i 1 = q i r i + r i+1 312 = 3 99 + 15 99 = 6 15 + 9 15 = 1 9 + 6 9 = 1 6 + 3 6 = 2 3 Example (Continued Fraction) 312 99 = 3 + 1 99 15 = 3 + 1 6+ 1 = 3 + 1 6+ 1 1+ 1 1+ 1 2 = 3 + 1 6+ 1 15 9 1+ 1 9 6 = 3 + 1 6+ 1 1+ 1 1+ 1 6 3 Example (Greatest Common Divisor as a Linear Combination) 3 = 9 1 6 = 9 1(15 1 9) = ( 1)15 + 2 9
Taleksempel Example (gcd(312,99)=3) r i 1 = q i r i + r i+1 312 = 3 99 + 15 99 = 6 15 + 9 15 = 1 9 + 6 9 = 1 6 + 3 6 = 2 3 Example (Continued Fraction) 312 99 = 3 + 1 99 15 = 3 + 1 6+ 1 = 3 + 1 6+ 1 1+ 1 1+ 1 2 = 3 + 1 6+ 1 15 9 1+ 1 9 6 = 3 + 1 6+ 1 1+ 1 1+ 1 6 3 Example (Greatest Common Divisor as a Linear Combination) 3 = 9 1 6 = 9 1(15 1 9) = ( 1)15 + 2 9 = ( 1)15 + 2(99 6 15) = 2 99 13 15
Taleksempel Example (gcd(312,99)=3) r i 1 = q i r i + r i+1 312 = 3 99 + 15 99 = 6 15 + 9 15 = 1 9 + 6 9 = 1 6 + 3 6 = 2 3 Example (Continued Fraction) 312 99 = 3 + 1 99 15 = 3 + 1 6+ 1 = 3 + 1 6+ 1 1+ 1 1+ 1 2 = 3 + 1 6+ 1 15 9 1+ 1 9 6 = 3 + 1 6+ 1 1+ 1 1+ 1 6 3 Example (Greatest Common Divisor as a Linear Combination) 3 = 9 1 6 = 9 1(15 1 9) = ( 1)15 + 2 9 = ( 1)15 + 2(99 6 15) = 2 99 13 15 = 2 99 13(312 3 99) = ( 13)312 + 41 99
Taleksempel Example (gcd(312,99)=3) r i 1 = q i r i + r i+1 312 = 3 99 + 15 99 = 6 15 + 9 15 = 1 9 + 6 9 = 1 6 + 3 6 = 2 3 Example (Continued Fraction) 312 99 = 3 + 1 99 15 = 3 + 1 6+ 1 = 3 + 1 6+ 1 1+ 1 1+ 1 2 = 3 + 1 6+ 1 15 9 1+ 1 9 6 = 3 + 1 6+ 1 1+ 1 1+ 1 6 3 Example (Greatest Common Divisor as a Linear Combination) 3 = 9 1 6 = 9 1(15 1 9) = ( 1)15 + 2 9 = ( 1)15 + 2(99 6 15) = 2 99 13 15 = 2 99 13(312 3 99) = ( 13)312 + 41 99
Programmer Euklids fun algoritme (rekursiv version) gcd (a,b) = if b=0 then a else let val (_,r) = divmod (a,b) val d = gcd (b,r) in d end
Programmer (rekursiv version) fun egcd (a,b) returns (s, t, d) such that sa + tb = d = if b=0 then (1,0,a) else let val (q,r) = divmod (a,b) val (s,t,d) = egcd (b,r) in (t,s-q*t,d) end
Programmer (rekursiv version) fun egcd (a,b) returns (s, t, d) such that sa + tb = d = if b=0 then (1,0,a) else let val (q,r) = divmod (a,b) val (s,t,d) = egcd (b,r) in (t,s-q*t,d) end (iterativ version) (r0,r1,s0,s1,t0,t1) := (a,b,1,0,0,1); while r1 <> 0 do q := r0 div r1 (r0,r1,s0,s1,t0,t1) := (r1,r0-q*r1,s1,s0-q*s1,t1,t0-q*t1) od result is (s0,t0,r0)
Programmer (rekursiv version) fun egcd (a,b) returns (s, t, d) such that sa + tb = d = if b=0 then (1,0,a) else let val (q,r) = divmod (a,b) val (s,t,d) = egcd (b,r) in (t,s-q*t,d) end (iterativ version) (r0,r1,s0,s1,t0,t1) := (a,b,1,0,0,1); while r1 <> 0 do q := r0 div r1 (r0,r1,s0,s1,t0,t1) := (r1,r0-q*r1,s1,s0-q*s1,t1,t0-q*t1) od result is (s0,t0,r0) a s0 + b t0 = r0 a s1 + b t1 = r1
Restklasseringene modulo n Grupper og undergrupper Modulær division For et positivt helt tal m defineres ækvivalensrelationen a er kongruent med b modulo m a b (mod m) m (a b) Herved dannes m ækvivalensklasser Z m = {[0] m,..., [m 1] m }, [n] m = {n + qm q Z}... 4 0 4...... 1 3... Z 4... 3 1...... 2 2... Klassedelingen harmonerer med addition og multiplikation, [a] m + [b] m = [a + b] m, [a] m [b] m = [a b] m.
Restklasseringene modulo n Grupper og undergrupper Modulær division Den additive struktur af Z m Hvis m kan underforstås, skrives [n] m ofte blot [n] eller n, kanonisk repræsenteret af n mod m. + Z5 0 1 2 3 4 0 0 1 2 3 4 1 1 2 3 4 0 2 2 3 4 0 1 3 3 4 0 1 2 4 4 0 1 2 3 + Z6 0 1 2 3 4 5 0 0 1 2 3 4 5 1 1 2 3 4 5 0 2 2 3 4 5 0 1 3 3 4 5 0 1 2 4 4 5 0 1 2 3 5 5 0 1 2 3 4
Restklasseringene modulo n Grupper og undergrupper Modulær division Den additive struktur af Z m Hvis m kan underforstås, skrives [n] m ofte blot [n] eller n, kanonisk repræsenteret af n mod m. + Z5 0 1 2 3 4 0 0 1 2 3 4 1 1 2 3 4 0 2 2 3 4 0 1 3 3 4 0 1 2 4 4 0 1 2 3 + Z6 0 1 2 3 4 5 0 0 1 2 3 4 5 1 1 2 3 4 5 0 2 2 3 4 5 0 1 3 3 4 5 0 1 2 4 4 5 0 1 2 3 5 5 0 1 2 3 4 Ved addition og subtraktion af restklasser modulo m bruges de sædvanlige regneregler suppleret med m = 0: 3 + 3 6 1 (mod 5) 2 5 3 3 (mod 6)
Restklasseringene modulo n Grupper og undergrupper Modulær division Den additive struktur af Z m Hvis m kan underforstås, skrives [n] m ofte blot [n] eller n, kanonisk repræsenteret af n mod m. + Z5 0 1 2 3 4 0 0 1 2 3 4 1 1 2 3 4 0 2 2 3 4 0 1 3 3 4 0 1 2 4 4 0 1 2 3 + Z6 0 1 2 3 4 5 0 0 1 2 3 4 5 1 1 2 3 4 5 0 2 2 3 4 5 0 1 3 3 4 5 0 1 2 4 4 5 0 1 2 3 5 5 0 1 2 3 4 Ved addition og subtraktion af restklasser modulo m bruges de sædvanlige regneregler suppleret med m = 0: 3 + 3 6 1 (mod 5) 2 5 3 3 (mod 6) (Z m, +) danner en kommutiativ gruppe.
Restklasseringene modulo n Grupper og undergrupper Modulær division Den multiplikative struktur af Z m Z5 0 1 2 3 4 0 0 0 0 0 0 1 0 1 2 3 4 2 0 2 4 1 3 3 0 3 1 4 2 4 0 4 3 2 1 Z6 0 1 2 3 4 5 0 0 0 0 0 0 0 1 0 1 2 3 4 5 2 0 2 4 0 2 4 3 0 3 0 3 0 3 4 0 4 2 0 4 2 5 0 5 4 3 2 1
Restklasseringene modulo n Grupper og undergrupper Modulær division Den multiplikative struktur af Z m Z5 0 1 2 3 4 0 0 0 0 0 0 1 0 1 2 3 4 2 0 2 4 1 3 3 0 3 1 4 2 4 0 4 3 2 1 Z6 0 1 2 3 4 5 0 0 0 0 0 0 0 1 0 1 2 3 4 5 2 0 2 4 0 2 4 3 0 3 0 3 0 3 4 0 4 2 0 4 2 5 0 5 4 3 2 1 Et element a er regulært modulo m, hvis gcd(a, m) = 1. Det er ensbetydende med, at det er invertibelt, det vil sige der findes et b, så a b 1 (mod m), og med, at rækken {a b b Z m } er en permutation af Z m, og med, at kun a b 0 (mod m) for b 0 (mod m).
Restklasseringene modulo n Grupper og undergrupper Modulær division Den multiplikative struktur af Z m Z5 1 2 3 4 Z6 1 5 1 1 2 3 4 1 1 5 2 2 4 1 3 3 3 1 4 2 4 4 3 2 1 5 5 1 Et element a er regulært modulo m, hvis gcd(a, m) = 1. Det er ensbetydende med, at det er invertibelt, det vil sige der findes et b, så a b 1 (mod m), og med, at rækken {a b b Z m } er en permutation af Z m, og med, at kun a b 0 (mod m) for b 0 (mod m). De regulære elementer danner en kommutativ gruppe (Z m, ).
Eulers totientfunktion Restklasseringene modulo n Grupper og undergrupper Modulær division Z m kaldes φ(m) (Eulers φ-funktion eller totientfunktion). φ(m) is the number of invertible residue classes modulo m. φ(m) is the number of residue classes modulo m mutually prime to m. φ(m) is the number of 1 s in the multiplication table of Z m. For mutually different primes p 1,..., p k and positive integer exponents e 1,..., e k, φ( k i=1 pe i i ) = k i=1 pe i 1 i (p i 1) φ(m) = m p prime divisor of m (1 1 p ) As a special case, it is convenient to define φ(1) = 1.
Eulers totientfunktion Restklasseringene modulo n Grupper og undergrupper Modulær division Z m kaldes φ(m) (Eulers φ-funktion eller totientfunktion). φ(m) is the number of invertible residue classes modulo m. φ(m) is the number of residue classes modulo m mutually prime to m. φ(m) is the number of 1 s in the multiplication table of Z m. For mutually different primes p 1,..., p k and positive integer exponents e 1,..., e k, φ( k i=1 pe i i ) = k i=1 pe i 1 i (p i 1) φ(m) = m p prime divisor of m (1 1 p ) As a special case, it is convenient to define φ(1) = 1. m 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 φ(m) 1 1 2 2 4 2 6 4 6 4 10 4 12 6 8 8 16 6 18 8
Eulers totientfunktion Restklasseringene modulo n Grupper og undergrupper Modulær division Z m kaldes φ(m) (Eulers φ-funktion eller totientfunktion). φ(m) is the number of invertible residue classes modulo m. φ(m) is the number of residue classes modulo m mutually prime to m. φ(m) is the number of 1 s in the multiplication table of Z m. For mutually different primes p 1,..., p k and positive integer exponents e 1,..., e k, φ( k i=1 pe i i ) = k i=1 pe i 1 i (p i 1) φ(m) = m p prime divisor of m (1 1 p ) As a special case, it is convenient to define φ(1) = 1. m 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 φ(m) 1 1 2 2 4 2 6 4 6 4 10 4 12 6 8 8 16 6 18 8 Facts: φ is multiplicative: gcd(a, b) = 1 φ(ab) = φ(a)φ(b). For all n, n = d n φ(d).
Algebraiske strukturer Restklasseringene modulo n Grupper og undergrupper Modulær division (S, ) er en gruppe: a b S a (b c) = (a b) c a 0 = a a : a ( a) = 0
Algebraiske strukturer Restklasseringene modulo n Grupper og undergrupper Modulær division (S, ) er en kommutativ gruppe: a b S a (b c) = (a b) c a 0 = a a : a ( a) = 0 a b = b a
Algebraiske strukturer Restklasseringene modulo n Grupper og undergrupper Modulær division (S,, ) er en ring: a b S a b S a (b c) = (a b) c a (b c) = (a b) c a 0 = a a 1 = 1 a = a a : a ( a) = 0 a b = b a a (b c) = (a b) (a c) (b c) a = (b a) (c a)
Algebraiske strukturer Restklasseringene modulo n Grupper og undergrupper Modulær division (S,, ) er en kommutativ ring: a b S a b S a (b c) = (a b) c a (b c) = (a b) c a 0 = a a 1 = a a : a ( a) = 0 a b = b a a b = b a a (b c) = (a b) (a c)
Algebraiske strukturer Restklasseringene modulo n Grupper og undergrupper Modulær division (S,, ) er en kommutativ ring, hvori nulreglen gælder: a b S a b S a (b c) = (a b) c a (b c) = (a b) c a 0 = a a 1 = a a : a ( a) = 0 a b = b a a b = b a a (b c) = (a b) (a c) Nulreglen: a b = 0 a = 0 b = 0
Algebraiske strukturer Restklasseringene modulo n Grupper og undergrupper Modulær division (S,, ) er et legeme: a b S a b S a (b c) = (a b) c a (b c) = (a b) c a 0 = a a 1 = a a : a ( a) = 0 a 0 a 1 : a a 1 = 1 a b = b a a (b c) = (a b) (a c) (b c) a = (b a) (c a) (I et legeme gælder nulreglen.)
Algebraiske strukturer Restklasseringene modulo n Grupper og undergrupper Modulær division (S,, ) er et kommutativt legeme: a b S a b S a (b c) = (a b) c a (b c) = (a b) c a 0 = a a 1 = a a : a ( a) = 0 a 0 a 1 : a a 1 = 1 a b = b a a b = b a a (b c) = (a b) (a c) (I et legeme gælder nulreglen.)
Algebraiske strukturer Restklasseringene modulo n Grupper og undergrupper Modulær division (S,, ) er et kommutativt legeme: a b S a b S a (b c) = (a b) c a (b c) = (a b) c a 0 = a a 1 = a a : a ( a) = 0 a 0 a 1 : a a 1 = 1 a b = b a a b = b a a (b c) = (a b) (a c) (I et legeme gælder nulreglen.) (Z, +, ) er en kommutativ ring, hvori nulreglen gælder (et integritetsområde). (Z m, +, ) er en kommutativ ring. (Z m, ) er en kommutativ gruppe.
Undergruppe Restklasseringene modulo n Grupper og undergrupper Modulær division En delmængde S S af en gruppe (S, ) kaldes en undergruppe, hvis også (S, ) er en gruppe. Sætning 31.14 S og a ( b) S for alle a, b S er tilstrækkeligt.
Undergruppe Restklasseringene modulo n Grupper og undergrupper Modulær division En delmængde S S af en gruppe (S, ) kaldes en undergruppe, hvis også (S, ) er en gruppe. Sætning 31.14 S og a ( b) S for alle a, b S er tilstrækkeligt. Bevis: Opgave 31.3-2. Bemærk: trykfejl i bogen. Hvis S S er en ægte delmængde, kaldes (S, ) en ægte undergruppe. Enhver gruppe (S, ) har den trivielle undergruppe ({0}, ) og den uægte undergruppe (S, ) selv. Lagranges sætning For en undergruppe S af en endelig gruppe (S, ) vil S S. For en ægte undergruppe S vil S S 2.
Restklasseringene modulo n Grupper og undergrupper Modulær division Gentagen komposition ( potenser i en gruppe) For et element a af en gruppe (S, ) og et helt tal n defineres } a a {{... a } for n > 0 n na = 0 for n = 0 ( n)( a) for n < 0 (I multiplikativ notation: a n.)
Restklasseringene modulo n Grupper og undergrupper Modulær division Gentagen komposition ( potenser i en gruppe) For et element a af en gruppe (S, ) og et helt tal n defineres } a a {{... a } for n > 0 n na = 0 for n = 0 ( n)( a) for n < 0 (I multiplikativ notation: a n.) De sædvanlige regneregler pa qa = (p + q)a og q(pa) = (pq)a kan vises at gælde. (I multiplikativ notation: a p a q = a p+q og (a p ) q = a pq.)
Frembringere Restklasseringene modulo n Grupper og undergrupper Modulær division Den mindste undergruppe, som indeholder en delmængde A S, siges at være frembragt af denne delmængde. Specielt kan man for et enkelt element a S tale om undergruppen a frembragt af a (det vil sige af singletonmængden {a}). Det er klart, at a = {na n Z}. Hvis a = S, kaldes a en frembringer for S. En gruppe, der har en frembringer, siges at være cyklisk.
Frembringere Restklasseringene modulo n Grupper og undergrupper Modulær division Den mindste undergruppe, som indeholder en delmængde A S, siges at være frembragt af denne delmængde. Specielt kan man for et enkelt element a S tale om undergruppen a frembragt af a (det vil sige af singletonmængden {a}). Det er klart, at a = {na n Z}. Hvis a = S, kaldes a en frembringer for S. En gruppe, der har en frembringer, siges at være cyklisk. En frembringer for (Z m, ) kaldes også en primitiv rod. Example I (Z 7, ) vil 2 = {1, 2, 4}, ord(2) = 3, og 3 = {1, 3, 2, 6, 4, 5}, ord(3) = 6. 3 er en primitiv rod modulo 7 (men 2 er det ikke).
Orden Restklasseringene modulo n Grupper og undergrupper Modulær division Et gruppeelements orden er det mindste antal gange, det skal komponeres med sig selv for at danne neutralelementet: min{k > 0 ka = 0} hvis der findes et k N 1, ord(a) = for hvilket ka = 0 hvis ka = 0 k = 0 (I multiplikativ notation: a k = 1.) Fakta ord(a) = a. Sekvensen..., ( 1)a, 0, a, 2a,... er periodisk med periode ord(a). For ethvert element a af en endelig gruppe (S, ) vil S a = 0.
Restklasseringene modulo n Grupper og undergrupper Modulær division Specialtilfældet de regulære restklasser Sætning 31.32 De værdier af n > 1, for hvilke Z n er cyklisk, er 2, 4, p e og 2p e, for ulige primtal p og positive heltal e. Eulers sætning For n > 1, a Z n, vil a φ(n) 1 (mod n).
Restklasseringene modulo n Grupper og undergrupper Modulær division Specialtilfældet de regulære restklasser Sætning 31.32 De værdier af n > 1, for hvilke Z n er cyklisk, er 2, 4, p e og 2p e, for ulige primtal p og positive heltal e. Eulers sætning For n > 1, a Z n, vil a φ(n) 1 (mod n). Bevis: φ(n) = Z n Fermats lille sætning a p a (mod p) for alle primtal p og hele tal a.
Restklasseringene modulo n Grupper og undergrupper Modulær division Specialtilfældet de regulære restklasser Sætning 31.32 De værdier af n > 1, for hvilke Z n er cyklisk, er 2, 4, p e og 2p e, for ulige primtal p og positive heltal e. Eulers sætning For n > 1, a Z n, vil a φ(n) 1 (mod n). Bevis: φ(n) = Z n Fermats lille sætning a p a (mod p) for alle primtal p og hele tal a. Bevis: Trivielt for p a og en følge af Eulers sætning for p a
Den modulære førstegradsligning Restklasseringene modulo n Grupper og undergrupper Modulær division For m N 1 og a, b Z m søges x Z m, så ax b (mod m). Theorem (Solving a Linear Equation Modulo m) Let d = gcd(a, m). Then 1 If d b there are no solutions. 2 If d b, the equation has d solutions (equivalent modulo m d ).
Den modulære førstegradsligning Restklasseringene modulo n Grupper og undergrupper Modulær division For m N 1 og a, b Z m søges x Z m, så ax b (mod m). Theorem (Solving a Linear Equation Modulo m) Let d = gcd(a, m). Then 1 If d b there are no solutions. 2 If d b, the equation has d solutions (equivalent modulo m d ). Proof: If x is a solution, all solutions will be {x + i m d 0 i < d}, because ax 1 ax 2 (mod m) m a(x 1 x 2 ) m d a d (x 1 x 2 ) m d (x 1 x 2 ) x 1 x 2 (mod m d ), since integers a d and m d are mutually prime. ax b (mod m) means q(b ax = qm), or xa + qm = b. 1: d divides left hand side. 2: rewrite as x a d + q m d = b d. Find s, t (extended Euclid) such that s a d + t m d = 1; choose x = s b d
Inverst element Restklasseringene modulo n Grupper og undergrupper Modulær division ax 1 (mod m), gcd(a, m) = 1, compute x = a 1 (mod m). Four Methods : Try all possibilities x = 1, 2, 3,..., m 1. Find s, t, 0 < s < m, such that sa + tm = 1: let val (s,_,d) = egcd (a,m) in if d > 1 then raise Fail "unsolvable" else if s < 0 then s+m else s end (r0,r1,s0,s1) := (m,a,0,1); while (r1 > 0) {q := r0 div r1; (r0,r1,s0,s1) := (r1,r0-q*r1,s1,s0-q*s1);} if r0 > 1 return "unsolvable"; return if s0 < 0 then s0+m else s0; x := a φ(m) 1