{VERSION 4 0 "IBM INTEL LINUX22" "4.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 "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 1 } {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 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }} {SECT 0 {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 1388 "minpoly:= \n proc(pA, x)\nlocal localA, An , systab, m, n, s, c, clast, r, t, i, t1;\noption `Copyright (c) 1990 \+ by the University of Waterloo. All rights reserved.`;\n if not type(pA , 'matrix') then localA := evalm(pA) else localA := pA end if;\n if no t type(localA, 'matrix'(anything, 'square')) then error \"expecting sq uare matrix\"\n elif nargs <> 2 or not type(x, 'name') then error \"wr ong number or type of arguments\"\n end if;\n n := linalg['rowdim'](lo calA);\n An := array(1 .. n, 1 .. n, 'identity');\n systab[1] := consy srow(An, n, 1);\n for r from 2 to n + 1 while nonzero(systab[r - 1], n ) do\n An := map(normal, multiply(An, localA));\n systab[r] := consy srow(An, n, r);\n clast := 1;\n for s to r - 1 do for c from clast t o n^2 while systab[s][c] = 0 or systab[r][c] <> 0 do\n if systab[r] [c] <> 0 then\n if systab[s][c] = 0 then t := eval(systab[s]); sys tab[s] := eval(systab[r]); systab[r] := eval(t); clast := c; break\n \+ else\n m := normal(systab[r][c]/systab[s][c]);\n systab[r ][c] := 0;\n for i from c + 1 to n^2 + n + 1 do systab[r][i] := n ormal(systab[r][i] - m*systab[s][i]) end do;\n clast := c;\n \+ break\n end if\n end if\n end do\n end do\n end do;\n t1 := sum('systab[r - 1][i + n^2 + 1]*x^i', 'i' = 0 .. n);\n t1 := subs('lo calA' = localA, t1);\n if has(t1, 'localA') then error \"unnamed matri x with undefined elements\" else t1 end if\nend proc ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%(minpolyGR6$%#pAG%\"xG6.%'localAG%#AnG%'systabG% \"mG%\"nG%\"sG%\"cG%&clastG%\"rG%\"tG%\"iG%#t1G6#%aoCopyright~(c)~1990 ~by~the~University~of~Waterloo.~All~rights~reserved.G6\"C+@%4-%%typeG6 $9$.%'matrixG>8$-%&evalmG6#F?>FCF?@&4-F=6$FC-F@6$%)anythingG.%'squareG YQ8expecting~square~matrix6\"509#\"\"#4-F=6$9%.%%nameGYQBwrong~number~ or~type~of~argumentsFS>8(-&%'linalgG6#.%'rowdimG6#FC>8%-%&arrayG6%;\" \"\"F[oFho.%)identityG>&8&6#Fio-%9linalg/minpoly/consysrowG6%FdoF[oFio ?(8,FWFio,&F[oFioFioFio-%7linalg/minpoly/nonzeroG6$&F^p6#,&FdpFioFio! \"\"F[oC&>Fdo-%$mapG6$%'normalG-&F^o6#.%)multiplyG6$FdoFC>&F^p6#Fdp-Fa p6%FdoF[oFdp>8+Fio?(8)FioFioF[q%%trueG?(8*F_rFio*$)F[oFWFio5/&&F^p6#Fa r6#Fdr\"\"!0&FjqF\\sF]s@$F^s@%FhrC'>8--%%evalG6#Fjr>Fjr-Ffs6#Fjq>Fjq-F fs6#Fds>F_rFdr[C'>8'-Fbq6#*&F_sFioFirF\\q>F_sF]s?(8.,&FdrFioFioFioFio, (FerFioF[oFioFioFioFbr>&Fjq6#Fht-Fbq6#,&F\\uFio*&FbtFio&FjrF]uFioF\\q> F_rFdrF_t>8/-%$sumG6$.*&&Fip6#,(FhtFioFerFioFioFioFio)FenFhtFio/.Fht;F ]sF[o>Feu-%%subsG6$/.FCFCFeu@%-%$hasG6$FeuFgvYQGunnamed~matrix~with~un defined~elementsFSFeuF8F8F8" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 193 "nonzero:=proc(row, n)\nlocal i;\noption `Copyright (c) 1990 by th e University of Waterloo. All rights reserved.`;\n for i to n^2 do if \+ row[i] <> 0 then RETURN(true) end if end do; false\nend proc ;" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%7linalg/minpoly/nonzeroGR6$%$rowG%\" nG6#%\"iG6#%aoCopyright~(c)~1990~by~the~University~of~Waterloo.~All~ri ghts~reserved.G6\"C$?(8$\"\"\"F1*$)9%\"\"#F1%%trueG@$0&9$6#F0\"\"!-%'R ETURNG6#F6%&falseGF-F-F-" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 284 "consysrow:=proc(A, n, r)\nlocal T, i, j;\noption `Copyright (c) 1 990 by the University of Waterloo. All rights reserved.`;\n for i to n do for j to n do T[n*(i - 1) + j] := A[i, j] end do end do;\n for i f rom n^2 + 1 to n^2 + n + 1 do T[i] := 0 end do;\n T[n^2 + r] := 1;\n o p(T)\nend proc ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%9linalg/minpoly/ consysrowGR6%%\"AG%\"nG%\"rG6%%\"TG%\"iG%\"jG6#%aoCopyright~(c)~1990~b y~the~University~of~Waterloo.~All~rights~reserved.G6\"C&?(8%\"\"\"F49% %%trueG?(8&F4F4F5F6>&8$6#,&*&F5F4,&F3F4F4!\"\"F4F4F8F4&9$6$F3F8?(F3,&* $)F5\"\"#F4F4F4F4F4,(FFF4F5F4F4F4F6>&F;6#F3\"\"!>&F;6#,&FFF49&F4F4-%#o pG6#F;F0F0F0" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{MARK "3 0 0" 9 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }