Uppsala Universitet Matematiska institutionen Isac Hedén Algebra I, 5 hp Sammanfattning av föreläsning 4. Euklides algoritm Euklides algoritm är en algoritm där man upprepar divisionsalgoritmen flera gånger, och den används för att beräkna den största gemensamma delaren till två tal a och b. Först dividerar man a med b med kvot och rest. Därefter divideras b med resten. Därefter divideras den första resten med den andra resten. Den andra resten med den tredje resten. Den tredje resten med den fjärde och så vidare tills en division går jämnt upp och resten därmed blir noll. Den sista nollskilda resten är lika med SGD(a, b). Exampel 0.1. Vi utför Euklides algoritm på talen a = 315 och b = 56. 315 = 5 · 56 + 35 56 = 1 · 35 + 21 35 = 1 · 21 + 14 21 = 1 · 14 + 7 14 = 2 · 7 + 0 Som synes blev de successiva resterna 35, 21, 14, 7 respektive 0. Den sista nollskilda resten blev 7, och därför gäller det att SGD(315, 56) = 7. Exampel 0.2. Om vi väljer a = 114 och b = 96 så får vi. 114 = 1 · 96 + 18 96 = 5 · 18 + 6 18 = 3 · 6 + 0 De successiva resterna blev 18, 6 och 0, så SGD(114, 96) = 6. Man kan även beräkna största gemensamma delare med hjälp av primtalsfaktorisering (det bygger på aritmetikens fundamentalsats) genom att primfaktorisera de fyra tal som ingick i exemplen ovan, och helt enkelt se efter vad den största gemensamma delaren är. 315 = 32 · 5 · 7 56 = 23 · 7 114 = 2 · 3 · 19 96 = 25 · 3. Det syns tydligt att Euklides algoritm gav rätt resultat i båda exemplen. Aritmetikens fundamentalsats Målet med dagens föreläsning var att bevisa följande sats om primtal, alltså tal som inte har några icke-triviala delare1 . Sats 0.3 (Aritmetikens fundamentalsats). Varje heltal som är större än eller lika med 2 kan skrivas som en produkt av primtal, och så när på omordning av faktorerna är en sådan faktorisering entydig. Beviset av satsen gjordes i fyra steg. Steg 1: Om a ≥ 2 inte är ett primtal, så är den minsta positiva äkta delaren till a ett primtal. Steg 2: Varje heltal som är större än eller lika med 2 kan skrivas som en produkt av primtal (på minst ett sätt). Steg 3: Låt a och b vara heltal, och p ett primtal. Om p|ab så följer det att p|a eller p|b. Steg 4: Antag att ett heltal a ≥ 2 har två primfaktoriseringar: a = p 1 p 2 · · · p m = q1 q2 · · · qn , (alla pj och qk är primtal). Då gäller det att m = n, och att p1 = q1 , p2 = q2 , . . . , pn = qn (i alla fall om de två följderna av primtal p1 , p2 , . . . , pn och q1 , q2 , . . . , qn numreras i lämplig ordning). Bevis. (Steg 1): Eftersom a inte är ett primtal, så har a äkta delare. Låt b vara den minsta positiva bland dessa. Då gäller det att 1 < b < a. Om nu b inte vore ett primtal så skulle b ha en positiv äkta delare c med 1 < c < b, men då skulle c även vara en äkta delare till a, och den skulle vara mindre än b. Det är en motsägelse eftersom b var den minsta bland a:s äkta positiva delare. Bevis. (Steg 2): Låt a vara ett positivt heltal, a ≥ 2. Om a inte redan självt är ett primtal, så finns det enligt steg 1 ett primtal som delar a. Vi kallar detta primtal för p1 och kvoten för a1 så att a = p1 a 1 . Om a1 är ett primtal så är vi klara, annars använder vi steg 1 igen och hittar ett primtal som delar a1 . Vi kallar detta primtal för p2 och kvoten för a2 så att a = p1 p2 a 2 . Om a2 är ett primtal så är vi färdiga, annars hittar vi ett primtal p3 som delar a2 och kallar kvoten för a3 . Vi fortsätter på samma sätt tills vi kommer fram till en kvot ai som själv är ett primtal. Anledningen till att vi förr eller senare måste erhålla en kvot ai som själv är ett primtal, är att vi annars skulle kunna producera en oändligt avtagande följd av heltal som alla ligger mellan 1 och a, nämligen följden a1 > a2 > a3 > a4 > . . . Detta är förstås omöjligt oavsett vilket heltal a som vi började med. Bevis. (Steg 3): Vi visade att om p|ab men p - a så följer det att p|b. Antag alltså att p inte delar a. Eftersom p är ett primtal måste då SGD(a, p) = 1, och genom ”uppnystning av Euklides algoritm utförd på a och p” kan vi hitta två heltal x och y sådana att xa + yp = 1. 1 Uppnystningen av Euklides algoritm spelade en central roll i beviset – det finns en separat fil om det i filarean. Multiplicera denna likhet med b: xab + ypb = b. Nu ser vi att p uppenbarligen är en delare i vänstra ledet eftersom p delar båda termerna där (här använder vi antagandet att p|ab). Alltså måste p även vara en delare i det högra ledet – höger och vänster led är ju lika med varandra! Därmed är beviset färdigt. Genom upprepad användning av steg 3 inser man att om ett primtal p delar en produkt av k stycken tal, så måste p dela åtminstone en av de k faktorerna: p|a1 a2 · · · ak ⇒ ∃i ∈ {1, 2, 3, . . . , k} : p|ai . Vi kallar detta för steg 3b. Vi illustrerar med tre faktorer: Antag att p|abc. Eftersom abc = a(bc) kan ses som en produkt av två faktorer, får vi enligt steg 3 att p|a eller p|bc. Om p - a så gäller p|bc vilket enligt steg 3 medför att p|b eller p|c. I vilket fall delar alltså p minst en av a, b och c. Bevis. (Steg 4): Vi vet redan från steg 2 att varje heltal a ≥ 2 kan skrivas som en produkt av primtal, och nu återstår det att visa att denna faktorisering är entydigt bestämd av a – dvs. att det inte finns flera olika sätt att primfaktorisera a. Antag därför att vi har två stycken primfaktoriseringar av a (om de har olika många faktorer, så kallar vi primtalen i den ”längsta” faktoriseringen för qi och primtalen i den ”kortare” för pj , så att n ≥ m nedan): a = p1 p2 · · · pm , och a = q1 q2 · · · qn . Eftersom p1 är en faktor i a, är p1 en faktor i q1 q2 · · · qn , och det följer av steg 3b (vi kan använda steg 3b eftersom p1 är ett primtal) att p1 |qi för något i ∈ {1, 2, . . . , n}. Ifall det skulle visa sig att i 6= 1, så gör vi en omnumrering av q1 , q2 , . . . , qn så att det som före omnumreringen hette qi efter omnumreringen istället heter q1 . Det leder till att p1 |q1 och eftersom både p1 och q1 är primtal så följer det att p1 = q1 . Om vi förkortar a med p1 (som också är lika med q1 ) får vi följande: p2 p3 · · · pm = q2 q3 · · · qn . Nu upprepar vi precis samma procedur, och drar slutsatsen att (eventuellt efter ytterligare en omnumrering av q2 , q3 , . . . , qn ) att p2 = q2 . Efter att ha utfört proceduren m gånger kan vi dra slutsatsen att p1 = q1 , p2 = q2 , . . . , pm = qm , och det som återstår är endera ekvationen 1 = 1 (om n = m) eller ekvationen 1 = qm+1 qm+2 · · · qn (om m < n). I det första fallet är vi klara, och det andra fallet kan inte inträffa eftersom en produkt av (fler än noll) primtal inte kan vara lika med 1.