{VERSION 5 0 "IBM INTEL NT" "5.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 1 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 1 }{CSTYLE "Hyperlink" -1 17 "" 0 1 0 128 128 1 2 0 1 0 0 0 0 0 0 1 }{CSTYLE "2D Comment" 2 18 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 } {CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 256 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 257 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 258 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 259 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 260 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 261 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 262 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 263 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 264 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 265 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 266 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 267 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 268 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 269 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 270 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 271 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 272 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 273 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 274 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 275 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 276 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 277 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 278 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 279 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 280 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 281 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 282 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 283 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 284 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 285 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 286 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 287 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 288 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 289 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 290 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 291 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 292 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 293 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 294 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 295 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 296 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 297 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 298 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 299 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 300 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 301 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 302 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 303 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 304 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 305 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 306 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 307 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 308 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 309 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 310 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 311 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 312 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 313 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 314 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 315 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 316 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 317 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 318 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 319 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 320 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 321 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 322 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 323 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 324 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 325 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 326 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 327 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 328 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 329 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 330 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 331 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 332 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 333 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 334 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 335 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 336 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 337 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 338 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 339 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 340 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 341 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 342 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 343 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 344 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 345 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 346 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 347 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 348 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 349 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 350 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 351 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 352 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 353 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 354 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 355 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 356 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 357 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 358 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 359 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 360 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Text Output" -1 2 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 0 0 0 0 0 1 3 0 3 0 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Heading 1" -1 3 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 2 2 2 2 1 1 1 1 }1 1 0 0 8 4 1 0 1 0 2 2 0 1 }{PSTYLE "Heading 2" -1 4 1 {CSTYLE "" -1 -1 "Times" 1 14 0 0 0 1 2 1 2 2 2 2 1 1 1 1 }1 1 0 0 8 2 1 0 1 0 2 2 0 1 }{PSTYLE "Heading 3" -1 5 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 1 1 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Warning" 2 7 1 {CSTYLE "" -1 -1 "" 0 1 0 0 255 1 0 0 0 0 0 0 1 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 } {PSTYLE "Maple Output" -1 11 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }3 3 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Maple Outpu t" -1 12 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 } 1 3 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "List Item" -1 14 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 1 0 0 3 3 1 0 1 0 2 2 14 5 }{PSTYLE "Title" -1 18 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 1 2 2 2 1 1 1 1 }3 1 0 0 12 12 1 0 1 0 2 2 19 1 }{PSTYLE "Author" -1 19 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }3 1 0 0 8 8 1 0 1 0 2 2 0 1 }{PSTYLE "Heading 4" -1 20 1 {CSTYLE "" -1 -1 "Times" 1 10 0 0 0 1 1 1 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Normal" -1 256 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 1 2 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "List Item" -1 257 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 1 2 2 2 2 2 1 1 1 1 }1 1 0 0 3 3 1 0 1 0 2 2 14 5 }} {SECT 0 {EXCHG {PARA 18 "" 0 "" {TEXT -1 45 "Abstract Algebra with Map le\nChapter 3: Groups" }}{PARA 19 "" 0 "" {TEXT -1 3 "by " }{URLLINK 17 "Alec Mihailovs" 4 "http://webpages.shepherd.edu/amihailo" "" } {TEXT -1 0 "" }}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 9 "3: Groups" }} {SECT 0 {PARA 4 "" 0 "" {TEXT -1 7 "Groups " }{TEXT 258 1 "U" }{TEXT -1 1 "(" }{TEXT 259 1 "n" }{TEXT -1 1 ")" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 33 "Here is the definition of groups " }{XPPEDIT 18 0 "U(n); " "6#-%\"UG6#%\"nG" }{TEXT -1 33 " formed by relatively prime with " } {TEXT 260 2 "n " }{TEXT -1 13 "integers mod " }{TEXT 261 1 "n" }{TEXT -1 18 ". I used the name " }{TEXT 342 2 "un" }{TEXT -1 16 " for them s ince " }{XPPEDIT 18 0 "U;" "6#%\"UG" }{TEXT -1 48 " is reserved in Map le for Chebyshev polynomials." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "un:=n->select(m->evalb(igcd(m,n)=1),[$1..n]):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 7 "un(12);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 #7&\"\"\"\"\"&\"\"(\"#6" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 37 " for N to 100 do T[N]:=nops(un(N)) od:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 43 "Here are the numbers of elements of groups " }{XPPEDIT 18 0 "U(n);" "6#-%\"UG6#%\"nG" }{TEXT -1 5 " for " }{TEXT 256 2 "n " } {TEXT -1 58 "from 1 to 100, written so that 78=24 means that the group " }{XPPEDIT 18 0 "U(78);" "6#-%\"UG6#\"#y" }{TEXT -1 17 " has 24 elem ents." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "op(op(T));" }} {PARA 12 "" 1 "" {XPPMATH 20 "6#7`q/\"\"\"F%/\"\"#F%/\"\"$F'/\"\"%F'/ \"\"&F+/\"\"'F'/\"\"(F//\"\")F+/\"\"*F//\"#5F+/\"#6F7/\"#7F+/\"#8F;/\" #9F//\"#:F3/\"#;F3/\"#FG/\"#?F3/\"#@F;/\"#AF7/\"#BFO/\" #CF3/\"#DFK/\"#EF;/\"#FFG/\"#GF;/\"#HFen/\"#IF3/\"#JFin/\"#KFC/\"#LFK/ \"#MFC/\"#NFS/\"#OF;/\"#PFeo/\"#QFG/\"#RFS/\"#SFC/\"#TF]p/\"#UF;/\"#VF ap/\"#WFK/\"#XFS/\"#YFO/\"#ZFip/\"#[FC/\"#\\Fap/\"#]FK/\"#^F]o/\"#_FS/ \"#`Feq/\"#aFG/\"#bF]p/\"#cFS/\"#dFeo/\"#eFen/\"#fFar/\"#gFC/\"#hFer/ \"#iFin/\"#jFeo/\"#kF]o/\"#lF]q/\"#mFK/\"#nFas/\"#oF]o/\"#pFep/\"#qFS/ \"#rFis/\"#sFS/\"#tF]t/\"#uFeo/\"#vF]p/\"#wFeo/\"#xFer/\"#yFS/\"#zFit/ \"#!)F]o/\"#\")Fiq/\"##)F]p/\"#$)Fau/\"#%)FS/\"#&)F]s/\"#')Fap/\"#()F] r/\"#))F]p/\"#*)F]v/\"#!*FS/\"#\"*F]t/\"##*Fep/\"#$*Fer/\"#%*Fip/\"#&* F]t/\"#'*F]o/\"#(*F]w/\"#)*Fap/\"#**Fer/\"$+\"F]p" }}}{EXCHG {PARA 0 " " 0 "" {TEXT -1 50 "The number theory package has a built in function \+ " }{TEXT 257 3 "phi" }{TEXT -1 19 " for these numbers:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "with(numtheory):" }}{PARA 7 "" 1 " " {TEXT -1 69 "Warning, the protected name order has been redefined an d unprotected\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "phi(78); " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"#C" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 25 "Cayley tables for groups " }{XPPEDIT 18 0 "U(n);" "6#-%\" UG6#%\"nG" }{TEXT -1 42 " can be found using the following command:" } }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 63 "CayleyU:=n->Matrix(nops(un (n)),(i,j)->un(n)[i]*un(n)[j] mod n):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "CayleyU(42);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RT ABLEG6+\"(S\"GK%)anythingG%'MatrixG%,rectangularG%.Fortran_orderG7\"\" \"#;\"\"\"\"#7F-" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 35 "To find inver se elements of groups " }{XPPEDIT 18 0 "U(n);" "6#-%\"UG6#%\"nG" } {TEXT -1 37 " one can use the following procedure:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 54 "invU:=proc(a,n) local v; igcdex(a,n,'v'); v mod n end:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "invU(23,42); " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"#6" }}}}{SECT 0 {PARA 4 "" 0 "" {TEXT -1 19 "Matrix Groups mod n" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 50 "Maple is good for calculations with matrix groups." }{TEXT 262 0 " " }{TEXT -1 45 " The following examples are self-explanatory." }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "with(LinearAlgebra):" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "A:=Matrix([[1,2],[3,4]]);" } }{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"AG-%'RTABLEG6$\"(;Ct#-%'MATRIXG6# 7$7$\"\"\"\"\"#7$\"\"$\"\"%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "B:=Inverse(A) mod 5;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"BG-%'R TABLEG6$\"(CK\"H-%'MATRIXG6#7$7$\"\"$\"\"\"7$\"\"%\"\"#" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 4 "A.B;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")7pt6-%'MATRIXG6#7$7$\"#6\"\"&7$\"#DF," }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "Map(x->x mod 5,%);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")7pt6-%'MATRIXG6#7$7$\"\"\"\"\"!7$F- F," }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 7 "A^(-1);" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")/oz6-%'MATRIXG6#7$7$!\"#\"\"\"7$# \"\"$\"\"##!\"\"F1" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 153 "Maple oper ates faster with lists than with matrices or Matrices. That's why it i s better to define matrix groups using lists instead of Matrices. Grou ps " }{XPPEDIT 18 0 "GL(2,Z[n]);" "6#-%#GLG6$\"\"#&%\"ZG6#%\"nG" } {TEXT -1 5 " and " }{XPPEDIT 18 0 "SL(2,Z[n]);" "6#-%#SLG6$\"\"#&%\"ZG 6#%\"nG" }{TEXT -1 27 " can be defined as follows:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 137 "gl2:=n->select(A->evalb(igcd(A[1,1]*A[2,2] -A[1,2]*A[2,1],n)=1),\n[seq(seq(seq(seq([[j,i],[l,k]],l=0..n-1),k=0..n -1),j=0..n-1),i=0..n-1)]):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 135 "sl2:=n->select(A->evalb(A[1,1]*A[2,2]-A[1,2]*A[2,1] mod n=1),\n[s eq(seq(seq(seq([[j,i],[l,k]],l=0..n-1),k=0..n-1),j=0..n-1),i=0..n-1)]) :" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 49 "Here are the numbers of elem ents of some of them:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "fo r N from 2 to 6 do nops(sl2(N)) od;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 #\"\"'" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"#C" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"#[" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"$?\"" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#\"$W\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "for N from 2 to 6 do nops(gl2(N)) od;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"'" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"#[" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#\"#'*" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"$![" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"$)G" }}}{EXCHG {PARA 0 " " 0 "" {TEXT -1 31 "Look at some of their elements:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "map(matrix,sl2(2));" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#7(-%'matrixG6#7$7$\"\"\"\"\"!7$F*F)-F%6#7$F(7$F)F)-F%6# 7$F+F(-F%6#7$F+F/-F%6#7$F/F(-F%6#7$F/F+" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "matrix(gl2(6)[256]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7$7$\"\"$\"\"&7$\"\"%\"\"\"" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 18 "Multiplication in " }{TEXT 265 2 "GL" }{TEXT -1 1 "(" } {TEXT 266 1 "n" }{TEXT -1 6 ") and " }{TEXT 267 2 "SL" }{TEXT -1 1 "( " }{TEXT 268 1 "n" }{TEXT -1 28 ") can be defined as follows:" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 160 "mm:=(A,B,n)->[[A[1,1]*B[1,1 ] +A[1,2]*B[2,1] mod n,A[1,1]*B[1,2] +A[1,2]*B[2,2] mod n ],[A[2,1]*B[ 1,1] +A[2,2]*B[2,1] mod n,A[2,1]*B[1,2] +A[2,2]*B[2,2] mod n]]:" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 12 "For example," }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 43 "matrix(mm([[1,2],[3,4]],[[5,6],[7,8]],11));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7$7$\"\")\"\"!7$\"#5\"\" '" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 68 "Inverse elements also can be determined by a direct calculation. In " }{TEXT 269 2 "SL" }{TEXT -1 1 "(" }{TEXT 270 1 "n" }{TEXT -1 26 ") it is especially simple:" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 63 "invSL:=(A,n)->[[A[2,2],-A[1, 2] mod n],[-A[2,1] mod n, A[1,1]]]:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 139 "invGL:=proc(A,n) local d; d:=invU(A[1,1]*A[2,2]-A[1, 2]*A[2,1],n);\n[[A[2,2]*d mod n,-A[1,2]*d mod n],[-A[2,1]*d mod n, A[1 ,1]*d mod n]] end:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 13 "For example , " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "matrix(invSL([[3,4],[ 5,7]],20));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7$7$\"\"(\" #;7$\"#:\"\"$" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "matrix(inv GL([[1,2],[3,4]],25));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6# 7$7$\"#B\"\"\"7$\"#9\"#7" }}}{SECT 0 {PARA 5 "" 0 "" {TEXT -1 5 "Note. " }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 19 "We need to include " }{TEXT 351 2 "mm" }{TEXT -1 2 ", " }{TEXT 352 5 "invSL" }{TEXT -1 6 ", and " }{TEXT 353 5 "invGL" }{TEXT -1 12 " inside the " }{TEXT 354 8 "matrix( )" }{TEXT -1 115 ", if we want to see the output as a matrix. Otherwis e the output would look as a list of matrix rows. To apply the " } {TEXT 355 8 "matrix()" }{TEXT -1 27 " to every element of a set " } {TEXT 356 1 "S" }{TEXT -1 29 ", we need to use the command " }{TEXT 357 15 "map(matrix, S);" }{TEXT -1 1 "." }}}}}{SECT 0 {PARA 4 "" 0 "" {TEXT -1 16 "Group Definition" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 21 "W e'll define a group " }{TEXT 349 1 "G" }{TEXT -1 67 " in a standard wa y, as a 2-element list containing a set or a list " }{TEXT 348 1 "G" } {TEXT -1 41 "[1] with an associative binary operation " }{TEXT 350 1 " G" }{TEXT -1 102 "[2] having an identity and inverses for all elements . To do that, we need to define a few procedures. " }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 107 "The following procedure is checking if the rows \+ of the Cayley table are permutations of the group elements:" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 134 "isCP:=proc(g,m) local i,j; \ni:=1; while (i<=nops(g) and \{seq(m(g[i],g[j]),j=1..nops(g))\}=\{op( g)\}) do i:=i+1 od; evalb(i=nops(g)+1) end:" }}}{EXCHG {PARA 0 "" 0 " " {TEXT -1 50 "The following procedure is checking associativity:" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 237 "isAssociative:=proc(g,m) lo cal i,j,k;\ni:=1; j:=1; k:=1; while(i<=nops(g) and \nm(m(g[i],g[j]),g[ k])=m(g[i],m(g[j],g[k]))) do if k=nops(g) then if j=nops(g) then i:=i+ 1; j:=1; k:= 1 else j:=j+1 fi else k:=k+1 fi od; evalb(i=nops(g)+1) en d:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 87 "The following example shows that these two procedures are not enough to define a group." }}} {SECT 0 {PARA 5 "" 0 "" {TEXT -1 10 "Example 1." }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 5 " Let " }{TEXT 305 1 "g" }{TEXT -1 57 " be an arbitrar y set containing more than 1 element, and " }{TEXT 306 1 "m" }{TEXT -1 1 "(" }{TEXT 307 3 "a,b" }{TEXT -1 4 ") = " }{TEXT 308 1 "b" } {TEXT -1 16 " for all pairs (" }{TEXT 309 3 "a,b" }{TEXT -1 17 ") of e lements of " }{TEXT 310 1 "g" }{TEXT -1 29 ". It is not a group, becau se " }{TEXT 311 8 "ab = bb " }{TEXT -1 12 "would imply " }{TEXT 312 5 "a = b" }{TEXT -1 22 " in a group. However, " }{TEXT 313 2 "m " } {TEXT -1 95 "is associative and every row of the Cayley table is the t rivial permutation of the elements of " }{TEXT 314 1 "g" }{TEXT -1 1 " :" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "isCP(\{0,1\},(a,b)->b) ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%%trueG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "isAssociative(\{0,1\},(a,b)->b);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%%trueG" }}}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 125 " The following Theorem shows that an additional property of the existen ce of a right identity is enough for defining a group. " }}}{SECT 0 {PARA 5 "" 0 "" {TEXT -1 10 "Theorem 1." }}{EXCHG {PARA 256 "" 0 "" {TEXT -1 4 "Let " }{TEXT 284 1 "m" }{TEXT -1 44 " be a binary associat ive operation on a set " }{TEXT 285 1 "G" }{TEXT -1 9 " so that " }} {PARA 257 "" 0 "" {TEXT 316 1 "i" }{TEXT -1 12 ") for every " }{TEXT 315 1 "g" }{TEXT -1 4 " in " }{TEXT 286 1 "G" }{TEXT -1 28 " the left \+ multiplication by " }{TEXT 287 1 "g" }{TEXT -1 24 " is one-to-one and \+ onto " }{TEXT 288 1 "G" }{TEXT -1 25 ", i.e. for every element " } {TEXT 289 1 "f" }{TEXT -1 4 " of " }{TEXT 290 1 "G" }{TEXT -1 27 " the re is a unique element " }{TEXT 291 1 "h" }{TEXT -1 4 " of " }{TEXT 292 1 "G" }{TEXT -1 9 " so that " }{TEXT 293 6 "f = gh" }{TEXT -1 2 "; " }}{PARA 257 "" 0 "" {TEXT 317 2 "ii" }{TEXT -1 32 ") there exists a right identity " }{TEXT 318 1 "e" }{TEXT -1 10 ", so that " }{TEXT 319 5 "ge=g " }{TEXT -1 18 "for every element " }{TEXT 320 1 "g" } {TEXT -1 4 " of " }{TEXT 321 1 "G" }{TEXT -1 2 ". " }}{PARA 256 "" 0 " " {TEXT -1 13 "Then the set " }{TEXT 294 1 "G" }{TEXT -1 20 " with the operation " }{TEXT 295 1 "m" }{TEXT -1 13 " is a group. " }}}{SECT 0 {PARA 20 "" 0 "" {TEXT -1 6 "Proof." }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 17 " Pick an element " }{TEXT 296 2 "g " }{TEXT -1 3 "in " }{TEXT 297 1 "G" }{TEXT -1 20 ". By associativity, " }{TEXT 299 5 "gh = " } {TEXT -1 1 "(" }{TEXT 298 8 "ge)h = g" }{TEXT -1 1 "(" }{TEXT 301 2 "e h" }{TEXT -1 1 ")" }{TEXT 300 1 " " }{TEXT -1 5 ", so " }{TEXT 302 5 " h =eh" }{TEXT -1 11 " for every " }{TEXT 303 2 "h " }{TEXT -1 58 "(by \+ the one-to-one property of the left multiplication by " }{TEXT 304 1 " g" }{TEXT -1 19 "). That means that " }{TEXT 322 1 "e" }{TEXT -1 32 " \+ is a left identity as well. By " }{TEXT 326 1 "i" }{TEXT -1 32 "), the re exists unique elements " }{TEXT 323 2 "h " }{TEXT -1 4 "and " } {TEXT 327 1 "x" }{TEXT -1 4 " of " }{TEXT 324 1 "G" }{TEXT -1 9 " so t hat " }{TEXT 325 6 "gh = e" }{TEXT -1 5 " and " }{TEXT 328 6 "hx = e" }{TEXT -1 8 ". Then, " }{TEXT 329 4 "x = " }{TEXT -1 1 "(" }{TEXT 330 2 "gh" }{TEXT -1 1 ")" }{TEXT 331 5 "x = g" }{TEXT -1 1 "(" }{TEXT 332 2 "hx" }{TEXT -1 2 ") " }{TEXT 333 3 "= g" }{TEXT -1 18 ", in othe r words, " }{TEXT 334 11 "gh = hg = e" }{TEXT -1 5 ", so " }{TEXT 335 1 "h" }{TEXT -1 26 " is an inverse element of " }{TEXT 336 1 "g" } {TEXT -1 104 ". Since the operation is associative and there exists an identity and inverses of all elements, the set " }{TEXT 337 2 "G " } {TEXT -1 19 "with the operation " }{TEXT 338 1 "m" }{TEXT -1 13 " is a group. " }}}}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 45 "The following proce dure is checking if a set " }{TEXT 339 1 "g" }{TEXT -1 19 " with an op eration " }{TEXT 340 1 "m" }{TEXT -1 13 " (satisfying " }{TEXT 341 4 " isCP" }{TEXT -1 24 ") has a right identity: " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 172 "hasRightId:=proc(g,m) local i,k; \nmember(g[1], [seq(m(g[1],g[i]), i=1..nops(g))],'k'); i:=1;\nwhile (i<=nops(g) and m (g[i],g[k])=g[i]) do i:=i+1 od; \nevalb(i=nops(g)+1) end: " }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 28 "Here is a negative example: " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "hasRightId([0,1],(a,b)->b);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%&falseG" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 53 "Finally, we can introduce a new Maple type - a group:" }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 183 "`type/group`:=proc(g) \nty pe(g,list) and nops(g)=2 and (type(g[1],list) or type(g[1],set)) and t ype(g[2],procedure) and isCP(op(g)) and isAssociative(op(g)) and hasRi ghtId(op(g)) end: " }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 49 "Let's check a few examples of the groups we know:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 39 "type([un(42),(i,j)->i*j mod 42],group);" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#%%trueG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 41 "cyclic:=n->[seq([$i..n,$1..i-1],i=1..n)]:" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 71 "dihedral:=n->[op(cyclic(n)),seq([n+1-j$j=i..n, n+1-j$j=1..i-1],i=1..n)]:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 86 "mult:=proc(a,b,g) local i,v; member([seq(g[a][g[b][i]],i=1..nops(g [a]))],g,'v');v end:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 52 "typ e([[$1..8],(a,b)->mult(a,b,dihedral(4))],group); " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%%trueG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "t ype([sl2(3),(A,B)->mm(A,B,3)],group);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%%trueG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "type([[$0..9] ,(a,b)->a+b mod 10],group);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%%trueG " }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 32 "If we know that the set or li st " }{TEXT 263 1 "g" }{TEXT -1 20 " with the operation " }{TEXT 264 1 "m" }{TEXT -1 68 " is a group, the identity and the inverses can be \+ found as follows: " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 84 "Id:=p roc(g,m) local i,k; member(g[1],[seq(m(g[1],g[k]),k=1..nops(g))],'i'); g[i] end:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 87 "Inv:=proc(a,g, m) local i,k; member(Id(g,m),[seq(m(a,g[k]),k=1..nops(g))],'i');g[i] e nd:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 13 "For example, " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "matrix(Id(gl2(5),(a,b)->mm(a,b,5))) ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7$7$\"\"\"\"\"!7$F)F( " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 51 "matrix(Inv([[1,2],[3,4] ],gl2(5),(a,b)->mm(a,b,5)));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'mat rixG6#7$7$\"\"$\"\"\"7$\"\"%\"\"#" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 45 "The Cayley table can be displayed as follows:" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 56 "cayleyTable:=(g,m)->Matrix(nops(g),(i,j)->m( g[i],g[j])):" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 17 "For example, for \+ " }{XPPEDIT 18 0 "Z[10];" "6#&%\"ZG6#\"#5" }{TEXT -1 2 ": " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 39 "cayleyTable([$0..9],(a,b)->a+b mod \+ 10);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")'*pz6-%'MATRIXG 6#7,7,\"\"!\"\"\"\"\"#\"\"$\"\"%\"\"&\"\"'\"\"(\"\")\"\"*7,F-F.F/F0F1F 2F3F4F5F,7,F.F/F0F1F2F3F4F5F,F-7,F/F0F1F2F3F4F5F,F-F.7,F0F1F2F3F4F5F,F -F.F/7,F1F2F3F4F5F,F-F.F/F07,F2F3F4F5F,F-F.F/F0F17,F3F4F5F,F-F.F/F0F1F 27,F4F5F,F-F.F/F0F1F2F37,F5F,F-F.F/F0F1F2F3F4" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 84 "We can check if the group is Abelian by checking if th e Cayley table is symmetric: " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 110 "isAbelianGroup:=(g,m)->IsMatrixShape(cayleyTable(g,m),symmetr ic):\n#type(cayleyTable(g,m),'Matrix'(symmetric)):" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 13 "For example, " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 42 "isAbelianGroup([$0..9],(a,b)->a+b mod 10);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%%trueG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "isAbelianGroup(sl2(2),(a,b)->mm(a,b,2));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%&falseG" }}}}{SECT 0 {PARA 4 "" 0 "" {TEXT -1 20 "Redefining of Groups" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 245 "If we knew the group identity and the inverses, we can save time in many ca lculations. That's why it is convenient to add the identity and the pr ocedure finding the inverse elements to the group definition. We defin e an extended group as a list " }{TEXT 343 1 "G" }{TEXT -1 33 " contai ning four elements, a set " }{TEXT 344 1 "G" }{TEXT -1 41 "[1], a bina ry operation (multiplication) " }{TEXT 345 1 "G" }{TEXT -1 18 "[2], th e identity " }{TEXT 346 1 "G" }{TEXT -1 39 "[3], and the unary operati on (inverse) " }{TEXT 347 1 "G" }{TEXT -1 4 "[4]:" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 217 "`type/extendedGroup`:=proc(g) local i;\nif \+ type(g,list) and nops(g)=4 and type([g[1],g[2]],group) and g[2](g[1][1 ],g[3])=g[1][1] \nthen i:=1; while not i=nops(g[1])+1 and g[2](g[1][i] ,g[4](g[1][i]))=g[3] do i:=i+1 od; \n" }{TEXT -1 0 "" }{MPLTEXT 1 0 40 "evalb(i=nops(g[1])+1) else false fi end:" }}}{EXCHG {PARA 0 "" 0 " " {TEXT -1 313 "It might be annoying to enter the same operations repe atedly many times for the groups we know. So we can redefine the group s, including the operations, the identities, and the inverses in their definitions. I'll do that in the order they have appeared in this man ual, starting their names with capital letters: " }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 85 "Cyclic:=n->[[$1..n], (a,b)->`if`(a+b-1<=n,a+ b-1,(a+b-1)-n), 1, a->`if`(a=1,1,n-a+2)]:" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 87 "Dihedral:=n->[[$1..2*n], (a,b)->mult(a,b,dihedral(n )), 1, a->`if`(a=1 or a>n,a,n-a+2)]:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 49 "Un:=n->[un(n),(a,b)->a*b mod n, 1, a->invU(a,n)]:" }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 62 "GL2:=n->[gl2(n),(a,b)->mm(a ,b,n),[[1,0],[0,1]],a->invGL(a,n)]:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 62 "SL2:=n->[sl2(n),(a,b)->mm(a,b,n),[[1,0],[0,1]],a->inv SL(a,n)]:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 51 "Z:=n->[[$0..n- 1],(a,b)->a+b mod n, 0, a->-a mod n]:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 55 "Now we can test the correctness of the new definitions:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "type(Cyclic(10),extendedG roup);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%%trueG" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 32 "type(Dihedral(5),extendedGroup);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%%trueG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "type(Un(12),extendedGroup);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%%trueG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "t ype(GL2(2),extendedGroup);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%%trueG " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "type(SL2(3),extendedGro up);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%%trueG" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 26 "type(Z(20),extendedGroup);" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#%%trueG" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 64 "Cayle y tables for the extended Groups can be defined as follows:" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "Cayley:=g->cayleyTable(g[1], g[2]):" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 13 "For example, " }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "Map(matrix,Cayley(SL2(2))); " }}{PARA 12 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\"(GHm#-%'MATRIXG6#7(7 (-%'matrixG6#7$7$\"\"\"\"\"!7$F2F1-F-6#7$F07$F1F1-F-6#7$F3F0-F-6#7$F3F 7-F-6#7$F7F0-F-6#7$F7F37(F4F,F;F8FAF>7(F8F>F,FAF4F;7(F;FAF4F>F,F87(F>F 8FAF,F;F47(FAF;F>F4F8F," }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 111 "The s ame as we did before, we can check if the group is Abelian by checking if the Cayley table is symmetric: " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "IsAbelian:=g->isAbelianGroup(g[1],g[2]):" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 13 "For example, " }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 18 "IsAbelian(Z(100));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%%trueG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "IsAbelian(Un( 15));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%%trueG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "IsAbelian(GL2(3));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%&falseG" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 12 "Every \+ group " }{TEXT 358 1 "G" }{TEXT -1 48 ", defined as a 2-element list, \+ containing a set " }{TEXT 359 1 "G" }{TEXT -1 27 "[1] and a binary ope ration " }{TEXT 360 1 "G" }{TEXT -1 95 "[2], can be easily converted t o the extended group by adding the identity and inverse element: " }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 92 "`convert/extendedGroup`:=pro c(g) local a, i; \ni:=a->Inv(a,(op(g))); [op(g),Id(op(g)),i] end:" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 13 "For example, " }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 52 "convert([[$0..10],(a,b)->a+b mod 11],extende dGroup):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "type(%,extended Group);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%%trueG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 0 {PARA 4 "" 0 "" {TEXT -1 9 "Exercises" }}{EXCHG {PARA 14 "" 0 "" {TEXT -1 0 "" }{TEXT 271 1 "1" }{TEXT -1 41 ". Find t he numbers of elements of groups " }{TEXT 272 1 "U" }{TEXT -1 5 "(5), \+ " }{TEXT 273 1 "U" }{TEXT -1 6 "(25), " }{TEXT 274 1 "U" }{TEXT -1 11 "(125), and " }{TEXT 275 1 "U" }{TEXT -1 7 "(625). " }}{PARA 14 "" 0 " " {TEXT -1 0 "" }{TEXT 276 1 "2" }{TEXT -1 30 ". Display the Cayley ta ble of " }{TEXT 277 1 "U" }{TEXT -1 6 "(40). " }}{PARA 14 "" 0 "" {TEXT -1 0 "" }{TEXT 278 1 "3" }{TEXT -1 29 ". Find the inverse of 151 in " }{TEXT 279 1 "U" }{TEXT -1 7 "(212). " }}{PARA 14 "" 0 "" {TEXT -1 0 "" }{TEXT 280 1 "4" }{TEXT -1 30 ". Find the inverse matrix of \+ " }{XPPEDIT 18 0 "matrix([[137, 253], [217, 19]]);" "6#-%'matrixG6#7$7 $\"$P\"\"$`#7$\"$<#\"#>" }{TEXT -1 13 " mod 321. " }}{PARA 14 "" 0 "" {TEXT -1 0 "" }{TEXT 281 1 "5" }{TEXT -1 23 ". Find the product of \+ " }{XPPEDIT 18 0 "RTABLE(17963580,MATRIX([[23, 45], [56, 78]]));" "6# -%'RTABLEG6$\")!ejz\"-%'MATRIXG6#7$7$\"#B\"#X7$\"#c\"#y" }{TEXT -1 7 " and " }{XPPEDIT 18 0 "RTABLE(17791708,MATRIX([[75, 11], [23, 51]])) ;" "6#-%'RTABLEG6$\")3"#B"#D" #H"#J"#P"#TF(F.F*F-F'F)F0F2F,F/F+F1F)F*F1F+F,F2F'F-F.F(F/F0F*F-F+F'F)F1F(F0F2F. F,F/F+F'F,F)F1F/F*F(F0F-F2F.F,F)F2F1F/F.F+F*F(F'F0F-F-F0F'F(F*F+F.F/F1F2F)F,F.F 2F-F0F(F*F/F1F)F,F'F+F/F,F.F2F0F(F1F)F'F+F-F*F0F/F(F.F-F'F2F,F+F1F*F)F1F+F/F,F2 F0F)F'F-F*F.F(F2F1F0F/F.F-F,F+F*F)F(F'F& } {RTABLE M7R0 I4RTABLE_SAVE/2732416X,%)anythingG6"6"[gl!"%!!!#%"#"#"""""$""#""%F& } {RTABLE M7R0 I4RTABLE_SAVE/2913224X,%)anythingG6"6"[gl!"%!!!#%"#"#""$""%"""""#F& } {RTABLE M7R0 I5RTABLE_SAVE/11736912X,%)anythingG6"6"[gl!"%!!!#%"#"#"""""!F(F'F& } {RTABLE M7R0 I5RTABLE_SAVE/11796804X,%)anythingG6"6"[gl!"%!!!#%"#"#!"##""$""#"""#!""F*F& } {RTABLE M7R0 I5RTABLE_SAVE/11796996X,%)anythingG6"6"[gl!"%!!!#_q"+"+""!"""""#""$""%""&""'""( "")""*F(F)F*F+F,F-F.F/F0F'F)F*F+F,F-F.F/F0F'F(F*F+F,F-F.F/F0F'F(F)F+F,F-F.F/F0F 'F(F)F*F,F-F.F/F0F'F(F)F*F+F-F.F/F0F'F(F)F*F+F,F.F/F0F'F(F)F*F+F,F-F/F0F'F(F)F* F+F,F-F.F0F'F(F)F*F+F,F-F.F/F& } {RTABLE M7R0 I4RTABLE_SAVE/2662928X,%)anythingG6"6"[gl!"%!!!#E"'"'=F&6$;"""""#F)E\[l%6$F+F+F *6$F*F*F*6$F*F+""!6$F+F*F0=F&F(E\[l%F-F*F.F*F/F0F1F*=F&F(E\[l%F-F0F.F0F/F*F1F*= F&F(E\[l%F-F*F.F0F/F*F1F*=F&F(E\[l%F-F0F.F*F/F*F1F*=F&F(E\[l%F-F*F.F*F/F*F1F0=F &F(E\[l%F-F*F.F*F/F0F1F*=F&F(E\[l%F-F*F.F*F/F0F1F0=F&F(E\[l%F-F0F.F*F/F*F1F*=F& F(E\[l%F-F*F.F*F/F*F1F0=F&F(E\[l%F-F0F.F0F/F*F1F*=F&F(E\[l%F-F*F.F0F/F*F1F*=F&F (E\[l%F-F0F.F0F/F*F1F*=F&F(E\[l%F-F*F.F0F/F*F1F*=F&F(E\[l%F-F*F.F*F/F0F1F0=F&F( E\[l%F-F*F.F*F/F0F1F*=F&F(E\[l%F-F*F.F*F/F*F1F0=F&F(E\[l%F-F0F.F*F/F*F1F*=F&F(E \[l%F-F*F.F0F/F*F1F*=F&F(E\[l%F-F0F.F0F/F*F1F*=F&F(E\[l%F-F*F.F*F/F*F1F0=F&F(E\ [l%F-F0F.F*F/F*F1F*=F&F(E\[l%F-F*F.F*F/F0F1F0=F&F(E\[l%F-F*F.F*F/F0F1F*=F&F(E\[ l%F-F0F.F*F/F*F1F*=F&F(E\[l%F-F*F.F*F/F*F1F0=F&F(E\[l%F-F*F.F*F/F0F1F*=F&F(E\[l %F-F*F.F*F/F0F1F0=F&F(E\[l%F-F*F.F0F/F*F1F*=F&F(E\[l%F-F0F.F0F/F*F1F*=F&F(E\[l% F-F*F.F*F/F*F1F0=F&F(E\[l%F-F0F.F*F/F*F1F*=F&F(E\[l%F-F*F.F0F/F*F1F*=F&F(E\[l%F -F0F.F0F/F*F1F*=F&F(E\[l%F-F*F.F*F/F0F1F*=F&F(E\[l%F-F*F.F*F/F0F1F0F& }