{VERSION 3 0 "IBM INTEL NT" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "2D Comment" 2 18 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 256 "" 1 24 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 257 "" 1 18 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 258 "" 1 18 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 259 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 260 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE " " -1 261 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Heading 1" 0 3 1 {CSTYLE "" -1 -1 "" 1 18 0 0 0 0 0 1 0 0 0 0 0 0 0 }1 0 0 0 8 4 0 0 0 0 0 0 -1 0 }{PSTYLE "Heading \+ 2" 3 4 1 {CSTYLE "" -1 -1 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 8 2 0 0 0 0 0 0 -1 0 }} {SECT 0 {PARA 0 "" 0 "" {TEXT -1 0 "" }{TEXT 256 0 "" }{TEXT 257 0 "" }{TEXT 258 39 "MapleV.5 aan het werk met thuisopgave 2" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 327 "Alle Maple-uitvoer is onderdrukt om down loadtijd te sparen. Om de uitvoer te zien en te ervaren wat Maple alle maal kan, met behulp van het package \"GF\" (Galois Field = Eindig Lic haam), moet u dus regelmatig (binnenMaple!) de enter-toets indrukken. Het package wordt steeds aan het begin van een sessie geladen met rea dlib(GF)." }}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 0 "" }{TEXT 259 30 "M.b .v. ConvertIn en ConvertOut" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "restart:readlib(GF):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 51 "L:=GF(5,2,delta^2+delta+2): d:=L[Co nvertIn](delta);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 65 "for i f rom 0 to 24 do\n delta^i = L[ConvertOut](L[`^`](d,i));\nod;" }{TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "L[isPrimitiveElem ent](d);" }{TEXT -1 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 82 "Hier z ien we hoe Maple ons voortbrengende, in dit geval zelfs primitieve, el ement " }{XPPEDIT 18 0 "delta;" "6#%&deltaG" }{TEXT -1 475 " intern re presenteert (als d=10000, een voldoende groot getal. N.B. Soms wordt e en grotere macht van tien genomen) en hoe intern met deze representati e gerekend kan worden. Elke externe (\"wiskundige\") bewerking heeft i ntern zijn tegenhanger. Bij voorbeeld de bewerking machtsverheffen, no tatie ^ , vinden we intern terug in de operator L[`^`], waarbij L de \+ gekozen naam van ons lichaam is. Voor een overzicht zie het \"topic\" \+ GF in de helpfunctie. Aan de uitvoer zien we dat " }{XPPEDIT 18 0 "del ta;" "6#%&deltaG" }{TEXT -1 50 "^6 = 2 in L (het is natuurlijk geen ve rassing dat " }{XPPEDIT 18 0 "delta;" "6#%&deltaG" }{TEXT -1 201 "^6 i n Z mod 5 ligt, want zijn vierde macht is gelijk aan 1 en i.v.m.\"Ferm at\" kennen we alle oplossingen in L van de vergelijking. x^4=1 al (hi er is thm.15.8.2 of thm.13.9(ii) toepasbaar). Het feit dat " } {XPPEDIT 18 0 "delta;" "6#%&deltaG" }{TEXT -1 64 "^6 =2 reduceert het \+ handmatig bepalen van de tabel aanzienlijk: " }{XPPEDIT 18 0 "delta;" "6#%&deltaG" }{TEXT -1 14 "^(6*i+j)=2^i *" }{XPPEDIT 18 0 "delta;" "6# %&deltaG" }{TEXT -1 114 "^j ; we kunnen het rekenen vrijwel beperken t ot het geval j=0..5. Hier onder volgt nog een samengesteld voorbeeld. " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 93 "(delta^4)^26*(4*delta+1 )=L[ConvertOut](L[`*`](L[`^`](L[`^`](d,4),26),L[`*`](4,L[`+`](d,1)))); " }{TEXT -1 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 130 "Stap voor sta p de bewerkingen laten uitvoeren lijkt dus handiger (anders vergeet je al snel een haakje). Enkele speciale gevallen:" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 42 "L[0];L[1];L[2];L[d];L[`-`](4);L[`-`](0,1);" } {TEXT -1 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 311 "We zien dus o.a. dat Maple beseft dat de karakteristiek van ons lichaam L gelijk is aa n 5. Merk verder op dat voor i=0 en i=1 een uitzondering wordt gemaakt op de regel die aan L[i] het ide element van (bij voorbeeld) een lijs t L toevoegt. L[0] en L[1] stellen het nulelement en eenelement van he t lichaam voor." }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 0 "" }{TEXT 260 21 "M.b.v.alias en RootOf" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 156 "In a fwijking met het vorige moeten we nu steeds de karakterteristiek blijv en specificeren m.b.v.\"mod 5\". N.B. mod5 zonder spatie tussen mod en 5 werkt niet." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 49 "restart:r eadlib(GF):alias(delta=RootOf(x^2+x+2)):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 58 "for i from 0 to 24 do\n delta^i = Normal(delta^i)mod \+ 5;\nod;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 66 "Factor(x^5-x)mod 5;\nQ:=simplify((x^25-x)/(x^5-x));\nFactor(Q)mod 5;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 95 "irr:=[x^2+x+2,x^2+3,x^2+4*x+2,x^2+2*x+3,x ^2+x+1,x^2+3*x+3,x^2+2,x^2+3*x+4,x^2+4*x+1,x^2+2*x+4];" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 72 "for i from 1 to 10 do\n irr[i] = Fa ctor(irr[i],RootOf(x^2+x+2))mod 5;\nod;" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 81 "Nu demonstreren we even het verschil tussen expand, expan d mod 5 en Expand mod 5:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 62 "(x+delta+4)*(x+4*delta+3) = expand((x+delta+4)*(x+4*delta+3));" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 67 "(x+delta+4)*(x+4*delta+3) = \+ expand((x+delta+4)*(x+4*delta+3))mod 5;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 67 "(x+delta+4)*(x+4*delta+3) = Expand((x+delta+4)*(x+4*d elta+3))mod 5;" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 18 "Idem met simpli fy:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 218 "(x-delta^22)*(x-del ta^14)=simplify(expand(x-delta^22)*(x-delta^14));(x-delta^22)*(x-delta ^14)=simplify(expand(x-delta^22)*(x-delta^14) mod 5);\n(x-delta^22)*(x -delta^14)=simplify(Expand(x-delta^22)*(x-delta^14) mod 5);\n" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 79 "(x-delta^22)*(x-delta^14)=si mplify(Expand(x-delta^22)*(x-delta^14) mod 5)mod 5;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 67 "(x-delta^22)*(x-delta^14)=simplify((x-del ta^22)*(x-delta^14))mod 5;" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 42 "Nu \+ volgt ons onvolprezen ringautomorfisme " }{XPPEDIT 18 0 "mu;" "6#%#muG " }{TEXT -1 24 ". In de literatuur heet " }{XPPEDIT 18 0 "mu;" "6#%#mu G" }{TEXT -1 36 " meestal het Frobenius automorfisme." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "mu:= t -> t^5;" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 51 "m:= [seq(5*i mod 24,i=1..23)]; \nwhattype(m) ; m[22];" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 105 "for i from 1 t o 23 do\n (x-delta^i)*(x-delta^(m[i])) = simplify((x-delta^i)*(x-de lta^(m[i])))mod 5;\nod;" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT 261 44 "Voo r compacte opslag: L[input] en L[output]" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "restart:readlib(GF):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 52 "L:=GF(5,2,delta^2+delta+2): d:=L[ConvertIn](delta); " }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 152 "Vijftallig kunnen we de elem enten van het lichaam L van de orde 25 heel effectief voorstellen door in de representatie van een element t.a.v. de basis \{" }{XPPEDIT 18 0 "delta;" "6#%&deltaG" }{TEXT -1 28 ",1\} (let op de volgorde) de " } {XPPEDIT 18 0 "delta;" "6#%&deltaG" }{TEXT -1 36 " door 5 te vervangen . Bij voorbeeld " }{XPPEDIT 18 0 "delta;" "6#%&deltaG" }{TEXT -1 7 "^2 = 4*" }{XPPEDIT 18 0 "delta;" "6#%&deltaG" }{TEXT -1 36 " +3 krijgt h et getal 23 toegewezen:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 73 "L[output](L[`*`](d,d));\nfor i from 0 to 24 do\nL[output](L[`^`](d,i) );\nod;" }{TEXT -1 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 38 "Let op \+ het verschil met bij voorbeeld:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "L[output](d^2);L[output](d^3);" }{TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "L[input](23);L[ConvertOut](40003); " }{TEXT -1 0 "" }}}}}{MARK "4" 0 }{VIEWOPTS 1 1 0 1 1 1803 }