{VERSION 6 0 "IBM INTEL NT" "6.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 } {CSTYLE "" -1 256 "" 0 1 0 0 0 0 0 1 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 6 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 2 2 2 2 2 1 2 1 3 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{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 }} {SECT 0 {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "restart:\nwith(GfG); " }}{PARA 6 "" 1 "" {TEXT -1 70 "GfG - Groebner for Grassmann 0.2 beta (July 23, 2007) says good bye..." }}{PARA 6 "" 1 "" {TEXT -1 67 "GfG \+ - Groebner for Grassmann 0.2 beta (July 23, 2007) says Hello..." }} {PARA 6 "" 1 "" {TEXT -1 21 "22 functions exported" }}{PARA 6 "" 1 "" {TEXT -1 85 "===>If you find this packages useful, please let us know \+ about your derived work. see" }}{PARA 6 "" 1 "" {TEXT -1 106 "===>You \+ can contact us at http://math.tntech.edu/rafal/ or http://clifford.phy sik.uni-konstanz.de/~fauser/" }}{PARA 6 "" 1 "" {TEXT -1 44 "Clifford \+ package with 84 functions loaded..." }}{PARA 6 "" 1 "" {TEXT -1 83 "In crease verbosity by infolevel[`function`]=val -- use online help > ?Bi gebra[help]" }}{PARA 6 "" 1 "" {TEXT -1 43 "Bigebra package with 33 fu nctions loaded..." }}{PARA 11 "" 1 "" {XPPMATH 20 "6#79%-CommonFactorG %$DegG%(GDivideG%(GGbasisG%%GLCMG%(GReduceG%'GSpolyG%'InvDegG%'InvLexG %*InvRevLexG%'LCoeffG%%LMonG%<ermG%$LexG%'RevLexG%-isadmissibleG%)le ftmostG%*makealphaG%+minGGbasisG%)multidegG%*rightmostG%&tildeG%(versi onG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "with(linalg):\nB:=di ag(0$9):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "eval(makealiase s(9,'ordered')):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "version ();" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%L+++++++++++++++++++++++++++++ ++++++++++++++G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%fpGfG~-~Groebner~f or~Grassmann~-~A~Maple~10~Package~for~Groebner~Bases~for~Grassmann~Alg ebrasG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%\\pLast~revised:~July~23,~2 007~(Source~file:~Groebner.for.Grassmann_M10.23vii07.mws)G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%_oCopyright~2006-2007~by~Rafal~Ablamowicz~( *)~and~Bertfried~Fauser~($)G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" } }{PARA 11 "" 1 "" {XPPMATH 20 "6#%H(*)~Department~of~Mathematics,~Box~ 5054G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%gn~~~~Tennessee~Technologica l~University,~Cookeville,~TN~38505G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 #%U~~~~tel:~USA~(931)~372-3662,~fax:~USA~(931)~372-6353G" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#%;~~~~rablamowicz@tntech.eduG" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#%J~~~~http://math.tntech.edu/rafal/Cliff10/G" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 #%Y($)~Universit\"at~Konstanz,~Fachbereich~Physik,~Fach~M678G" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%<~~~~78457~Konstanz,~GermanyG" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%E~~~~Bertfried.Fauser@uni-konstanz.de G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%T~~~~http://clifford.physik.uni- konstanz.de/|irfauser/G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%J~~~~http: //math.tntech.edu/rafal/Cliff10/G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#% !G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%`p++++++++++++This~is~GfG~-~Gro ebner~for~Grassmann~for~Maple~10~version~0.2++++++++++++G" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 10 "Example 1:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "cbas:= cbasis(3);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%cbasG7*%#IdG%#e1G%#e2 G%#e3G%$e12G%$e13G%$e23G%%e123G" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "map(makealpha,cbas);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7*-%'R TABLEG6%\"*#p%oZ\"-%'VECTORG6#7+\"\"!F,F,F,F,F,F,F,F,&%'VectorG6#%$row G-F%6%\"*[*=e9-F)6#7+\"\"\"F,F,F,F,F,F,F,F,F--F%6%\"*7goZ\"-F)6#7+F,F7 F,F,F,F,F,F,F,F--F%6%\"*KhoZ\"-F)6#7+F,F,F7F,F,F,F,F,F,F--F%6%\"*_ioZ \"-F)6#7+F7F7F,F,F,F,F,F,F,F--F%6%\"*sjoZ\"-F)6#7+F7F,F7F,F,F,F,F,F,F- -F%6%\"*#\\'oZ\"-F)6#7+F,F7F7F,F,F,F,F,F,F--F%6%\"*7moZ\"-F)6#7+F7F7F7 F,F,F,F,F,F,F-" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 99 "Example 2: Grassmann monomials so rted from the greatest to the smallest according to each order.\n\n" } {TEXT 256 232 "Definition: We say that an order T on Grassmann monomia ls is admissible if\n\n1. m > 1 for every monomial m in the Grassmann \+ basis\n2. If m_2 > m_1 then m_l m_2 m_r > m_l m_1 m_r for every m_1, m _2, m_l, and m_r in the Grassmann basis\n" }{TEXT -1 3429 "\nIn the fo llowing we sort Grassmann monomials in the basis for /\\ R^3 according to each monomial order. Notice that:\n\n1. RevLex, InvRevLex, and Inv Deg[Lex] orders are NOT admissible because they violate the first cond ition that m > 1 for every m in the Grassmann basis.\n\nNOTE: Not all \+ of these orders below are admissible, for example, RevLex, InvRevLex, \+ and InvDeg[Lex] orders are NOT admissible because they violate the fir st condition that m > 1 for every m in the Grassmann basis. The remain ing orders are admissible. Check procedure 'isadmissible'\n\nLet a mon omial m = e^alpha = (e1^alpha1 &w e2^alpha2) &w (...) &w (e9^alpha9) w here alpha = [alpha1, alpha2, ..., alpha9]. Of course, each alphai = 0 or 1 as ei^alphai = &w(ei,ei,...,ei) = 0 if alphai >=2. We also agree that ei^0 = Id in the Grassmann algebra /\\. We will refer to the lis t alpha also as a vector. \n\nIn the following let m1 = e^alpha and m2 = e^beta.\n\n'Lex(m1,m2)' returns true if either the difference vecto r alpha - beta is the zero vector or the leftmost non-zero entry in al pha - beta is positive, in which case we say m1 >= m2. Otherwise it re turns false, in which case we say that m1 < m2. For example, it gives \+ a lexicographic order on generators e1>e2>...>e9 (NOT ADMISSIBLE in ge neral but admissible in Grassmann algebra).\n\n'InvLex(m1,m2)' return s true if either the difference vector alpha - beta is the zero vector or the rightmost non-zero entry in alpha - beta is positive, in which case we say m1 >= m2. Otherwise it returns false, in which case we sa y that m1 < m2. For example, it gives the inverse lexicographic order \+ on generators e9>e8>...>e1 (NOT ADMISSIBLE in general and not admissib le in Grassmann algebra) \n\n'RevLex(m1,m2)' returns true if either t he difference vector alpha - beta is the zero vector or the rightmost \+ non-zero entry in alpha - beta is negative, in which case we say m1 >= m2. Otherwise it returns false, in which case we say that m1 < m2. Fo r example, it gives the reverse lexicographic order on generators e1>e 2>...>e9 (NOT ADMISSIBLE in general and not admissible in Grassmann al gebra) \n\n'InvRevLex(m1,m2)' returns true if either the difference v ector alpha - beta is the zero vector or the leftmost non-zero entry i n alpha - beta is negative, in which case we say m1 >= m2. Otherwise i t returns false, in which case we say that m1 < m2. For example, it gi ves the reverse lexicographic order on generators e1>e2>...>e9 (NOT AD MISSIBLE in general but admissible in Grassmann algebra) \n\n'Deg' pr ocedure takes as index (parameter) any of the above monomial orders T \+ and uses that order to resolve total degree ties: It first computes a \+ degree (grade) of two monomial terms m1, m2, and it returns true if th e total degree |m1| > |m2|. When |m1| < |m2| it returns false, and whe n the degrees are equal |m1| = |m2|, it uses the order T to determine \+ the order. (NOT ADMISSIBLE in general but admissible in Grassmann alg ebra)\n\n'InvDeg' procedure takes as index (parameter) any of the abov e monomial orders T and uses that order to resolve total degree ties: \+ It first computes a degree (grade) of two monomial terms m1, m2, and i t returns false if the total degree |m1| > |m2|. When |m1| < |m2| it r eturns true, and when the degrees are equal |m1| = |m2|, it uses the o rder T to determine the order. (NOT ADMISSIBLE in general but admissi ble in Grassmann algebra for all orders T except InvDeg[Lex] is not ad missible)\n\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 551 "cbas:=cba sis(3);\n\"Lex order gives\"=sort(cbas,Lex);\n\"InvLex order gives\"=s ort(cbas,InvLex);\n\"RevLex order gives\"=sort(cbas,RevLex); \+ #Not admissible because 1 > m for every m instead of m > 1 for every m\n\"InvRevLex order gives\"=sort(cbas,InvRevLex); #Not admissib le because 1 > m for every m instead of m > 1 for every m\n\"Deg[Lex] \+ order gives\"=sort(cbas,Deg[Lex]);\n\"Deg[InvLex] order gives\"=sort(c bas,Deg[InvLex]);\n\"InvDeg[Lex] order gives\"=sort(cbas,InvDeg[Lex]); #Not admissible because 1 > m for every m instead of m > 1 for every m\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%cbasG7*%#IdG%#e1G%#e2G%#e3G %$e12G%$e13G%$e23G%%e123G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/Q0Lex~or der~gives6\"7*%%e123G%$e12G%$e13G%#e1G%$e23G%#e2G%#e3G%#IdG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/Q3InvLex~order~gives6\"7*%%e123G%$e23G%$e13 G%#e3G%$e12G%#e2G%#e1G%#IdG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/Q3RevL ex~order~gives6\"7*%#IdG%#e1G%#e2G%$e12G%#e3G%$e13G%$e23G%%e123G" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#/Q6InvRevLex~order~gives6\"7*%#IdG%#e3 G%#e2G%$e23G%#e1G%$e13G%$e12G%%e123G" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#/Q5Deg[Lex]~order~gives6\"7*%%e123G%$e12G%$e13G%$e23G%#e1G%#e2G%#e3G %#IdG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/Q8Deg[InvLex]~order~gives6\" 7*%%e123G%$e23G%$e13G%$e12G%#e3G%#e2G%#e1G%#IdG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/Q8InvDeg[Lex]~order~gives6\"7*%#IdG%#e1G%#e2G%#e3G%$e1 2G%$e13G%$e23G%%e123G" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" } }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 648 "Example 2: Procedure 'isadmissi ble' checks whether the given order is admissible. It takes as input a list of Grassmann monomials (in CLIFFORD, they are of type 'clibasmon ', and one of the monomial orders. It returns true of the order as adm issible and false if it is not admissible. Note, that this procedure h as a remember table to speed up computations but this remember table i s forgotten when Maple is closed. A local function in this procedure c alled 'Fwedge' is essentially the same as Clifford:-wedge except that \+ it has a remember table and remembers products of Grassmann monomials. Its remember table is also erased when Maple is closed.\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 92 "cbas:=cbasis(4):\nT:=[Lex,InvLex,Re vLex,InvRevLex,Deg[Lex],Deg[InvLex],InvDeg[Lex]]:nops(T);\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 154 "for morder in T do\nflag:=isadmissible(cbas,morder):\nmorder1 :=convert(morder,string):\nprintf(\"Monomial order %s is admissible: % s\\n\",morder1,flag);\nend do;" }}{PARA 6 "" 1 "" {TEXT -1 122 "Cliplu s has been loaded. Definitions for type/climon and type/clipolynom now include &C and &C[K]. Type ?cliprod for help." }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%flagG%%trueG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%(m order1GQ$Lex6\"" }}{PARA 6 "" 1 "" {TEXT -1 38 "Monomial order Lex is \+ admissible: true" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%flagG%%trueG" } }{PARA 11 "" 1 "" {XPPMATH 20 "6#>%(morder1GQ'InvLex6\"" }}{PARA 6 "" 1 "" {TEXT -1 41 "Monomial order InvLex is admissible: true" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%flagG%&falseG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%(morder1GQ'RevLex6\"" }}{PARA 6 "" 1 "" {TEXT -1 42 " Monomial order RevLex is admissible: false" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%flagG%&falseG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%( morder1GQ*InvRevLex6\"" }}{PARA 6 "" 1 "" {TEXT -1 45 "Monomial order \+ InvRevLex is admissible: false" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%f lagG%%trueG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%(morder1GQ3GfG:-Deg[G fG:-Lex]6\"" }}{PARA 6 "" 1 "" {TEXT -1 53 "Monomial order GfG:-Deg[Gf G:-Lex] is admissible: true" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%flag G%%trueG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%(morder1GQ6GfG:-Deg[GfG: -InvLex]6\"" }}{PARA 6 "" 1 "" {TEXT -1 56 "Monomial order GfG:-Deg[Gf G:-InvLex] is admissible: true" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%f lagG%&falseG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%(morder1GQ6GfG:-InvD eg[GfG:-Lex]6\"" }}{PARA 6 "" 1 "" {TEXT -1 57 "Monomial order GfG:-In vDeg[GfG:-Lex] is admissible: false" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 119 "p1:=5* e18+5*e6we8we9-5*e2we3we8;\nL:=convert(cliterms(p1),list);\nsort(L,Deg [Lex]);\ncbas:=cbasis(3):\nsort(cbas,Deg[Lex]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#p1G,(*&\"\"&\"\"\"%$e18GF(F(*&F'F(%%e689GF(F(*&F'F(% %e238GF(!\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"LG7%%$e18G%%e238G %%e689G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7%%%e238G%%e689G%$e18G" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#7*%%e123G%$e12G%$e13G%$e23G%#e1G%#e2G% #e3G%#IdG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 177 "Example 3: Procedures LTerm, LMon, and L Coeff return the leading term, the leading monomial, and the leading c oefficient for a Grassmann polynomial for a stated monomial order.\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "p:=Id+e4+e6we7-3*e3we9+e1 +e2;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"pG,.%#IdG\"\"\"%#e4GF'%$e6 7GF'*&\"\"$F'%$e39GF'!\"\"%#e1GF'%#e2GF'" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "L:=convert(cliterms(p),list);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"LG7(%#IdG%#e1G%#e2G%#e4G%$e39G%$e67G" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 52 "sort(L,Lex);\nLTerm(p,Lex),LMon(p,L ex),LCoeff(p,Lex);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7(%#e1G%#e2G%$e3 9G%#e4G%$e67G%#IdG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%#e1GF#\"\"\"" } }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 72 "sort(L,Deg[Lex]);\nLTerm(p ,Deg[Lex]),LMon(p,Deg[Lex]),LCoeff(p,Deg[Lex]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7(%$e39G%$e67G%#e1G%#e2G%#e4G%#IdG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%,$*&\"\"$\"\"\"%$e39GF&!\"\"F'!\"$" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 968 "Exa mple 4: Procedure 'CommonFactor' finds a common Grassmann factor in tw o Grassmann monomials x and y. If the overlap between the two monomial s is empty, the procedure returns the identity element Id. Note that c ommon factor of monomials x and y may differ in sign from the common f actor of y and x. \n\n'CommonFactor' is Grassmann's original 'regressi ve' product, which he computed in his first extension theory A1 using \+ the 'rule of the common factor'. Here 'CommonFactor makes use of two \+ aspects of a Graded Hopf algebra, we can compute the meet (dual of joi n=wedge) in a Grassmann algebra using the volume element. Thereby depe nding on the dimension. Common factor looks into the smallest Grassman n algebra which contains the monomials x and y and extracts the coeffi cient of the highest grade element (volume form). In this way, the com mon factor function becomes independent of an 'ambient dimension' and \+ loses its weak dependence on the (weight of) the metric. " }}{PARA 0 " " 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 53 "Comm onFactor(e1we2,e1we3);\nCommonFactor(e1we3,e1we2);" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#,$%#e1G!\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%#e1G " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "cbas:=cbasis(3);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%%cbasG7*%#IdG%#e1G%#e2G%#e3G%$e12G%$ e13G%$e23G%%e123G" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "f:=(m1 ,m2)->CommonFactor(m1,m2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"fGf* 6$%#m1G%#m2G6\"6$%)operatorG%&arrowGF)-_%$GfGG%-CommonFactorG6$9$9%F)F )F)" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 120 "for m1 in cbas do\n for m2 in cbas do\nprintf(\"The common factor of %a and %a is %a \+ \\n\",m1,m2,f(m1,m2));\nend do end do:" }}{PARA 6 "" 1 "" {TEXT -1 37 "The common factor of Id and Id is Id " }}{PARA 6 "" 1 "" {TEXT -1 37 "The common factor of Id and e1 is Id " }}{PARA 6 "" 1 "" {TEXT -1 37 "The common factor of Id and e2 is Id " }}{PARA 6 "" 1 "" {TEXT -1 37 "The common factor of Id and e3 is Id " }}{PARA 6 "" 1 "" {TEXT -1 38 "The common factor of Id and e12 is Id " }}{PARA 6 "" 1 "" {TEXT -1 38 "The common factor of Id and e13 is Id " }}{PARA 6 "" 1 "" {TEXT -1 38 "The common factor of Id and e23 is Id " }}{PARA 6 "" 1 "" {TEXT -1 39 "The common factor of Id and e123 is Id " }}{PARA 6 "" 1 " " {TEXT -1 37 "The common factor of e1 and Id is Id " }}{PARA 6 "" 1 " " {TEXT -1 37 "The common factor of e1 and e1 is e1 " }}{PARA 6 "" 1 " " {TEXT -1 38 "The common factor of e1 and e2 is -Id " }}{PARA 6 "" 1 "" {TEXT -1 38 "The common factor of e1 and e3 is -Id " }}{PARA 6 "" 1 "" {TEXT -1 38 "The common factor of e1 and e12 is e1 " }}{PARA 6 " " 1 "" {TEXT -1 38 "The common factor of e1 and e13 is e1 " }}{PARA 6 "" 1 "" {TEXT -1 38 "The common factor of e1 and e23 is Id " }}{PARA 6 "" 1 "" {TEXT -1 39 "The common factor of e1 and e123 is e1 " }} {PARA 6 "" 1 "" {TEXT -1 37 "The common factor of e2 and Id is Id " }} {PARA 6 "" 1 "" {TEXT -1 37 "The common factor of e2 and e1 is Id " }} {PARA 6 "" 1 "" {TEXT -1 37 "The common factor of e2 and e2 is e2 " }} {PARA 6 "" 1 "" {TEXT -1 38 "The common factor of e2 and e3 is -Id " } }{PARA 6 "" 1 "" {TEXT -1 38 "The common factor of e2 and e12 is e2 " }}{PARA 6 "" 1 "" {TEXT -1 39 "The common factor of e2 and e13 is -Id \+ " }}{PARA 6 "" 1 "" {TEXT -1 38 "The common factor of e2 and e23 is e2 " }}{PARA 6 "" 1 "" {TEXT -1 39 "The common factor of e2 and e123 is \+ e2 " }}{PARA 6 "" 1 "" {TEXT -1 37 "The common factor of e3 and Id is \+ Id " }}{PARA 6 "" 1 "" {TEXT -1 37 "The common factor of e3 and e1 is \+ Id " }}{PARA 6 "" 1 "" {TEXT -1 37 "The common factor of e3 and e2 is \+ Id " }}{PARA 6 "" 1 "" {TEXT -1 37 "The common factor of e3 and e3 is \+ e3 " }}{PARA 6 "" 1 "" {TEXT -1 38 "The common factor of e3 and e12 is Id " }}{PARA 6 "" 1 "" {TEXT -1 38 "The common factor of e3 and e13 i s e3 " }}{PARA 6 "" 1 "" {TEXT -1 38 "The common factor of e3 and e23 \+ is e3 " }}{PARA 6 "" 1 "" {TEXT -1 39 "The common factor of e3 and e12 3 is e3 " }}{PARA 6 "" 1 "" {TEXT -1 38 "The common factor of e12 and \+ Id is Id " }}{PARA 6 "" 1 "" {TEXT -1 38 "The common factor of e12 and e1 is e1 " }}{PARA 6 "" 1 "" {TEXT -1 38 "The common factor of e12 an d e2 is e2 " }}{PARA 6 "" 1 "" {TEXT -1 38 "The common factor of e12 a nd e3 is Id " }}{PARA 6 "" 1 "" {TEXT -1 40 "The common factor of e12 \+ and e12 is e12 " }}{PARA 6 "" 1 "" {TEXT -1 40 "The common factor of e 12 and e13 is -e1 " }}{PARA 6 "" 1 "" {TEXT -1 40 "The common factor o f e12 and e23 is -e2 " }}{PARA 6 "" 1 "" {TEXT -1 41 "The common facto r of e12 and e123 is e12 " }}{PARA 6 "" 1 "" {TEXT -1 38 "The common f actor of e13 and Id is Id " }}{PARA 6 "" 1 "" {TEXT -1 38 "The common \+ factor of e13 and e1 is e1 " }}{PARA 6 "" 1 "" {TEXT -1 39 "The common factor of e13 and e2 is -Id " }}{PARA 6 "" 1 "" {TEXT -1 38 "The comm on factor of e13 and e3 is e3 " }}{PARA 6 "" 1 "" {TEXT -1 39 "The com mon factor of e13 and e12 is e1 " }}{PARA 6 "" 1 "" {TEXT -1 40 "The c ommon factor of e13 and e13 is e13 " }}{PARA 6 "" 1 "" {TEXT -1 40 "Th e common factor of e13 and e23 is -e3 " }}{PARA 6 "" 1 "" {TEXT -1 41 "The common factor of e13 and e123 is e13 " }}{PARA 6 "" 1 "" {TEXT -1 38 "The common factor of e23 and Id is Id " }}{PARA 6 "" 1 "" {TEXT -1 38 "The common factor of e23 and e1 is Id " }}{PARA 6 "" 1 " " {TEXT -1 38 "The common factor of e23 and e2 is e2 " }}{PARA 6 "" 1 "" {TEXT -1 38 "The common factor of e23 and e3 is e3 " }}{PARA 6 "" 1 "" {TEXT -1 39 "The common factor of e23 and e12 is e2 " }}{PARA 6 " " 1 "" {TEXT -1 39 "The common factor of e23 and e13 is e3 " }}{PARA 6 "" 1 "" {TEXT -1 40 "The common factor of e23 and e23 is e23 " }} {PARA 6 "" 1 "" {TEXT -1 41 "The common factor of e23 and e123 is e23 \+ " }}{PARA 6 "" 1 "" {TEXT -1 39 "The common factor of e123 and Id is I d " }}{PARA 6 "" 1 "" {TEXT -1 39 "The common factor of e123 and e1 is e1 " }}{PARA 6 "" 1 "" {TEXT -1 39 "The common factor of e123 and e2 \+ is e2 " }}{PARA 6 "" 1 "" {TEXT -1 39 "The common factor of e123 and e 3 is e3 " }}{PARA 6 "" 1 "" {TEXT -1 41 "The common factor of e123 and e12 is e12 " }}{PARA 6 "" 1 "" {TEXT -1 41 "The common factor of e123 and e13 is e13 " }}{PARA 6 "" 1 "" {TEXT -1 41 "The common factor of \+ e123 and e23 is e23 " }}{PARA 6 "" 1 "" {TEXT -1 43 "The common factor of e123 and e123 is e123 " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 1454 "Ex ample 5: Procedure GDivide divides a Grassmann polynomial p1 by anothe r Grassmann polynomial p2 in the admissible order 'MonOrder' entered a s a second argument. The user needs to know first whether this monomia l order is admissible (use procedure 'isadmissible' first). This proce dure returns the remainder r of the division of p1 by p2 that is, a p olynomial r such that p1 = wedge(q,p2) + r where r is a polynomial suc h that GDivide(r,p2) = r, that is, r cannot be further reduced by divi ding it by p2.\n\nNote that GDivide and GLCM (defined below) need the \+ reversion. The reversion is a map into the opposite algebra and introd uces signs due to the generation of the algebra by left multiplication turned into right multiplication. The natural order of the opposite a lgebra would possibly be a decreasing order on the indices like e32, e 421, e321 etc. One should keep in mind that ordering may be reversed \+ when we use a contravariant functor like /\\ --F--> /\\^op.\n\nWhen e xtending Groebner for Grassmann to Clifford algebras, all GDivide, GLC M, etc., functions will then need the correct (possibly containing ant isymmetric) parts either !\n\nThis procedure may be used with an optio nal fourth argument of type 'symbol': If used that way, it returns the remainedr r and the quotient q as a sequence r,q (that is, r first an d q second).\n\nGDivide:=proc(p1,p2,MonOrder)\ndivide p2 into p1 [divi de p1 by p2], or, write p1 = q &w p2 + r, or q &w p2 = p1 - r \n" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "p1:=2*e1we2-3*e4+5*e1we2we3; " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#p1G,(*&\"\"#\"\"\"%$e12GF(F(*& \"\"$F(%#e4GF(!\"\"*&\"\"&F(%%e123GF(F(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "p2:=e2-e1+7;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#p2 G,(%#e2G\"\"\"%#e1G!\"\"\"\"(F'" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 55 "r:=GDivide(p1,p2,Deg[Lex]);\nr = GDivide(r,p2,Deg[Lex]);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"rG,(*&\"\"$\"\"\"%#e4GF(!\"\"*&\"# NF(%$e23GF(F(*&\"#9F(%#e2GF(F(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/,(* &\"\"$\"\"\"%#e4GF'!\"\"*&\"#NF'%$e23GF'F'*&\"#9F'%#e2GF'F'F$" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 187 "Note that it is possible to find \+ a Grassmann polynomial q (the quotient) in the Grassmann algebra /\\R^ n, where n = max(maxindex(p1),maxindex(p2)), such that q &w p2 = p1 - \+ r, as follows:\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 63 "r,q:=GD ivide(p1,p2,Deg[Lex],'q');\np1 = Clifford:-wedge(q,p2)+r;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>6$%\"rG%\"qG6$,(*&\"\"$\"\"\"%#e4GF+!\"\"*&\"# NF+%$e23GF+F+*&\"#9F+%#e2GF+F+,(*&\"\"#F+F3F+F-*(\"\"%F+\"\"(F-%$e12GF +F+*&\"\"&F+F0F+F-" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/,(*&\"\"#\"\"\" %$e12GF'F'*&\"\"$F'%#e4GF'!\"\"*&\"\"&F'%%e123GF'F'F$" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 24 "Let's change the order:\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 50 "r:=GDivide(p1,p2,InvLex);\nr =GDivi de(r,p2,InvLex);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"rG,(*&\"\"$\" \"\"%#e4GF(!\"\"*&\"#NF(%$e13GF(F(*&\"#9F(%#e1GF(F(" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#/,(*&\"\"$\"\"\"%#e4GF'!\"\"*&\"#NF'%$e13GF'F'*&\"#9F '%#e1GF'F'F$" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 187 "Note that it is \+ possible to find a Grassmann polynomial q (the quotient) in the Grassm ann algebra /\\R^n, where n = max(maxindex(p1),maxindex(p2)), such tha t q &w p2 = p1 - r, as follows:\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 61 "r,q:=GDivide(p1,p2,InvLex,'q');\np1 = Clifford:-wedge (q,p2)+r;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>6$%\"rG%\"qG6$,(*&\"\"$ \"\"\"%#e4GF+!\"\"*&\"#NF+%$e13GF+F+*&\"#9F+%#e1GF+F+,(*&\"\"#F+F3F+F- *(\"\"%F+\"\"(F-%$e12GF+F+*&\"\"&F+F0F+F-" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/,(*&\"\"#\"\"\"%$e12GF'F'*&\"\"$F'%#e4GF'!\"\"*&\"\"&F '%%e123GF'F'F$" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 1074 "Example 6: Procedure GLCM is the Grassmann LCM of two Grassmann monomials of type 'climon' or 'clibasm on'. It uses the fact that AP = Clifford:-RC(A,reversion(C)), where Cl ifford:-RC is the right contraction of A by C: It contracts out the ri ght factor C, that is, A = AP &w C. Similarly, it extracts in the same way the C factor from the lft in B, that is, B = C &w BP, where C is \+ the common factor (overlap of indices) of A and B. It returns a list [ AP, C, BP]. In the special case of no overlap, it returns C = Id, that is, [A,Id,B].\n\nNote: We temporarily set B = diag(1$9) so that each \+ basis vector e_i would contact to 1, that is, LC(e_i,e_j) = RC(e_i,e_j ) = 1, when i = j, and 0, when i <> j.\n\nWarning: GLCM returns signed factors of the least common multiple of monomials m1 and m2 \n\nActua lly a Grassmann algebra is a graded commutative algebra! Hence a bimod ule is graded commutative isomorphic to a left or right module. In thi s sense, a Grassmann algebra behaves like a (graded) commutative algeb ra. The sign accounts for the right action written as left action! \n " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 208 "cbas;\np1:=7*e2+5*e2we 3;\n# right actions \nra:=map((x)->wedge(p1,x),cbas);\n# left action w ritten as right action\nla:=map((x)->drop_t(&map(gswitch(&t(x,p1),1),1 ,wedge)),cbas);\ndiff=1/2*(ra-la);\nsumm=1/2*(ra+la);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7*%#IdG%#e1G%#e2G%#e3G%$e12G%$e13G%$e23G%%e123G" } }{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#p1G,&*&\"\"(\"\"\"%#e2GF(F(*&\"\"& F(%$e23GF(F(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#raG7*,&*&\"\"(\"\" \"%#e2GF)F)*&\"\"&F)%$e23GF)F),&*&F(F)%$e12GF)!\"\"*&F,F)%%e123GF)F)\" \"!,$*&F(F)F-F)F)F4,$*&F(F)F3F)F1F4F4" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#laG7*,&*&\"\"(\"\"\"%#e2GF)F)*&\"\"&F)%$e23GF)F),&*&F(F)%$e12GF) F)*&F,F)%%e123GF)F)\"\"!,$*&F(F)F-F)!\"\"F3,$*&F(F)F2F)F6F3F3" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#/%%diffG7*\"\"!,$*&\"\"(\"\"\"%$e12GF* !\"\"F&,$*&F)F*%$e23GF*F*F&F&F&F&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/ %%summG7*,&*&\"\"(\"\"\"%#e2GF)F)*&\"\"&F)%$e23GF)F),$*&F,F)%%e123GF)F )\"\"!F1F1,$*&F(F)F0F)!\"\"F1F1" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 558 "In tangle notation the first computation is done using the wedge \+ (a product tangle 2 inputs 1 output) \n\nThe right action written as l eft action picks up some signs due to the graded commutativity. We nee d this signs to be able to write all actions as left actions only. Thi s is also the source of the fact that we need to concentrate only on o ne overlap, since a Grassmann monom cannot have two identical parts du e to the graded commutativity. A Grassmann (and later a Clifford) alge bra is hence much more commutative than noncommutative (algebra of wor ds) \n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 83 "m1:=e1we2we3we5;m 2:=e4we3we2;\nGLCM(m1,m2);\nwedge(op(%));\nGLCM(m2,m1);\nwedge(op(%)); " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#m1G%&e1235G" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#>%#m2G%)e4we3we2G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6# 7%%$e15G%$e23G,$%#e4G!\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%'e12345 G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7%,$%#e4G!\"\",$%&e3we2GF&%$e15G " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%'e12345G" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 342 "Example 7: GSpoly computes an S-polynomial for two Grassmann polynomials p1 a nd p2 for the stated monomial order MonOrder as follows.\n\ncf1,lm1:=L Coeff(p1,MonOrder),LMon(p1,MonOrder);\ncf2,lm2:=LCoeff(p2,MonOrder),LM on(p2,MonOrder);\nlst:=GLCM(lm1,lm2);\n\nThen, the S-polynomial is Cli fford:-wedge(p1,lst[3])/cf1-Clifford:-wedge(lst[1],p2)/cf2;\n\n" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 41 "p1:=rd_clipolynom();\np2:=rd _clipolynom();" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#p1G,&*&\"\"$\"\" \"%&e3568GF(F(*&F'F(%$e16GF(F(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#p 2G,&*&\"#6\"\"\"%#IdGF(F(*&F'F(%&e3678GF(F(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 166 "MonOrder:=Deg[Lex]:\n'p1'=p1,'p2'=p2;\nSpoly:=GSp oly(p1,p2,MonOrder);\n##############################\n'p1'=p1,'p2'=p2; \nMonOrder:=InvLex:\nSpoly:=GSpoly(p1,p2,MonOrder);\n\n" }}{PARA 11 " " 1 "" {XPPMATH 20 "6$/%#p1G,&*&\"\"$\"\"\"%&e3568GF(F(*&F'F(%$e16GF(F (/%#p2G,&*&\"#6F(%#IdGF(F(*&F0F(%&e3678GF(F(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&SpolyG,&%%e167G\"\"\"%#e5G!\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$/%#p1G,&*&\"\"$\"\"\"%&e3568GF(F(*&F'F(%$e16GF(F(/%#p2G ,&*&\"#6F(%#IdGF(F(*&F0F(%&e3678GF(F(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&SpolyG,&%%e167G\"\"\"%#e5G!\"\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 184 "Example 8: P rocedure GReduce reduces a Grassmann polynomial p with respect to a li st [p1,...,pn] of n Grassmann monomials for the given monomial order e ntered as the third argument. \n\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "p1:=2*e1-3*e1we3;\nLTerm(p1,Deg[Lex]);" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#>%#p1G,&*&\"\"#\"\"\"%#e1GF(F(*&\"\"$F(%$e13GF(! \"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,$*&\"\"$\"\"\"%$e13GF&!\"\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "p2:=Id+e3;\nLTerm(p2,Deg[ Lex]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#p2G,&%#IdG\"\"\"%#e3GF'" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%#e3G" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "p3:=2*e1;\nLTerm(p3,Deg[Lex]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#p3G,$*&\"\"#\"\"\"%#e1GF(F(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,$*&\"\"#\"\"\"%#e1GF&F&" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "p:=-2*e1we2+e2we3;\nLTerm(p,Deg[Lex]);" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#>%\"pG,&*&\"\"#\"\"\"%$e12GF(!\"\"%$e23GF(" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#,$*&\"\"#\"\"\"%$e12GF&!\"\"" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "r:=GReduce(p,[p1,p2,p3],Deg[ Lex]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"rG%#e2G" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 77 "r=GDivide(r,p1,Deg[Lex]);\nr=GDivid e(r,p2,Deg[Lex]);\nr=GDivide(r,p3,Deg[Lex]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/%#e2GF$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/%#e2GF$" } }{PARA 11 "" 1 "" {XPPMATH 20 "6#/%#e2GF$" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 18 "Change the order:\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "r:=GReduce(p,[p1,p2,p3],InvLex);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"rG%#e2G" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 71 "r=GDivide(r,p1,InvLex);\nr=GDivide(r,p2,InvLex);\nr=GDivide(r,p3,I nvLex);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/%#e2GF$" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#/%#e2GF$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/%#e2GF$ " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 311 "Example 9: Procedure 'GGbasis' computes a Groebner \+ basis for the ideal generated by a list of Grassmann polynomials F = [ p1,p2,p3] with respect to the monomial order MonOrder that needs to be admissible. It seems (this needs to be checked) that this basis can b e used for solving the ideal membership problem. \n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 53 "F:=[p1,p2,p3];\nn:=max(op(map(Clifford:-m axindex,F)));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"FG7%,&*&\"\"#\"\" \"%#e1GF)F)*&\"\"$F)%$e13GF)!\"\",&%#IdGF)%#e3GF),$*&F(F)F*F)F)" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"nG\"\"$" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 61 "c1,c2,c3:=rd_clipolynom(n),rd_clipolynom(n),rd_cli polynom(n);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>6%%#c1G%#c2G%#c3G6%,(* &\"\"&\"\"\"%#IdGF,F,*&F+F,%$e13GF,F,*&F+F,%#e2GF,!\"\",&*&\"\"'F,F-F, F,*&\"\"%F,%$e23GF,F2,$*&F+F,F-F,F2" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 95 "p_in:=wedge(c1,p1)+wedge(c2,p2)+wedge(c3,p3);\np_out: =p_in+2*Id+3*e2;\nGReduce(p_out,F,Deg[Lex]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%p_inG,.*&\"#5\"\"\"%$e12GF(F(*&\"#:F(%$e13GF(!\"\"*& F+F(%%e123GF(F-*&\"\"'F(%#IdGF(F(*&\"\"%F(%$e23GF(F-*&F1F(%#e3GF(F(" } }{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&p_outG,0*&\"#5\"\"\"%$e12GF(F(*&\" #:F(%$e13GF(!\"\"*&F+F(%%e123GF(F-*&\"\")F(%#IdGF(F(*&\"\"%F(%$e23GF(F -*&\"\"'F(%#e3GF(F(*&\"\"$F(%#e2GF(F(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,&*&\"\"#\"\"\"%#IdGF&F&%#e2G!\"\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "G:=GGbasis(F,Deg[Lex]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"GG7%,&*(\"\"#\"\"\"\"\"$!\"\"%#e1GF)F+%$e13GF),&%#IdGF)%#e3G F)F," }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 64 "rem1:=GReduce(p_in, G,Deg[Lex]);\nrem2:=GReduce(p_out,G,Deg[Lex]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%rem1G,$*&\"\"%\"\"\"%#e2GF(!\"\"" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#>%%rem2G,&*&\"\"#\"\"\"%#IdGF(F(%#e2G!\"\"" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 117 "Example 10: This procedure computes the minimal Groebne r basis from a Groebner basis for a monomial order MonOrder.\n" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "minG:=minGGbasis(G,Deg[Lex]) ;\n " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%minGG7$,&%#IdG\"\"\"%#e3GF( %#e1G" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "GReduce(G[1],minG, Deg[Lex]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"!" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 72 ". \nWe check if the minG Groebner basis does also reduce the polynomial \+ p:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 316 "'rem0' = GReduce(p,[ p1,p2,p3],Deg[Lex]); #remainder after reducing p w.r.t. the original p olynomials p1,p2,p3 \n'rem1' = GReduce(p,G,Deg[Lex]); #remain der after reducing p w.r.t. the Groebner basis G\n'rem2' = GReduce(p,m inG,Deg[Lex]); #remainder after reducing p w.r.t. the minimal Gr oebner basis minG\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/%%rem0G%#e2G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/%%rem1G%#e2G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/%%rem2G%#e2G" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 155 " Further check, that the minG Groebner basis reduces the G Groebner bas is to zero, showing that all polynomials in G are in the ideal generat ed by minG too:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "map((x)- >GReduce(x,minG,Deg[Lex]),G);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7%\" \"!F$F$" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 106 "NOTE: Further checkin g is needed to make sure that procedures GGbasis and minGGbasis comput e what we want." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 278 "Example 11: Procedure 'multideg' computes the multidegr ee of a Grassmann polynomial with respect to a monomial order entered \+ as a second argument. It returns a vector with entries 1 and 0 that re presents the leading monomial of the polynomial with respect to the ch osen order.\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 42 "f := -3*Id -3*e36-3*e2389+e1568+e349+e1256;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>% \"fG,.*&\"\"$\"\"\"%#IdGF(!\"\"*&F'F(%$e36GF(F**&F'F(%&e2389GF(F*%&e15 68GF(%%e349GF(%&e1256GF(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "multideg(f,Deg[Lex]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6% \"*k1&p9-%'VECTORG6#7+\"\"\"F+\"\"!F,F+F+F,F,F,&%'VectorG6#%$rowG" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "multideg(f,InvLex);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\"*c6dZ\"-%'VECTORG6#7+\" \"!\"\"\"F,F+F+F+F+F,F,&%'VectorG6#%$rowG" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 34 "Cookeville/Konstanz, July 23, 2007" }}}}{MARK "85 0 0" 0 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 } {RTABLE_HANDLES 147684692 145818948 147686012 147686132 147686252 147686372 147686492 147686612 146950664 147571156 }{RTABLE M7R0 I6RTABLE_SAVE/147684692X*%(integerG6"6"[gl!$%!!!"*"*""!F'F'F'F'F'F'F'F'F& } {RTABLE M7R0 I6RTABLE_SAVE/145818948X*%(integerG6"6"[gl!$%!!!"*"*"""""!F(F(F(F(F(F(F(F& } {RTABLE M7R0 I6RTABLE_SAVE/147686012X*%(integerG6"6"[gl!$%!!!"*"*""!"""F'F'F'F'F'F'F'F& } {RTABLE M7R0 I6RTABLE_SAVE/147686132X*%(integerG6"6"[gl!$%!!!"*"*""!F'"""F'F'F'F'F'F'F& } {RTABLE M7R0 I6RTABLE_SAVE/147686252X*%(integerG6"6"[gl!$%!!!"*"*"""F'""!F(F(F(F(F(F(F& } {RTABLE M7R0 I6RTABLE_SAVE/147686372X*%(integerG6"6"[gl!$%!!!"*"*"""""!F'F(F(F(F(F(F(F& } {RTABLE M7R0 I6RTABLE_SAVE/147686492X*%(integerG6"6"[gl!$%!!!"*"*""!"""F(F'F'F'F'F'F'F& } {RTABLE M7R0 I6RTABLE_SAVE/147686612X*%(integerG6"6"[gl!$%!!!"*"*"""F'F'""!F(F(F(F(F(F& } {RTABLE M7R0 I6RTABLE_SAVE/146950664X*%(integerG6"6"[gl!$%!!!"*"*"""F'""!F(F'F'F(F(F(F& } {RTABLE M7R0 I6RTABLE_SAVE/147571156X*%(integerG6"6"[gl!$%!!!"*"*""!"""F(F'F'F'F'F(F(F& }