Revision c206b9035f722ce969cde24cacd05182e6434754 authored by Mohamed Barakat on 08 July 2015, 14:52:28 UTC, committed by Mohamed Barakat on 09 July 2015, 16:29:50 UTC
1 parent e2f711d
Raw File
JanetOre.lib
/home/daniel/maple/lib9/JanetOre...............................................................................................................................................................................................................................-×FÿÿÿÿanetOreJanetOreTJanetOreAJanetOre/versionJanetOre/compiledJanetOre/homalgJanetOre/copyright_JanetOreJanetOre/pplexJanetOre/pplex_ZJanetOre/pplex_POTJanetOre/pplex_Z_POTJanetOre/pplex_entr_blockJanetOre/pplex_Z_entr_blockJanetOre/pplex_blockJanetOre/pplex3JanetOre/pnegplexJanetOre/pnegplex_ZJanetOre/pnegplex_POTJanetOre/pnegplex_Z_POTJanetOre/pnegplex_entr_blockJanetOre/pnegplex_Z_entr_blockJanetOre/pnegplex_blockJanetOre/pdegrevlexJanetOre/pdegrevlex_ZJanetOre/pdegrevlex_POTJanetOre/pdegrevlex_Z_POTJanetOre/pdegrevlex_entr_blockJanetOre/pdegrevlex_Z_entr_blockJanetOre/pdegrevlex_blockJanetOre/pdegrevlex3JanetOre/pdegrevlex_degJanetOre/pdegrevlex_deg_ZJanetOre/pdegrevlex_deg_POT....................,uM7R0
I)JanetOre=6"%&falseGE\[ldo%-JSubmoduleHFGf*F$F$6#%jnCopyright~(C)~2007-2010~by
~Daniel~Robertz.~All~rights~reserved.GF$C$30%5JanetOre/initializedG.%%trueG0-%.
JanetOre/initGF$""!-%6JanetOre/JSubmoduleHFG6#9"F$F$F$%(JDerModGf*F$F$6#%[oCopy
right~(C)~2003-2010~by~Mohamed~Barakat.~All~rights~reserved.GF$C$F,-%1JanetOre/
JDerModGF7F$F$F$%.JIntersectionGf*F$F$6#%^pCopyright~(C)~2003-2010~by~Mohamed~B
arakat~and~Daniel~Robertz.~All~rights~reserved.GF$C$F,-%7JanetOre/JIntersection
GF7F$F$F$%&JExt1Gf*F$F$6#%^pCopyright~(C)~2000-2010~by~Mohamed~Barakat~and~Dani
el~Robertz.~All~rights~reserved.GF$C$F,-%/JanetOre/JExt1GF7F$F$F$%)JMinPolyGf*F
$F$6#%jnCopyright~(C)~2000-2010~by~Daniel~Robertz.~All~rights~reserved.GF$C$F,-
%2JanetOre/JMinPolyGF7F$F$F$%%JHomGf*F$F$F;F$C$F,-%.JanetOre/JHomGF7F$F$F$%(JRe
presGf*F$F$FPF$C$F,-%1JanetOre/JRepresGF7F$F$F$%1JCartanCharacterGf*F$F$6#%ipCo
pyright~(C)~2000-2010~by~Carlos~F.~Cid,~Arne~Lorenz~and~Daniel~Robertz.~All~rig
hts~reserved.GF$C$F,-%:JanetOre/JCartanCharacterGF7F$F$F$%+JCoeffListGf*F$F$6#%
jnCopyright~(C)~2006-2010~by~Daniel~Robertz.~All~rights~reserved.GF$C$F,-%4Jane
tOre/JCoeffListGF7F$F$F$%'JCoeffGf*F$F$6#%jnCopyright~(C)~2003-2010~by~Daniel~R
obertz.~All~rights~reserved.GF$C$F,-%0JanetOre/JCoeffGF7F$F$F$%.JMultiplicityGf
*F$F$6#%^pCopyright~(C)~2007-2010~by~Thomas~Baechler~and~Daniel~Robertz.~All~ri
ghts~reserved.GF$C$F,-%7JanetOre/JMultiplicityGF7F$F$F$%$JHFGf*F$F$6#%\pCopyrig
ht~(C)~2000-2010~by~Carlos~F.~Cid~and~Daniel~Robertz.~All~rights~reserved.GF$C$
F,-%-JanetOre/JHFGF7F$F$F$%3JGroebnerBasisFastGf*F$F$FPF$C$F,-%<JanetOre/JGroeb
nerBasisFastGF7F$F$F$%0JanetOreOptionsGf*F$F$FPF$C$F,-%9JanetOre/JanetOreOption
sGF7F$F$F$%-JApplyMatrixGf*F$F$F)F$C$F,-%6JanetOre/JApplyMatrixGF7F$F$F$%*JZero
SetsGf*F$F$FPF$C$F,-%3JanetOre/JZeroSetsGF7F$F$F$%,JPrincDerivGf*F$F$FPF$C$F,-%
5JanetOre/JPrincDerivGF7F$F$F$%$JHPGf*F$F$F[oF$C$F,-%-JanetOre/JHPGF7F$F$F$%3JH
ilbertPolynomialGf*F$F$6#%inCopyright~(C)~2000-2010~by~Carlos~F.~Cid.~All~right
s~reserved.GF$C$F,-%<JanetOre/JHilbertPolynomialGF7F$F$F$%(JHomHomGf*F$F$F;F$C$
F,-%1JanetOre/JHomHomGF7F$F$F$%'JBasisGf*F$F$FPF$C$F,-%0JanetOre/JBasisGF7F$F$F
$%4JSubmoduleDimensionGf*F$F$F)F$C$F,-%=JanetOre/JSubmoduleDimensionGF7F$F$F$%/
JResolutionDimGf*F$F$FioF$C$F,-%8JanetOre/JResolutionDimGF7F$F$F$%*JSyzygiesGf*
F$F$6#%joCopyright~(C)~2000-2010~by~Arne~Lorenz~and~Daniel~Robertz.~All~rights~
reserved.GF$C$F,-%3JanetOre/JSyzygiesGF7F$F$F$%+JEulerCharGf*F$F$FioF$C$F,-%4Ja
netOre/JEulerCharGF7F$F$F$%7PresentationOnSectionsGf*F$F$F)F$C$F,-%@JanetOre/Pr
esentationOnSectionsGF7F$F$F$%*JCheckHomGf*F$F$F;F$C$F,-%3JanetOre/JCheckHomGF7
F$F$F$%.JSyzygyModuleGf*F$F$6#%jnCopyright~(C)~2002-2010~by~Daniel~Robertz.~All
~rights~reserved.GF$C$F,-%7JanetOre/JSyzygyModuleGF7F$F$F$%-AssertJBasisGf*F$F$
FPF$C$F,-%6JanetOre/AssertJBasisGF7F$F$F$%1JLeadingMonomialGf*F$F$FPF$C$F,-%:Ja
netOre/JLeadingMonomialGF7F$F$F$%(JNotHasGf*F$F$FPF$C$F,-%1JanetOre/JNotHasGF7F
$F$F$%'JSyzOpGf*F$F$F;F$C$F,-%0JanetOre/JSyzOpGF7F$F$F$%3JShorterResolutionGf*F
$F$6#%\pCopyright~(C)~2004-2010~by~Alban~Quadrat~and~Daniel~Robertz.~All~rights
~reserved.GF$C$F,-%<JanetOre/JShorterResolutionGF7F$F$F$%%JSumGf*F$F$F;F$C$F,-%
.JanetOre/JSumGF7F$F$F$%:JSubmoduleHilbertFunctionGf*F$F$F)F$C$F,-%CJanetOre/JS
ubmoduleHilbertFunctionGF7F$F$F$%+JFactorizeGf*F$F$6#%\pCopyright~(C)~2006-2010
~by~Alban~Quadrat~and~Daniel~Robertz.~All~rights~reserved.GF$C$F,-%4JanetOre/JF
actorizeGF7F$F$F$%-JRightDivideGf*F$F$6#%[oCopyright~(C)~2003-2005~by~Mohamed~B
arakat.~All~rights~reserved.GF$C$F,-%6JanetOre/JRightDivideGF7F$F$F$%7JWeighted
HilbertSeriesGf*F$F$FPF$C$F,-%@JanetOre/JWeightedHilbertSeriesGF7F$F$F$%0JSubmo
duleBasisGf*F$F$F)F$C$F,-%9JanetOre/JSubmoduleBasisGF7F$F$F$%.JanetOreStatsGf*F
$F$FgpF$C$F,-%7JanetOre/JanetOreStatsGF7F$F$F$%1JIndexRegularityGf*F$F$6#%ioCop
yright~(C)~2000-2010~by~Carlos~F.~Cid~and~Arne~Lorenz.~All~rights~reserved.GF$C
$F,-%:JanetOre/JIndexRegularityGF7F$F$F$%-JLeftInverseGf*F$F$FioF$C$F,-%6JanetO
re/JLeftInverseGF7F$F$F$%+JDimensionGf*F$F$FgpF$C$F,-%4JanetOre/JDimensionGF7F$
F$F$%(JAddRhsGf*F$F$FPF$C$F,-%1JanetOre/JAddRhsGF7F$F$F$%)JTorsionGf*F$F$F;F$C$
F,-%2JanetOre/JTorsionGF7F$F$F$%&JMultGf*F$F$FioF$C$F,-%/JanetOre/JMultGF7F$F$F
$%&JExtnGf*F$F$FPF$C$F,-%/JanetOre/JExtnGF7F$F$F$%+JInvReduceGf*F$F$FPF$C$F,-%4
JanetOre/JInvReduceGF7F$F$F$%8JSubmoduleHilbertSeriesGf*F$F$F)F$C$F,-%AJanetOre
/JSubmoduleHilbertSeriesGF7F$F$F$%3JFactorModuleBasisGf*F$F$FgtF$C$F,-%<JanetOr
e/JFactorModuleBasisGF7F$F$F$%.JRightInverseGf*F$F$FioF$C$F,-%7JanetOre/JRightI
nverseGF7F$F$F$%/JGroebnerBasisGf*F$F$FPF$C$F,-%8JanetOre/JGroebnerBasisGF7F$F$
F$%*JCokernelGf*F$F$FBF$C$F,-%3JanetOre/JCokernelGF7F$F$F$%1JHilbertFunctionGf*
F$F$F[oF$C$F,-%:JanetOre/JHilbertFunctionGF7F$F$F$%/JHilbertSeriesGf*F$F$F[oF$C
$F,-%8JanetOre/JHilbertSeriesGF7F$F$F$%(JKernelGf*F$F$F;F$C$F,-%1JanetOre/JKern
elGF7F$F$F$%(JTabVarGf*F$F$6#%\pCopyright~(C)~2000-2002~by~Carlos~F.~Cid~and~Da
niel~Robertz.~All~rights~reserved.GF$C$F,-%1JanetOre/JTabVarGF7F$F$F$%-JSubmodu
leHPGf*F$F$F)F$C$F,-%6JanetOre/JSubmoduleHPGF7F$F$F$%1JParametrizationGf*F$F$FB
F$C$F,-%:JanetOre/JParametrizationGF7F$F$F$%,JInvolutionGf*F$F$FboF$C$F,-%5Jane
tOre/JInvolutionGF7F$F$F$%)JKaehlerGf*F$F$F;F$C$F,-%2JanetOre/JKaehlerGF7F$F$F$
%-JAnnihilatorGf*F$F$FPF$C$F,-%6JanetOre/JAnnihilatorGF7F$F$F$%,JResolutionGf*F
$F$FPF$C$F,-%5JanetOre/JResolutionGF7F$F$F$%2JSyzygyModuleFastGf*F$F$F]vF$C$F,-
%;JanetOre/JSyzygyModuleFastGF7F$F$F$%%JHasGf*F$F$FPF$C$F,-%.JanetOre/JHasGF7F$
F$F$%+JBasisFastGf*F$F$FPF$C$F,-%4JanetOre/JBasisFastGF7F$F$F$%4JShortestResolu
tionGf*F$F$FhwF$C$F,-%=JanetOre/JShortestResolutionGF7F$F$F$%7JSubmoduleMultipl
icityGf*F$F$F`pF$C$F,-%@JanetOre/JSubmoduleMultiplicityGF7F$F$F$%(JDefectGf*F$F
$F;F$C$F,-%1JanetOre/JDefectGF7F$F$F$%+JSubFactorGf*F$F$FBF$C$F,-%4JanetOre/JSu
bFactorGF7F$F$F$%+JDirectSumGf*F$F$F;F$C$F,-%4JanetOre/JDirectSumGF7F$F$F$%<JSu
bmoduleHilbertPolynomialGf*F$F$F)F$C$F,-%EJanetOre/JSubmoduleHilbertPolynomialG
F7F$F$F$%/JInvReduceFastGf*F$F$FPF$C$F,-%8JanetOre/JInvReduceFastGF7F$F$F$F$
M7R0
I2JanetOre/pnegplexf*6$%"aG%"bG6"6#%jnCopyright~(C)~2002-2010~by~Daniel~Robertz
.~All~rights~reserved.GF'@%/&9$6#"""&9%F.@%2&F-6#""#&F1F5%&falseG%%trueG4-%/Jan
etOre/pplexG6$F-F1F'F'F'F'
M7R0
I?JanetOre/pdegrevlex_entr_blockf*6$%"aG%"bG6%%"iG%$tdaG%$tdbG6#%jnCopyright~(C
)~2006-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C(@&2&%-_jentrblocksG6#&9
$6#""#&F26#&9%F6-%'RETURNG6#%&falseG2F8F1-F=6#%%trueG>8%-%(convertG6$&F56#"""%"
+G>8&-FG6$&F;FJFL@'2FEFNFA2FNFEF<?(8$-%%nopsG6#FI!""FKFC@&2&FQ6#FV&FIFhnFA2FinF
gnF<@$2F4F:F<FCF-F-F-F-
M7R0
IEJanetOre/pdegrevlex_deg_Z_entr_blockf*6$%"aG%"bG6&%"iG%"nG%$tdaG%$tdbG6#%jnCo
pyright~(C)~2006-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C*@&2&%-_jentrb
locksG6#&9$6#""#&F36#&9%F7-%'RETURNG6#%&falseG2F9F2-F>6#%%trueG>8%-%%nopsG6#&F6
6#""">8&-%$addG6$*&&FJ6#8$FL&%*_jovardegGFTFL/FU;FLFF>8'-FP6$*&&&F<FKFTFLFVFLFX
@'2FNFenFB2FenFNF=?(FUFF!""FLFD@&2FinFSFB2FSFinF=@&2-%$absG6#&F<6#""$-Ffo6#&F6F
ioF=2F[pFeoFB@$2F5F;F=FDF.F.F.F.
M7R0
I4JanetOre/lm_negtdegf*6$%"pG%%seqvG6)%#d1G%#d2G%"iG%"jG%"nG%"CG%"LG6#%jnCopyri
ght~(C)~2004-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C)>8)7#-%'coeffsG6%
9$9%.8*>8(-%%nopsG6#F4@$/F>"""-%'RETURNG6$&F46#FDF<>F<7#F<>8'FD?(8&""#FDF>%%tru
eGC%>8$-%'degreeG6$&F<6#FM<#-%#opG6#F:>8%-FV6$&F<6#FOFZ@$52FinFT3/FTFin-&%)Groe
bnerG6#%*testorderG6%FXF\o-%%tdegG6#Fen>FMFO-FF6$&F4FYFXF1F1F1F1
M7R0
I5JanetOre/member_multf*6%%"aG%"LG%%seqvG6'%"bG%"fG%"iG%"jG%"kG6#%jnCopyright~(
C)~2000-2010~by~Daniel~Robertz.~All~rights~reserved.G6"@%-%%typeG6$9$%%listGC&@
$/9%7"-%'RETURNG6#%&falseG>8&"""?(F0FBFBF031FA-%%nopsG6#F5/&F56#FA""!>FA,&FAFBF
BFB@%FEC$?&8$F:%%trueG@$0&FRFKFL@%%2JanetOre/ratcoeffG@%0%0JanetOre/characGFL@$
-%$modG6$-%'DivideG6%FJFV.8%Fen@$34-%$hasG6$F^o9&/-Fhn6$-%'expandG6#*&F^oFBFRFB
FenF5-F=6#FSC$>F^o-%'normalG6#*&FJFBFV!""@$3Fao/-Fbp6#-%$zipG6%f*6$F,F-F06$%)op
eratorG%&arrowGF0,&*&T#FBF5FBFBF:FepF0F06$F*F^oFRF57#-%"$G6$FLFFF]pC$>F^oFap@$3
3Fao-F36$F^o-%(polynomG6#%(integerG/-Fbp6#-F\q6%f*F_qF0F`qF0FcqF0F0FfqFRF5FgqF]
pF?FS@%0F5FLC$?&FRF:FS@$0FRFL@%FX@%FZ@$-Fhn6$-F[o6%F5FRF]oFen@$FaoF]pC$>F^o-Fbp
6#*&F5FBFRFep@$FaoF]pC$>F^oF\t@$F_rF]pF?FSF0F0F0F0
M7R0
I6JanetOre/jnormal_formf*6)%"fG%"FG%%seqvG%(mulprocG%'lmprocG%'ppprocG%(loc_var
G66%"aG%"gG%"hG%"iG%"jG%"kG%"rG%#lgG%#lmG%$divG%'n_entrG%*zero_listG%.rhs_zero_
listG%#lvG%#nlG%#nvG%"HG%"eG%#meG%#hiG6#%\pCopyright~(C)~2000-2010~by~Carlos~F.
~Cid~and~Daniel~Robertz.~All~rights~reserved.G6"C,>%*_jonnformG,&FF"""FHFH>8&9$
>8.-%%nopsG6#&FJ6#FH@$09*7"C'>81<#-%$seqG6$&9&6#&FU6#8'/F]o;FH-FO6#FU>82-FO6#FY
>83-%'removeG6%%$hasGFinFY>84FV>FJ7$-%7JanetOre/cancel_locvarG6%FQFinFU-Fap6%&F
J6#""#FinFU>8/7#-%"$G6$""!FM>807#-F\q6$F^q-FO6#Fep>8*7$FipF`q>8,-9(FP?(FCFHFHFC
0&Fjq6$FgpFHF^qC(>F]oFH>8-%&falseG@$FT>85,&-%$maxG6#-Ffn6$-%'degreeG6$&FQ6#8)FY
/Fds;FHFMFH-%$addG6$&&Fjq6$FHFH6#&FUFcs/Fds;FHFco!""?(FCFHFHFC31F]o-FO6#9%4Fdr@
%-%5JanetOre/pinv_divideG6%&Fgt6$F]o""$&Fgt6$F]o""&&FjqFRC%>%)_joreducG,&FfuFHF
HFH@%FTC,>86,&-F[s6#-Ffn6$-F`s6$&&Fgt6%F]oFHFHFcsFYFesFH-Fhs6$&&Fgt6%F]oF_uFHF]
tF_tFat>87F^q>Fds-FO6#F]p?(FCFHFHFC32F^qF[v2F^qFdsC$@$331&&F]pFcs6#F_uF[v/&&&Fj
wFfpFRFfp&FcuFfp-%8JanetOre/conv_divisibleG6$F^xFcuC$>F\wFds>F[vFiw>Fds,&FdsFHF
atFH@$3Fbw0&FgqFRFip[@$2FhrF[vC$>Fds-9)6%FQFin7$Fep&&FjqFfpFR>F]p7$-%#opGF_w7%7
$&FdsFR&&FdsFfpFR7$Fcu-%'subsopG6$/FH&F`zFfpFgyFhr@%/F\wF^q>FJ-%'expandG6#,&*&&
Fgt6%F]o""'FHFHFJFHFH7$,$**F_rFH&Fjq6$FgpFgpFH&Fgt6%F]oFa[lFgpFatFdvFHFat,$**F_
rFHFe[lFHFg[lFat&Fgt6%F]oFHFgpFHFatFH>FJ-F[[l6#,&*&&&&&F]p6#F\wFfpFfpFRFHFJFHFH
7$,$**F_rFHFe[lFH&Fc\lFfpFat&&Fe\lFRFRFHFat,$**F_rFHFe[lFHFj\lFat&F\]lFfpFHFatF
H>FJ-Fcy6%FQFinFep>FJF_p@$0%0JanetOre/characGF^q>FJ-%$modG6$FJFf]lC%>8%7$-%$map
G6$f*6#F-FC6$%)operatorG%&arrowGFC-T*6$*(&T#F`rFH&F\_lFf[lFH&T&6%T'Fa[lFgpFatFK
FCFC6*F5FjqF&FgtF0F]oF(9'Fdv-F`^l6$f*Fc^lFCFd^lFCFg^lFCFCFb_lF[\l>8+-F\r6#&F]^l
FR@%/Ff]lF^qC$>Fds-%'normalG6#*&&Fh_lF`rFHF_rFat>FJ7$-Fa`l6#,&-F`^l6$f*Fc^lFCFd
^lFC*&F\_lFHFKFHFCFC6$F2FdsFQFHF[`lFat-Fa`l6#,&-F`^l6$f*Fc^lFCFd^lFCF]alFCFCF^a
lFepFH&F]^lFfpFatC$>Fds-Fi]l6$-%'NormalGFb`lFf]l>FJ7$-Fi]l6$-F[bl6#,&-F`^l6$f*F
c^lFCFd^lFCF]alFCFCF^alFQFHF[`lFatFf]l-Fi]l6$-F[bl6#,&-F`^l6$f*Fc^lFCFd^lFCF]al
FCFCF^alFepFHFealFatFf]l>Fdr%%trueG>F]o,&F]oFHFHFH@%Fht@%F]`lC$>Fgq7$-Fcz6$/&Fj
q6$FHFgp-Fa`l6#,&&F\y6#FjclFH*&F_rFHFe[lFHFHF\y&FgqFfp>FJ7$-Fcz6$/Fjcl-Fa`l6#,&
&FQF`dlFHFadlFatFQFepC$>Fgq7$-Fcz6$/Fjcl-Fi]l6$-F[blF]dlFf]lF\yFbdl>FJ7$-Fcz6$/
Fjcl-Fi]l6$-F[blFidlFf]lFQFep@%Fe]l>Fgq-Fi]l6$*&FdsFHFgqFHFf]l>FgqFafl>FjqF[r@'
3/F\yFip0FepF`qC%>Fep&-Fcy6%FepFinFVFR@$3Fgfl4-%5JanetOre/member_multG6%Fep%&J_
HOMGFin>Fcgl7$-F[z6#FcglFep7$F\yF`qFffl7$FipFepC$@$FT>F\y-Fap6%F\yFinFU-Fcy6%F\
yFinFepFC6%FcglFfuFFFCFC
M7R0
IBJanetOre/jnormal_form_evala_lc_lmf*6)%"fG%"FG%%seqvG%(mulprocG%'lmprocG%'pppr
ocG%(loc_varG64%"aG%"hG%"iG%"kG%#lmG%$divG%#stG%'n_entrG%)rhs_entrG%*zero_listG
%.rhs_zero_listG%#lvG%#nlG%#nvG%"HG%"eG%#meG%#hiG6#%jnCopyright~(C)~2000-2010~b
y~Daniel~Robertz.~All~rights~reserved.G6"C.>%*_jonnformG,&FD"""FFFF>8%9$>8*""!>
8+-%%nopsG6#&FH6#FF>8,-FP6#&FH6#""#@$09*7"C'>8/<#-%$seqG6$&9&6#&Fgn6#8&/Feo;FF-
FP6#Fgn>80-FP6#F[o>81-%'removeG6%%$hasGFaoF[o>82Fhn>FH7$-%7JanetOre/cancel_locv
arG6%FRFaoFgn-Fip6%FXFaoFgn>8-7#-%"$G6$FLFN>8.7#-Faq6$FLFV>8)%%trueG>8(-9(FQ?(F
AFFFFFA3Fiq0&F\r6$FZFFFLC&>FeoFF>Fiq%&falseG@$Ffn>83,&-%$maxG6#-F^o6$-%'degreeG
6$&FR6#8'F[o/Ffs;FFFNFF-%$addG6$&&F\r6$FFFF6#&FgnFes/Ffs;FFF[p!""?(FAFFFFFA31Fe
o-FP6#9%4FiqC$@$30FRF^q-%5JanetOre/pinv_divideG6%&Fit6$Feo""$&Fit6$Feo""&&F\rFS
C'>%)_joreducG,&F[vFFFFFF>FK,&FKFFFFFF@%FfnC+>84,&-F]s6#-F^o6$-Fbs6$&&Fit6%FeoF
FFFFesF[oFgsFF-Fjs6$&&Fit6%FeoFduFFF_tFatFct>85FL>Ffs-FP6#Fep?(FAFFFFFA32FLFbv2
FLFfsC$@$332&&FepFes6#FduFbv/&&&FaxFYFSFY&FhuFY-%8JanetOre/conv_divisibleG6$Fex
FhuC$>FcwFfs>FbvF`x>Ffs,&FfsFFFctFF@$2FjrFbvC$>Ffs-9)6%FRFao7$FX&&F\rFYFS>Fep7$
-%#opGFfw7%7$&FfsFS&&FfsFYFS7$Fhu-%'subsopG6$/FF&FbzFYFiyFjr@%/FcwFL>FH-%)simpl
ifyG6#7$,&-%$mapG6$f*6#F-FA6$%)operatorG%&arrowGFA**&T#FcrFF&F[\l6$FZFZFF&T&6%T
'""'FZFctFIFFFAFA6(F1F\rF&FitF/FeoF[wFct-Fb[l6$f*Fe[lFAFf[lFA*&&T$6%T%Fb\lFFFFF
IFFFAFA6&F&FitF/FeoFRFF,&-Fb[l6$f*Fe[lFAFf[lFAFi[lFAFAFc\l&Fit6%FeoFFFZFct-Fb[l
6$f*Fe[lFAFf[lFAFg\lFAFAF\]lFXFF>FH-F][l6#7$,&-Fb[l6$f*Fe[lFAFf[lFA**Fj[lFFF\\l
FF&&&&F[]l6#Fa\lFYFYFYFctFIFFFAFA6(F1F\rF;FepF>Fcw&&&Fep6#FcwFSFSFct-Fb[l6$f*Fe
[lFAFf[lFA*&&&&&F[\l6#F[]lFYFYFSFFFIFFFAFA6&F;FepF>FcwFRFF,&-Fb[l6$f*Fe[lFAFf[l
FAF^^lFAFAFd^l&Ff^lFYFct-Fb[l6$f*Fe[lFAFf[lFAF\_lFAFAFb_lFXFF>FH-Fey6%FRFaoFX>F
HFgp@$0%0JanetOre/characGFL>FH-%$modG6$FHFa`l@%/Fa`lFLC%>Ffs-%'normalG6#-%&eval
aG6#*(FbrFF&F\rF]\lFF&Fit6%FeoFb\lFZFct>FH-%(collectG6%-F[al6#-F^al6#7$,&-Fb[l6
$f*Fe[lFAFf[lFAFg\lFAFAF\]lFRFF-Fb[l6$f*Fe[lFAFf[lFA-F_\l6$F[\lFIFAFA6&F0FfsF(9
'F[wFct,&-Fb[l6$f*Fe[lFAFf[lFAFg\lFAFAF\]lFXFF-Fb[l6$f*Fe[lFAFf[lFAFdblFAFAFfbl
Fa]lFctFao%,distributedG@$1FguFKC$>FHF\`l>FKFLC%>Ffs-Fd`l6$-%'NormalGF\alFa`l>F
H-Ffal6%7$-Fd`l6$-Fjcl6#-F^al6#,&-Fb[l6$f*Fe[lFAFf[lFAFg\lFAFAF\]lFRFF-Fb[l6$f*
Fe[lFAFf[lFAFdblFAFAFfblF[wFctFa`l-Fd`l6$-Fjcl6#-F^al6#,&-Fb[l6$f*Fe[lFAFf[lFAF
g\lFAFAF\]lFXFF-Fb[l6$f*Fe[lFAFf[lFAFdblFAFAFfblFa]lFctFa`lFaoF_cl@$1"#7FKC$>FH
F\`l>FKFL>FiqFjq>F\rF]r>Feo,&FeoFFFFFF@'3/FRF^q0FXFdqC%@$2FLFK>FX&-Fey6%FXFaoFh
nFS@$4-%5JanetOre/member_multG6%FX%&J_HOMGFao>Fcgl7$-F]z6#FcglFX7$FRFdqFefl7$F^
qFX@%FiflF\`lFHFA6%FcglFDF[vFAFA
M7R0
I1JanetOre/checkIBf*6)'%"BG%%listG%%varsG%$varG%&m_ordG%)tup_permG%%seqvG%,forc
e_evalaG6)%"iG%"jG%#G1G%'n_entrG%)rhs_entrG%'no_rhsG%'compatG6#%jnCopyright~(C)
~2000-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C%>8*%%trueG@%543-%)assign
edG6#%)J_T_ListG-%%typeG6$FDF'/-%%nopsGFC""!>F;%&falseGC%>8'-FJ6#&FD6%"""FUFU>8
(-FJ6#&FD6%FUFU""#@%0FP-FJ6#9(>F;FMC)>8)F<>8&FD@$0F[o7#-%"$G6#;FUFP>Fao-%$mapG6
$f*6#F/6#F0F8F8-%'subsopG6$/FU-Fap6$/FU-Fap6$/FU7#-%$seqG6$&&&9$6#FUFbq6#&T$6#8
$/Fgq;FUT%F_qF`qFaqF8F86&F+F[oF2FPFao?(FgqFUFU-FJ6#FaoF<@%0&Fao6%FgqFUFfn7#-Ffo
6$FKFWC$>F_oFM@%/FWFU>Fao-Fap6$/Fgq/-%'expandG6#&Fao6%FgqFUFU-%#opG6#FarFao>Fao
-Fap6$/Fgq/F_sFarFao>Fao-Fap6$/FgqF_sFao@%4F_o?(FgqFUFUFIF<@%4-FF6$&FaoFfq%)equ
ationG@%/FPFU@%Fir>Fao-Fap6$/Fgq/-Fes6#FgtFKFao>Fao-Fap6$/Fgq/FauFcrFao@%Fir>Fa
o-Fap6$/Fgq/FgtFKFao>Fao-Fap6$/Fgq/FgtFcrFao@$Fjt>Fao-Fap6$/Fgq/-Fes6#-Fes6$FUF
gt-Fes6$FfnFgtFao@$Fjt>Fao-F[p6$f*F^pF86$%)operatorG%&arrowGF8-Fes6#FaqF8F8F8Fa
o@$09&9)>Fao-F[p6$f*F_pF8FdwF8-%%subsG6$7#-F\q6$/&T(6#Fjq&FeqFjx/Fjq;FU-FJ6#Feq
FaqF8F86(F)F[xF/FgqF,F\xFao@&5349*0FaoFaq3Fey4-&%'linalgG6#%'iszeroG6#-%)simpli
fyG6#,&FaoFUFaq!"">F;FM2-FJ6#&FD6%FU""$FU-FJ6#F[x-%&ERRORG6#%gpthe~given~involu
tive~basis~was~computed~w.r.t.~a~smaller~number~of~variables~than~nops(var).G@$
4F;-%6JanetOre/AssertJBasisG6%Faq9%9'F8F8F8F8
M7R0
I8JanetOre/JInvReduceFastf*6%%"fG'%"BG%%listG'%%varsGF(68%"aG%"cG%#f1G%"gG%"iG%
"jG%"kG%"rG%"vG%'n_entrG%)rhs_entrG%'no_rhsG%"FG%&m_ordG%%fextG%)tup_permG%$var
G%'compatG%.return_coeffsG%(nocheckG%)entr_posG%*quietmodeG6#%jnCopyright~(C)~2
000-2010~by~Daniel~Robertz.~All~rights~reserved.G6"CC@$0%5JanetOre/initializedG
.%%trueG-%.JanetOre/initGFD>8%%0JanetOre/characG>82Q!FD>81""!>86%&falseG>87FX>8
,-%(convertG6$-%+kerneloptsG6#%(versionG%'stringG>89-%&evalbG6#552FU-%+searchte
xtG6$Q&APPLEFDFfn/-%*substringG6$-Fhn6$-%*interfaceG6#.F]oF^o;""""#GQ=Standard~
Worksheet~InterfaceFD/%4JanetOre/JInvoBasisG%:JanetOre/JBasisFastAssertG?(8(""%
Ffp9#FJ@)5-%%typeG6$&9"6#F]q%(integerG-Fcq6$FeqF(>FTFeq-Fcq6$Feq%)equationG@)/-
%#opG6$FfpFeqQ%NameFDC$@$4-Fcq6$-Fbr6$""#FeqF^o-%&ERRORG6#%Fexpecting~a~string~
for~option~"Name".G>FQFjr/FarQ%charFD>FNFjr/FarQ&quietFDC$@$4-Fcq6$Fjr%(boolean
G-F^s6#%Lexpecting~boolean~value~for~option~"quiet".G>F`oFjr-F^s6#%0invalid~opt
ion.G-Fcq6$FeqF^oC$>80Feq?(8*FfpFfp-%'lengthG6#FhtFJ@(/&Fht6#FjtQ"CFD>FWFJ/F`uQ
"LFD>FZFJ0F`uQ"SFDFatFat@$5330FTFU0FTF\s0FTF^qFW-%'RETURNG6#-%6JanetOre/JInvolR
educeG6#Ffq>85-%5JanetOre/checkIBfastG6(9%9&FNFTFQFZ>8-&Fgv6#F\s>8.&Fgv6#""$>8/
&Fgv6#F^q>84&Fgv6#""&>83&Fgv6#""'>88&Fgv6#"")@$55-Fcq6$&Fgv6#""(F(2Ffp-%%nopsG6
#Fex3/FbyFfp0&Fex6#FfpF^wF`v>Ffn-F]p6$Ffn;FfpFhx@'-Fcq6$9$F(@%2FU-Fcy6#F[w@%333
533-Fcq6$&F[wFiyF^r-Fcq6$-Fbr6$FfpF_[lF(2Ffp-Fcy6#Fb[l3-Fcq6$F_[lF(2Ffp-Fcy6#F_
[l2FU-Fcy6#Faz4-Fcq6$&FazFiyF^r4-Fcq6$Fc\lF(>8&7#Faz>Fh\lFaz@%333F]\lF`\lFd\l2F
fpF^w>Fh\lFi\l>Fh\lFaz5-Fcq6$Faz%'matrixG330FfnQ)Maple~V,FD0FfnQ)Maple~6.FD-Fcq
6$Faz%'MatrixG>Fh\l-Fhn6$Faz%)listlistG>Fh\lFi\l>Fht-%3JanetOre/procinputG6#Fh\
l@$0&FhtFiyF^w-F^s6#%Bf~has~wrong~number~of~components.G@$4&FhtFdwC$@$Fgw-F^s6#
%Jinvolutive~basis~has~no~right~hand~sides.G@$0&FhtF`wFbw-F^s6#%Pright~hand~sid
e~has~wrong~number~of~components.G@$0&FhtFbx7"-F^s6#%gnJInvReduceFast~cannot~co
mpute~in~algebraic~field~extensions.G@$0-%&minusG6$<#-Fbr6#&FhtF_y<#-Fbr6#F[x<"
-F^s6#%\oJInvReduceFast~cannot~compute~in~transcendental~field~extensions.G@$0F
`x7#-%"$G6#;FfpF^w>Fht-%'subsopG6$/F^q-%$mapG6$f*6#F06#F1FDFD-F\bl6$/Ffp7#-%$se
qG6$&Fc\l6#&T#6#8$/Facl;FfpT%FazFDFD6&F;F`xF5F^w&FhtFiwFht@$-%$hasG6$-F`bl6$f*6
#F,FD6$%)operatorG%&arrowGFD3-Fcq6$Fc\l-F(6#-%(polynomG6$%)anythingGF_cl-Fcq6$&
FazF`wFedlFDFD6$F<F[xFfclFX-F^s6#-%$catG6%%Sexpecting~a~(list~(of~lists)~of)~po
lynomial(s)~in~G-Fhn6$F[xF^o%4~as~first~argument.G@%Fgw@%/F^wFfp>8'-F`bl6$f*F^d
lFDF_dlFD&Fc\lFiyFDFDFD-%'expandG6#Ffcl>F\fl-F`bl6$f*F^dlFDF_dlFDFc\lFDFDFDFafl
@%F`_l>F\fl-F`bl6$f*F^dlFDF_dlFD7$-Fbr6#Fc\l-Fgal6$FUF_clFDFD6$F6FbwFfcl>F\fl-F
`bl6$f*F^dlFDF_dlFD-F`bl6$FbrFazFDFDFDFfcl@$4&FgvFiy@%0FQFR-%4JanetOre/JBasisFa
stG6'F[wF\w/FdrFQ/FcsFN/FfsF`o-F_hl6&F[wF\wFbhlFchl>8+-%7JanetOre/cppJInvReduce
G6%F\flFQF`o@$Fdal>F`x-F`bl6$f*FcblFdblFDFDC$-%'memberG6%FazF_cl.FaclFaclFDFD6$
F;F`xFeal?(FjtFfpFfp-Fcy6#FghlFJ@%-Fcq6$&Fh\lFauF^r@%FjelC%>F\fl&&FghlFauFiy@$-
Fcq6$-Fbr6$FfpF\jlF(>F\fl7#F\fl@%/FbwFfp@%-Fcq6$-Fbr6$F\sF\jlF(>Fghl-F\bl6$/Fjt
/F\fl7#&FajlF`wFghl>Fghl-F\bl6$/Fjt/F\flFf[mFghl>Fghl-F\bl6$/Fjt/F\fl&Fajl6#;F\
s,&F^wFfpFbwFfpFghlC%>F\fl&FajlFhal@$Fdal>F\fl7#-Fjbl6$&F\fl6#&F`x6#8)/Fa]mFial
@%Fjjl@%F\[m>Fghl-F\bl6$/Fjt/F\fl7#&Fajl6#,&F^wFfpFfpFfpFghl>Fghl-F\bl6$/Fjt/F\
flF[^mFghl>Fghl-F\bl6$/Fjt/F\fl&Fajl6#;F]^mFd\mFghl@%Fjel@%Fgw@%-Fcq6$F\jlF(>Fg
hl-F\bl6$/Fjt7#FajlFghl>Fghl-F\bl6$/FjtFajlFghl@%F^_m>Fghl-F\bl6$/Fjt7#F`jlFghl
>Fghl-F\bl6$/FjtF`jlFghlC%>F\flFg\m@$Fdal>F\flFj\m>Fghl-F\bl6$/FjtF\flFghl@)F_z
@%345Fa\l-FcqFa^l-Fcq6$Fh\lFb^l-FbrFhilFghlFc]l-Fe]lFhilFf]l-Fhn6$FghlF^^lFcamF
DFDFDFD
M7R0
I?JanetOre/jjanet_separ_exteriorf*6(%&m_ordG%&N_OrdG%%seqvG%(mulprocG%'lmprocG%
-var_exteriorG6+%"iG%"jG%"lG%"kG%'mod_rkG%"JG%"QG%"SG%,bKeepZeroesG6#%\pCopyrig
ht~(C)~2000-2010~by~Carlos~F.~Cid~and~Daniel~Robertz.~All~rights~reserved.G6"C.
@%32""'9#-%%typeG6$&9"6#""(%(booleanG>8,FA>FG%&falseG@$3/%*jnumber_tG"""4FG-%'R
ETURNG6#7"@$309$FN0FW""$>%)J_T_ListG-%%sortG6$Fen%0JanetOre/pplex3G>8(-%%nopsG6
#&Fen6%FNFNFN>8)7#-%$seqG6$FS/8$;FNF[o?(FhoFNFNFM%%trueGC$>8'&Fen6%FhoFY""#>Fbo
-%'subsopG6$/F^p7$-%#opG6#&Fbo6#F^p&Fen6#FhoFbo>8*FS>FenFS?(8%FNFNF[oF[pC%>8+-%
=JanetOre/jjanet_div_exteriorG6(&Fbo6#Fcq9&9'9(9)FG>F`q7$-Fip6#F`q-Fip6#&Ffq6#F
ap>Fen7$-Fip6#Fen-Fip6#&Ffq6#FN>FM-F]oF[s>Fen-Fgn6$Fen9%-FQFcrF76$FenFMF7F7
M7R0
I5JanetOre/JPrincDerivf*6"F$6#%jnCopyright~(C)~2000-2010~by~Daniel~Robertz.~All
~rights~reserved.GF$-%1JanetOre/JTabVarGF$F$F$F$F$
M7R0
I.JanetOre/JHasf*6%%"GG'%%varsG%%listG'%#viGF(66%"aG%"iG%"lG%"FG%#NGG%$varG%%va
r2G%(var_ordG%'vt_degG%(deg_ordG%'lmprocG%,force_evalaG%)tup_permG%'n_entrG%)rh
s_entrG%'no_rhsG%%seqvG%&m_ordG%*tmp_jnvarG%)entr_posG6#%jnCopyright~(C)~2000-2
010~by~Daniel~Robertz.~All~rights~reserved.G6"CC>8'-%3JanetOre/procinputG6#9$>8
1&FE6#""">82&FE6#""#>83&FE6#""$>8/&FE6#""&>8)-%2JanetOre/procvarsG6$9%FK>8+&Fin
FR>8,&FinFW>8-&Fin6#""%>80&FinFfn>87&Fin6#""'>Fin&FinFM>86%'_jnvarG>Fep-%%nopsG
6#Fin>847#-%$seqG6$-%$catG6$%#_xG8%/Fdq;FNFep>F_o-%%subsG6$7#-F^q6$/&Fin6#FdqF`
qFeqF_o>FE-%(collectG6%&FEFgoFin%,distributedG@%0F[qFinC$>FE-%$mapG6$f*6#F,FB6$
%)operatorG%&arrowGFB-Fiq6$7#-F^q6$/&T%6#T#-Faq6$FcqF\t/F\tFfqFIFBFB6&F-FdqF1Fi
nFE>8*-F\s6$f*F_sFBF`sFBFcsFBFBF`t9&>FbtFft@%/F_o7">85Fho>F\u7#-%"$G6$Fho-Fhp6#
F_o?(FdqFhoFN9#%%trueG@'5-%%typeG6$&9"F`r%(integerG-Fju6$F\vF(>F\uF\v-Fju6$F\v%
'stringGC$>8&F\v?(8$FNFN-%'lengthG6#FgvFfu@&/&Fgv6#FivQ"SFB>FZFfu0F_wQ!FB-%&ERR
ORG6#%?option~must~be~the~string~"S".G-Ffw6#%0invalid~option.G>Fgv-%1JanetOre/p
rocordG6*F\uFinF_oFboFeoF[qF]p4FZ@$&FgvFgo>F]pFjt@$/&Fbo6#;,&FepFNFNFN,&FepFNFK
FN7#-F`u6$""!FK>FboF^y>8.-%&parseG6#-Faq6/Q<g->`JanetOre/j_lead_mon`(g,FB-%(con
vertG6$FKFdvQ",FB-Fiy6$F[qFdvF[z-Fiy6$&FgvFMFdvF[z-Fiy6$F]pFdvF[z-Fiy6$&FgvFfnF
dvF[z-Fiy6$FboFdvQ")FB@$0Fjo7#-F`u6#;FNFK>FE-F\s6$f*6#F-6#%"jGFBFB-%'subsopG6$/
FN7#-F^q6$&&FIFM6#&F\tF`w/Fiv;FNFjsFIFBFB6&F8FjoF9FKFE>8(Fjt?(FdqFNFN-Fhp6#FEFf
uC$>Fgv-Fay6#&&FEF`rFM@$-%$hasG6$&Fgv6$FSFSFbt>Fe\l7$-%#opG6#Fe\lF^]l@$Fhr>Fe\l
-F\s6$f*F_sFBF`sFB-Fiq6$7#-F^q6$/-Faq6$FcqFjs&F\t6#Fjs/FjsFfqFIFBFB6&F1FinF-Fdq
Fe\l@$FjzC$>Fjo-F\s6$f*Fc[lFd[lFBFBC$-%'memberG6%FIF\t.FivFivFBFB6$F8FjoF[[l>Fe
\l-F\s6$f*Fc[lFd[lFBFBFf[lFBFBFc\lFe\l@$/FKFN>Fe\l-F\s6$f*F_sFBF`sFB-Fg[l6$/FN-
Fh]l6#F^\lFIFBFBFBFe\l@%FU>Fe\l-F\s6$f*F_sFBF`sFBF^\lFBFBFBFe\l@%/FPFN>Fe\l-F\s
6$f*F_sFBF`sFB/F^\l-Fh]l6#&FIFRFBFBFBFe\l>Fe\l-F\s6$f*F_sFBF`sFB/F^\lFdalFBFBFB
Fe\l>FepFdp-%'RETURNGFi]lFB6#FepFBFB
M7R0
I5JanetOre/setup_basisf*6$%"BG%"vG61%"FG%,force_evalaG%2tmp_J_T_List_dataG%%var
sG%(var_ordG%'vt_degG%%seqvG%)entr_posG%$varG%&m_ordG%"iG%"jG%"lG%"TG%'lmprocG6
#%jnCopyright~(C)~2006-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C8>8$-%3J
anetOre/procinputG6#9$>8%&F<6#""&@%4-%)assignedG6#%)J_T_ListG>8&7">FM73FK%*jnum
ber_tG%)JTab_VarG%'_jnvarG%'_jpvarG%)_jvardegG%)_jtupdegG%-_jentrblocksG%&J_HOM
G%*_jpno_rhsG%1_jpforce_collectG%/_jpforce_evalaG%*_jinv_denG%._JBOre_factorG%6
_JBOre_factor_multvarG%+_JBOre_varG%-_JBOre_compaG>Fgn.Fgn>Fhn.Fhn>Fin.Fin>Fjn.
Fjn>8'-%2JanetOre/procvarsG6$9%&F<6#""">8(&Fdo6#""#>8)&Fdo6#""$>8+&Fdo6#""'>8,&
FdoFjo>8*7#-%$seqG6$-%$catG6$%#_xG8./Fhq;F[p-%%nopsG6#F\q>F]p-%%subsG6$7#-Fbq6$
/&F\q6#Fhq&F_qFgrFiqF]p@%/F]pFN>8-""%>F\s7#-%"$G6$F]s-F\r6#F]p?(FhqFepF[p9#%%tr
ueG@'5-%%typeG6$&9"Fgr%(integerG-F[t6$F]t%%listG>F\sF]t-F[t6$F]t%'stringGC$>81F
]t?(8/F[pF[p-%'lengthG6#FitFgs@&/&Fit6#F[uQ"SF9>FBFgs0FauQ!F9-%&ERRORG6#%?optio
n~must~be~the~string~"S".G-Fhu6#%0invalid~option.G>80-%1JanetOre/procordG6*F\sF
\qF]pFcp&Fdo6#F]sF_qFgp4FB@$&F_vFdv>FgpFN@$/&Fbp6#;,&F[rF[pF[pF[p,&F[rF[pFioF[p
7#-Fas6$""!Fio>FbpFcw>82-%&parseG6#-Feq6/Q<g->`JanetOre/j_lead_mon`(g,F9-%(conv
ertG6$FioFftQ",F9-F^x6$F_qFftF`x-F^x6$&F_vFjoFftF`x-F^x6$FgpFftF`x-F^x6$&F_vFDF
ftF`x-F^x6$FbpFftQ")F9-%7JanetOre/setupJ_T_ListG6*&F<FdvFio&F<F_pFfw&F_vFdp&Fdo
FDF\q&F<Fdp6$FMF\qF96&FgnFhnFinFjnF9F9
M7R0
I5JanetOre/jets_getbasf*6$%$_KMG%$slsG6*%#KMG%#nrG%#ncG%#GMG%#rkG%#zlG%#vsG%#sl
G6#%inCopyright~(C)~2000-2002~by~Gehrt~Hartjen.~All~rights~reserved.G6"C.>8$-%4
JanetOre/jets_mkmatG6#9$>8*7">8+9%>8%-&%'linalgG6#%'rowdimG6#F5>8&-&FD6#%'coldi
mGFG@$0-%%nopsG6#F?FA-%&ERRORG6#%enThere~must~be~as~many~names~(2nd~argument)~a
s~matrix~rows!G>8'-&FD6#%*gausselimG6$-&FD6#%(augmentG6$F5-%&arrayG6%;"""FAF`o%
)identityGFI>8(-%4JanetOre/jets_grankG6#-&FD6#%*submatrixG6%FXF`o;FaoFI>8)-%6Ja
netOre/jets_zerocolG6#-Fio6%FX;FaoFdo;,&FIFaoFaoFao,&FAFaoFIFao>F;7$-%#opG6#F;-
F\q6#-%$mapG6$f*6#%"iGF26$%)operatorG%&arrowGF2-%(convertG6$-%$zipG6%f*6$%"aG%"
bGF2FfqF2*&F9FaoF?FaoF2F2F2-Fjq6$-&FD6#%*subvectorG6%T#F9;,&T%FaoFaoFao,&F^sFao
T'Fao%%listGT)%"+GF2F26*F+FXF*FIF)FAF/F>7#-%"$G6#;,&FdoFaoFaoFaoFA>F>-%'subsopG
6$-F\q6#-Faq6$f*FdqF2FfqF2/F9%%NULLGF2F2F2F_pF>7$F>F;F2F2F2F2
M7R0
I;JanetOre/jets_kroneckermatf*6$%#_AG%#_BG6'%"AG%"BG%"rG%"cG%"ZG6#%fnCopyright~
(C)~2003~by~Mohamed~Barakat.~All~rights~reserved.G6"C(>8$-%4JanetOre/jets_mkmat
G6#9$>8%-F46#9%>8&-&%'linalgG6#%'rowdimG6#F2>8'-&F@6#%'coldimGFC>8(-%'matrixG6#
7#-%"$G6$7#-FQ6$""!-FG6#F8-F?FX@%/%4JanetOre/matrixtypeG%'MatrixG-%(convertG6$-
&F@6#%,blockmatrixG6%F=FE-%$mapG6$f*6#%"aGF/F/F/C$-%)simplifyG6#-%&evalmG6#*&T#
"""F6F_p@%/%"%GFVT%FbpF/F/6&F)F8F,FK-Fao6$%#opG-Fin6$F2%)listlistGFgn-F\o6%F=FE
-Fao6$f*FdoF/F/F/C$Fgo@%FapFcpFbpF/F/FdpFepF/F/F/F/
M7R0
I3JanetOre/JCheckHomf*6&%#_MG%#_AG%#_NG'%$varG%%listG6'%"MG%"AG%"NG%#ING%$opsG6
#%[oCopyright~(C)~2003-2010~by~Mohamed~Barakat.~All~rights~reserved.G6"C(>8$-%$
mapG6$f*6#%"aGF36$%)operatorG%&arrowGF3&9$6#"""F3F3F3&-%3JanetOre/procinputG6#F
A6#""%>8%-F86$f*F;F3F=F3F@F3F3F3&-FF6#9%FH>8&-F86$f*F;F3F=F3F@F3F3F3&-FF6#9&FH@
%2FI9#>8(&9"6#""&>Fjn%%NULLG>8'-%0JanetOre/JBasisG6%FT9'Fjn-%)simplifyG6#-F86'%
4JanetOre/JInvReduceG-%(convertG6$-%&evalmG6#-%#&*G6$F6FK%)listlistGFboFfoFjnF3
F3F3F3
M7R0
I4JanetOre/JFactorizef*6%%$_R1G%$_R2G'%$varG%%listG6,%"aG%"iG%"vG%$opsG%#R1G%#R
2G%"JG%"FG%"NG%'n_entrG6#%\pCopyright~(C)~2006-2010~by~Alban~Quadrat~and~Daniel
~Robertz.~All~rights~reserved.G6"C,@%2""$9#>8'&9"6#""%>F>%%NULLG>8(-%$mapG6$f*6
#F+F76$%)operatorG%&arrowGF7&9$6#"""F7F7F7&-%3JanetOre/procinputG6#FPFA>8)-FU6#
9%>8-&FXFQ>FX-FH6$f*FKF7FLF7FOF7F7F7&FXFA>8*-%0JanetOre/JBasisG6%-%1JanetOre/JA
ddRhsG6#FX9&F>>8+7"?(8%FRFR-%%nopsG6#FF%%trueGC%>8,-%4JanetOre/JInvReduceG6&/&F
F6#F[p7#-%"$G6$""!-F]pFeoF_oFfoF>@$0-%$lhsG6#Fbp7#-F[q6$F]qFgn-%'RETURNG6#%%FAI
LG>Fho7$-%#opG6#Fho-FH6$f*FKF7FLF7,$FP!""F7F7F7-%$rhsGFcq>8&-%*substringG6$-%(c
onvertG6$-%+kerneloptsG6#%(versionG%'stringG;FR"")@'5-%%typeG6$FP%'matrixG-Fis6
$FenF[t-%%copyG6#-F[tF_r330FhrQ)Maple~V,F70FhrQ)Maple~6.F75-Fis6$FP%'MatrixG-Fi
s6$FenF[u-F_t6#-F[uF_rFhoF7F7F7F7
M7R0
IDJanetOre/simp_jnormal_form_Z_nonnegf*6)%"fG%"FG%%seqvG%(mulprocG%'lmprocG%'pp
procG%(loc_varG6+%"aG%"hG%"iG%"lG%"rG%#lmG%$divG%*zero_listG%.rhs_zero_listG6#%
jnCopyright~(C)~2004-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C*>%*_jonnf
ormG,&F;"""F=F=>8%9$>8+7#-%"$G6$""!-%%nopsG6#&F?6#F=>8,7#-FE6$FG-FI6#&F?6#""#>8
(7$FBFN>8)-9(FJ?(F8F=F=F80&Fen6$FVF=FGC'>8&F=>8*%&falseG?(F8F=F=F831F^o-FI6#9%4
F`oC$@$-%5JanetOre/pinv_divideG6%&Fgo6$F^o""$&Fgo6$F^o""&&FenFLC%>%)_joreducG,&
FgpF=F=F=>8'-%%iquoG6$Fjn&Fgo6%F^o""'F=@&0FjpFGC$>F?-%(collectG6%7$-%'normalG6#
,&FKF=-%$mapG6$f*6#F-F86$%)operatorG%&arrowGF8**T#F=&T%6$FVFVF=&T(6%T)F`qFV!""F
@F=F8F86*F0FjpF2FenF&FgoF/F^o&Fgo6%F^oF=F=F^s-Fjq6#,&FTF=-F^r6$f*FarF8FbrF8FerF
8F8F_s&Fgo6%F^oF=FVF^s9&%,distributedG>F`o%%trueG/-%%signG6#FjnF^sC$>F?-Ffq6%7$
-Fjq6#,&FKF=-F^r6$f*FarF8FbrF8**-F`t6#&T$6%FhrF`qF=F=&T'FirF=&Fau6%FhrF`qFVF^sF
@F=F8F86(F&FgoF/F^oF2FenF`sF=-Fjq6#,&FTF=-F^r6$f*FarF8FbrF8F]uF8F8FguFhsF=FjsF[
t>F`oF]t>F^o,&F^oF=F=F=@$FhoC$>FX7$-%'subsopG6$/&Fen6$F=FV-Ffq6%,&&&FXFL6#FivF=
*&FjnF=&FenFirF=F=FjsF[tF_w&FXFU>F?7$-Ffv6$/Fiv-Ffq6%,&&FKF`wF=FawF^sFjsF[tFKFT
>FenFfn@'3/F_wFB0FTFNC$@$4-%5JanetOre/member_multG6%FT%&J_HOMGFjs>Fhx7$-%#opG6#
FhxFT7$F_wFNF`x7$FBFT7$F_wFTF86%FhxF;FgpF8F8
M7R0
I<JanetOre/JShorterResolutionf*6$'%"FG%%listG'%%varsGF'6'%"iG%"jG%"lG%"vG%%beta
G6#%\pCopyright~(C)~2004-2010~by~Alban~Quadrat~and~Daniel~Robertz.~All~rights~r
eserved.G6"C&>8'-%*substringG6$-%(convertG6$-%+kerneloptsG6#%(versionG%'stringG
;""""")@$45-%%typeG6$9$-F'6#%'matrixG330F5Q)Maple~V,F20F5Q)Maple~6.F2-FH6$FJ-F'
6#%'MatrixG-%&ERRORG6#%]oexpecting~a~free~resolution~as~list~of~matrices~as~fir
st~argument.G>8&-%%nopsG6#FJ@%1FhnFBFJC$>8(-%7JanetOre/JRightInverseG6$&FJ6#FB&
9"6#;""#!""@%/F`o%%FAILGFJ@%/FhnFjo7#-F:6$-%$zipG6%f*6$F+F,F26$%)operatorG%&arr
owGF27$-%#opGF[o-F^q6#9%F2F2F2-F:6$&FJ6#Fjo%)listlistG-F:6$F`oFfq%4JanetOre/mat
rixtypeG7%-F:6$-Fep6%f*FhpF2FipF2F\qF2F2F2FbqFgqFiq-F:6$7$-F^q6#-F:6$&FJ6#""$Ff
q-%"$G6$7#-F[s6$""!-&%'linalgG6#%'coldimG6#Fgr-Fbs6#F`oFiq-%$seqG6$-%%copyG6#&F
J6#8$/Fat;""%FhnF2F2F2F2
M7R0
I3JanetOre/block_cmpf*6&%#_aG%#_bG%(var_ordG%%cmpsG6(%"aG%"bG%#apG%#bpG%"iG%"vG
6#%jnCopyright~(C)~2004-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C&>8$9$>
8%9%?(8("""F<-%%nopsG6#9'%%trueGC&@$4-&F@6#F;6$F5F8-%'RETURNG6#%&falseG@'-%%typ
eG6$F5%"*G>8&-%'selectG6%%$hasGF5&9&FG-FO6$F5%"^G@%4-%'memberG6$-%#opG6$F<F5FX>
FSF<>FSF5@%4-Fjn6$F5FX>FSF<>FSF5@'-FO6$F8FQ>8'-FU6%FWF8FX-FO6$F8Ffn@%4-Fjn6$-F]
o6$F<F8FX>F[pF<>F[pF8@%4-Fjn6$F8FX>F[pF<>F[pF8@$0FSF[p-FJ6#FAF`qF2F2F2F2
M7R0
I:JanetOre/onemult_exteriorf*6%%$posG%)exponentG%-var_exteriorG6"6#%gnCopyright
~(C)~2006-2010~by~Arne~Lorenz.~All~rights~reserved.GF(@%-%'memberG6$9$9&@%2""!9
%F3"""%)infinityGF(F(F(F(
M7R0
I0JanetOre/is_opsf*6#%$opsG6#%"iG6#%jnCopyright~(C)~2007-2010~by~Daniel~Robertz
.~All~rights~reserved.G6"3-%%typeG6$9$%%listG5/F/7"3-F-6$F/-F06#%)functionG/-%&
minusG6$<#-%#opG6#-%$mapG6$f*F&F*6$%)operatorG%&arrowGF*-F@6$""!F/F*F*F*F/<(.%%
weylG.%&shiftG.%)backdiffG.%)forwdiffG.%&eulerG.%)exteriorG<"F*F*F*F*
M7R0
I1JanetOre/procordf*6*%&m_ordG%$varG%)seqv_ordG%'vt_degG%(deg_ordG%%seqvG%)entr
_posG%/default_lmprocG6+%#_aG%#_bG%#_cG%"aG%(loc_varG%$sepG%&B_OrdG%&N_OrdG%"TG
6#%jnCopyright~(C)~2002-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C$@$553/
9&7"-%%typeG6$9$%%listG30F@FA-FC6$FE%(integerG33-FC6$F@FFFB0-%%nopsG6#F@-FR6#FE
-%&ERRORG6#%^rthe~term~order~must~be~specified~by~a~list~of~integers~whose~numb
er~of~elements~equals~the~number~of~lists~in~vars.G@'FIC'@$4-%'memberG6$FE7$-%"
$G6#;"""""%-F]o6#;!"%!""-FW6#%ipinvalid~term~order;~valid~parameters~are~the~in
tegers~1,~2,~3,~4,~-1,~-2,~-3,~-4;~see~?JBasis.G@$309'7$-F]o6$F`o-FR6#9%-F]o6$"
"!,&-FR6#F]pF`oFapFfo/-%$modG6$FE""#F`o-FW6#%ioassigning~degrees~to~variables~o
r~tuples~is~not~allowed~in~the~pure~lex.~case.G>8,-%7JanetOre/proctermorderG6(F
E9)&F]p6#;F`oFap&F]p6#;,&FapF`oF`oF`oFfo9*9+@%2FEFfp>8(7#-F]oFiq>FdrFA-%'RETURN
G6#7(&Fcq6#F`o-%&parseG6#-%$catG6%Q+(_a,_b)->`F9-%(convertG6$&Fcq6#F^q%'stringG
Q/`(_a[3],_b[3])F9-F_s6#-Fbs6%Fds-Ffs6$&Fcq6#FaoFjsF[t&Fcq6#""'&Fcq6#""(FdrFBC)
@$F\p-FW6#%ioassigning~degrees~to~variables~or~tuples~is~not~supported~for~bloc
k~orderings.G>Fcq7#-%$seqG6$-Feq6(&FE6#8'&F@Fgu&9(Fgu7#FdpF_rF`r/Fhu;F`oFT@$2F`
o-FR6#<#-%#opG6#-%$mapG6$f*6#F1F96$%)operatorG%&arrowGF9&FEFetF9F9F9Fcq-FW6#%_o
term~orders~of~type~POT~and~TOP~cannot~be~composed~to~a~block~order.G>FdrFA?(Fh
uF`oF`oFT%%trueGC$@%/FhuF`o>8)7#-FR6#&F@F]s>Fjw7$-Fev6#Fjw,&&Fjw6#FfoF`o-FR6#Fi
uF`o@$2FfuFfp@%1F^qFhu>Fdr7$-Fev6#Fdr-F]o6#;,&&Fjw6#,&FhuF`oFfoF`oF`oF`oF`o&Fjw
Fgu>Fdr7$F^y-F]o6#;F`oFgy@%%2JanetOre/ratcoeffGC$@%&F\sFet>8*-F_s6#-Fbs6'QO(_a,
_b)->`JanetOre/block_ord_POT`(_a[3],_b[3],F9-Ffs6$FjwFjsQ",F9-Ffs6$-Fhv6$f*F[wF
9F\wF9&FE6#""&F9F9F9FcqFjsQ")F9>Fcz-F_s6#-Fbs6'QK(_a,_b)->`JanetOre/block_ord`(
_a[3],_b[3],F9FizF[[l-Ffs6$-Fhv6$f*F[wF9F\wF9Fa[lF9F9F9FcqFjsFd[l>8+-F_s6#-Fbs6
'Fj[lFizF[[l-Ffs6$-Fhv6$f*F[wF9F\wF9&FE6#""$F9F9F9FcqFjsFd[lC$@%Faz>Fcz-F_s6#-F
bs6'QQ(_a,_b)->`JanetOre/block_ord_Z_POT`(_a[3],_b[3],F9FizF[[l-Ffs6$-Fhv6$f*F[
wF9F\wF9Fa[lF9F9F9FcqFjsFd[l>Fcz-F_s6#-Fbs6'QM(_a,_b)->`JanetOre/block_ord_Z`(_
a[3],_b[3],F9FizF[[l-Ffs6$-Fhv6$f*F[wF9F\wF9Fa[lF9F9F9FcqFjsFd[l>Fa\l-F_s6#-Fbs
6'F`^lFizF[[l-Ffs6$-Fhv6$f*F[wF9F\wF9F[]lF9F9F9FcqFjsFd[l-Fir6#7(-F_s6#-Fbs6)Q<
_c->`JanetOre/jleadmon`(_c,F9-Ffs6$FgqFjsQF,(_a,_b)->`JanetOre/block_cmp`(_a,_b
,F9-Ffs6$F@FjsF[[l-Ffs6$-Fhv6$f*F[wF9F\wF9&FEFhtF9F9F9FcqFjsQ#))F9-%%evalG6#Fa\
l-Fe`l6#FczFaz-F_s6#-Fbs6'QE(_a,_b)->`JanetOre/block_cmp`(_a,_b,F9F[`lF[[l-Ffs6
$-Fhv6$f*F[wF9F\wF9Fb`lF9F9F9FcqFjsFd[lFdr-FW6#%ioexpecting~an~integer~or~a~lis
t~of~integers~as~specification~of~the~term~order.GF9F9F9F9
M7R0
I>JanetOre/jnormal_form_poly_lmf*6)%"fG%"FG%%seqvG%(mulprocG%'lmprocG%'ppprocG%
(loc_varG69%"aG%#caG%#cbG%"eG%"gG%"hG%"iG%"kG%#lgG%#lmG%(termo_hG%$divG%#stG%+n
o_contentG%'n_entrG%*zero_listG%.rhs_zero_listG%#lvG%#nlG%#nvG%"HG%#meG%#hiG6#%
jnCopyright~(C)~2000-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C.>%*_jonnf
ormG,&FI"""FKFK>8)9$>82-%%nopsG6#&FM6#FK@$09*7"C'>85<#-%$seqG6$&9&6#&FX6#8*/F`o
;FK-FR6#FX>86-FR6#Ffn>87-%'removeG6%%$hasGF\oFfn>88FY>FM7$-%7JanetOre/cancel_lo
cvarG6%FTF\oFX-Fdp6%&FM6#""#F\oFX>837#-%"$G6$""!FP>847#-F_q6$Faq-FR6#Fhp>81%%tr
ueG>8/F[r>8--9(FS>8.*&&F_r6$FjpFKFK&F_r6$FjpFjpFK?(FFFKFKFF3F]r0FerFaqC&>F`oFK>
F]r%&falseG@$FW>8',&-%$maxG6#-Fin6$-%'degreeG6$&FT6#8+Ffn/F^t;FKFPFK-%$addG6$&&
F_r6$FKFK6#&FXF]t/F^t;FKFfo!""?(FFFKFKFF31F`o-FR6#9%4F]rC$@$30FTF\q-%5JanetOre/
pinv_divideG6%&Fau6$F`o""$&Fau6$F`o""&&F_rFUC(>%)_joreducG,&FcvFKFKFK@%FWC+>89,
&-Fes6#-Fin6$-Fjs6$&&Fau6%F`oFKFKF]tFfnF_tFK-Fbt6$&&Fau6%F`oF\vFKFgtFitF[u>8:Fa
q>F^t-FR6#F`p?(FFFKFKFF32FaqFhv2FaqF^tC$@$331&&F`pF]t6#F\vFhv/&&&FgxFipFUFip&F`
vFip-%8JanetOre/conv_divisibleG6$F[yF`vC$>FiwF^t>FhvFfx>F^t,&F^tFKF[uFK@$2FbsFh
vC$>F^t-9)6%FTF\o7$Fhp&&F_rFipFU>F`p7$-%#opGF\x7%7$&F^tFU&&F^tFipFU7$F`v-%'subs
opG6$/FK&FhzFipF_zFbs@%/FiwFaq>FM-%'expandG6#,&*&&Fau6%F`o""'FKFKFMFKFK7$,$*(Fc
rFK&Fau6%F`oFi[lFjpF[uFawFKF[u,$*(FcrFKF]\lF[u&Fau6%F`oFKFjpFKF[uFK>FM-Fc[l6#,&
*&&&&&F`p6#FiwFipFipFUFKFMFKFK7$,$*(FcrFK&Fi\lFipF[u&&F[]lFUFUFKF[u,$*(FcrFKF`]
lF[u&Fb]lFipFKF[uFK>FM-F[z6%FTF\oFhp>FMFbp@$0%0JanetOre/characGFaq>FM-%$modG6$F
MF\^l@%/F\^lFaqC'>F^t-%'normalG6#*&FgrFKF]\lF[u>8(-Ff^l6#7$-%$mapG6$f*6#F-FF6$%
)operatorG%&arrowGFF-T&6$T#FNFFFF6&F4F^tF(9'Faw-F__l6$f*Fb_lFFFc_lFFFf_lFFFFFj_
lFa\l>8,-Far6#&Fj^lFU-%$gcdG6&Fer&F``lFfr.8%.8&>FM7$-Ff^l6#,&-F__l6$f*Fb_lFFFc_
lFF*&Fi_lFKFNFKFFFF6$F/F[alFTFK-F__l6$f*Fb_lFFFc_lFFFdalFFFF6$F.Fi`lFc`lF[u-Ff^
l6#,&-F__l6$f*Fb_lFFFc_lFFFdalFFFFFealFhpFK-F__l6$f*Fb_lFFFc_lFFFdalFFFFFial&Fj
^lFipF[uC'>F^t-F_^l6$-%'NormalGFg^lF\^l>Fj^l-F_^l6$-Fibl6#7$-F__l6$f*Fb_lFFFc_l
FFFf_lFFFFFj_lFaw-F__l6$f*Fb_lFFFc_lFFFf_lFFFFFj_lFa\lF\^l>F``lFa`l-F_^l6$-%$Gc
dGFf`lF\^l>FM7$-F_^l6$-Fibl6#,&-F__l6$f*Fb_lFFFc_lFFFdalFFFFFealFTFK-F__l6$f*Fb
_lFFFc_lFFFdalFFFFFialFc`lF[uF\^l-F_^l6$-Fibl6#,&-F__l6$f*Fb_lFFFc_lFFFdalFFFFF
ealFhpFK-F__l6$f*Fb_lFFFc_lFFFdalFFFFFialFcblF[uF\^l>F]rF[r>FjqF_s>F_rF`r>FcrFd
r>F`o,&F`oFKFKFK@'3/FTF\q0FhpFcqC%>Fhp&-F[z6%FhpF\oFYFU@$3F\fl4-%5JanetOre/memb
er_multG6%Fhp%&J_HOMGF\o>Fhfl7$-Fcz6#FhflFhp7$FTFcqF[fl7$F\qFhpC$@$FW>FMFbp@%/F
jqF_sFg]lFMFF6%FhflFcvFIFFFF
M7R0
ICJanetOre/jnormal_form_collect_polyf*6)%"fG%"FG%%seqvG%(mulprocG%'lmprocG%'ppp
rocG%(loc_varG68%"aG%#caG%#cbG%"gG%"hG%"iG%"kG%"rG%#lgG%#lmG%(termo_hG%$divG%'n
_entrG%*zero_listG%.rhs_zero_listG%#lvG%#nlG%#nvG%"HG%"eG%#meG%#hiG6#%\pCopyrig
ht~(C)~2000-2010~by~Carlos~F.~Cid~and~Daniel~Robertz.~All~rights~reserved.G6"C,
>%*_jonnformG,&FH"""FJFJ>8(9$>80-%%nopsG6#&FL6#FJ@$09*7"C'>83<#-%$seqG6$&9&6#&F
W6#8)/F_o;FJ-FQ6#FW>84-FQ6#Fen>85-%'removeG6%%$hasGF[oFen>86FX>FL7$-%7JanetOre/
cancel_locvarG6%FSF[oFW-Fcp6%&FL6#""#F[oFW>817#-%"$G6$""!FO>827#-F^q6$F`q-FQ6#F
gp>8+7$F[qFbq>8--9(FR?(FEFJFJFE0&F\r6$FipFJF`qC)>F_oFJ>8/%&falseG>8.*&FarFJ&F\r
6$FipFipFJ@$FV>87,&-%$maxG6#-Fhn6$-%'degreeG6$&FS6#8*Fen/F[t;FJFOFJ-%$addG6$&&F
\r6$FJFJ6#&FWFjs/F[t;FJFeo!""?(FEFJFJFE31F_o-FQ6#9%4Ffr@%-%5JanetOre/pinv_divid
eG6%&F^u6$F_o""$&F^u6$F_o""&&F\rFTC%>%)_joreducG,&F]vFJFJFJ@%FVC,>88,&-Fbs6#-Fh
n6$-Fgs6$&&F^u6%F_oFJFJFjsFenF\tFJ-F_t6$&&F^u6%F_oFfuFJFdtFftFht>89F`q>F[t-FQ6#
F_p?(FEFJFJFE32F`qFbv2F`qF[tC$@$331&&F_pFjs6#FfuFbv/&&&FaxFhpFTFhp&FjuFhp-%8Jan
etOre/conv_divisibleG6$FexFjuC$>FcwF[t>FbvF`x>F[t,&F[tFJFhtFJ@$3Fiw0&FiqFTF[q[@
$2F_sFbvC$>F[t-9)6%FSF[o7$Fgp&&F\rFhpFT>F_p7$-%#opGFfw7%7$&F[tFT&&F[tFhpFT7$Fju
-%'subsopG6$/FJ&FgzFhpF^zF_s@%/FcwF`q>FL-%)simplifyG6#7$,&-%$mapG6$f*6#F-FE6$%)
operatorG%&arrowGFE*(T#FJ&T&6%T'""'FipFhtFMFJFEFE6(F7FirF&F^uF2F_oF[wFht-Fg[l6$
f*Fj[lFEF[\lFE*&&T$6%T%Fd\lFJFJFMFJFEFE6&F&F^uF2F_oFSFJ,&-Fg[l6$f*Fj[lFEF[\lFEF
^\lFEFEFe\l&F^u6%F_oFJFipFht-Fg[l6$f*Fj[lFEF[\lFEFi\lFEFEF^]lFgpFJ>FL-Fb[l6#7$,
&-Fg[l6$f*Fj[lFEF[\lFE*(F_\lFJ&&&&F]]l6#Fc\lFhpFhpFhpFhtFMFJFEFE6(F7FirF?F_pFBF
cw&&&F_p6#FcwFTFTFht-Fg[l6$f*Fj[lFEF[\lFE*&&&&&F_\l6#F]]lFhpFhpFTFJFMFJFEFE6&F?
F_pFBFcwFSFJ,&-Fg[l6$f*Fj[lFEF[\lFEF`^lFEFEFf^l&Fh^lFhpFht-Fg[l6$f*Fj[lFEF[\lFE
F^_lFEFEFd_lFgpFJ>FL-Fjy6%FSF[oFgp>FLFap@$0%0JanetOre/characGF`q>FL-%$modG6$FLF
c`l@%/Fc`lF`qC'>F[t-%'normalG6#*&F[sFJ&F^u6%F_oFd\lFipFht>8'-%(collectG6%7$-Fg[
l6$f*Fj[lFEF[\lFE-Fa\l6$F_\lFMFEFE6&F3F[tF(9'F[w-Fg[l6$f*Fj[lFEF[\lFEF[blFEFEF]
blFc]lF[o%,distributedG>8,-F^r6#&FcalFT-%$gcdG6&Far&FdblFbr.8%.8&>FL-Feal6%7$-F
]al6#,&-Fg[l6$f*Fj[lFEF[\lFE*&F_\lFJFMFJFEFE6$F/F_clFSFJ-Fg[l6$f*Fj[lFEF[\lFEFj
clFEFE6$F.F]clFgblFht-F]al6#,&-Fg[l6$f*Fj[lFEF[\lFEFjclFEFEF[dlFgpFJ-Fg[l6$f*Fj
[lFEF[\lFEFjclFEFEF_dl&FcalFhpFhtF[oFbblC'>F[t-Ff`l6$-%'NormalGF^alFc`l>Fcal-Fe
al6%7$-Fg[l6$f*Fj[lFEF[\lFE-Ff`l6$F[blFc`lFEFEF]blF[w-Fg[l6$f*Fj[lFEF[\lFEFgelF
EFEF]blFc]lF[oFbbl>FdblFebl-Ff`l6$-%$GcdGFjblFc`l>FL-Feal6%7$-Ff`l6$-F_el6#,&-F
g[l6$f*Fj[lFEF[\lFEFjclFEFEF[dlFSFJ-Fg[l6$f*Fj[lFEF[\lFEFjclFEFEF_dlFgblFhtFc`l
-Ff`l6$-F_el6#,&-Fg[l6$f*Fj[lFEF[\lFEFjclFEFEF[dlFgpFJ-Fg[l6$f*Fj[lFEF[\lFEFjcl
FEFEF_dlFidlFhtFc`lF[oFbbl>Ffr%%trueG>F_o,&F_oFJFJFJ@%F_uC$>Fiq7$-Fjz6$/&F\r6$F
JFip-Feal6%,&&Fcy6#FfhlFJFjrFJF[oFbblFcy&FiqFhp>FL7$-Fjz6$/Ffhl-Feal6%,&&FSF\il
FJFjrFhtF[oFbblFSFgp@%Fi`l>Fiq-Feal6%7$-F]al6#-Fg[l6$f*Fj[lFEF[\lFEFjclFEFEF[dl
Fcy-F]al6#-Fg[l6$f*Fj[lFEF[\lFEFjclFEFEF[dlF]ilF[oFbbl>Fiq-Feal6%7$-Ff`l6$-F_el
6#-Fg[l6$f*Fj[lFEF[\lFEFjclFEFEF[dlFcyFc`l-Ff`l6$-F_el6#-Fg[l6$f*Fj[lFEF[\lFEFj
clFEFEF[dlF]ilFc`lF[oFbbl>F\rF]r@'3/FcyF[q0FgpFbqC%>Fgp&-Fjy6%FgpF[oFXFT@$4-%5J
anetOre/member_multG6%Fgp%&J_HOMGF[o>Fg\m7$-Fbz6#Fg\mFgp7$FcyFbqF[\m7$F[qFgp-Fj
y6%FcyF[oFgpFE6%Fg\mFHF]vFEFE
M7R0
I;JanetOre/invred_evala_polyf*6*%"fG%"TG%'no_rhsG%.return_coeffsG%%seqvG%(mulpr
ocG%'lmprocG%(loc_varG6:%"aG%"cG%#caG%#cbG%"gG%"hG%#h2G%"iG%"kG%#lgG%#lmG%"nG%"
qG%"rG%$divG%'n_entrG%(termo_hG%*zero_listG%#lvG%#nlG%"HG%"eG%#meG%#hiG6#%\pCop
yright~(C)~2000-2010~by~Carlos~F.~Cid~and~Daniel~Robertz.~All~rights~reserved.G
6"C0>83-%%nopsG6#&9$6#""">857#-%"$G6$""!FK>8)FO@$49&>8*&FP6#""#@$09+7"C'>86<#-%
$seqG6$&9(6#&F`o6#8+/F^p;FR-FM6#F`o>87-FM6#Fdo>88Fao>Fen-%7JanetOre/cancel_locv
arG6%FenFjoF`o@$Fgn>Fjn-F[q6%FjnFjoF`o>8/-FM6#9%>81FT>8%7#-FW6$FYFbq>80FR>8.-9*
6#Fen?(FHFRFRFH0&F`r6$F]oFRFYC)>F^pFR>82%&falseG>84*&FfrFR&F`r6$F]oF]oFR@$F_o>8
9,&-%$maxG6#-Fgo6$-%'degreeG6$&Fen6#8,Fdo/F`t;FRFKFR-%$addG6$&&F`r6$FRFR6#&F`oF
_t/F`t;FRFdp!""?(FHFRFRFH31F^pFbq4F[s@%-%5JanetOre/pinv_divideG6%&Feq6$F^p""$&F
eq6$F^p""&&F`rFQC$@%F_oC,>8:,&-Fgs6#-Fgo6$-F\t6$&&Feq6%F^pFRFRF_tFdoFatFR-Fdt6$
&&Feq6%F^pFhuFRFitF[uF]u>8;FY>F`tFR?(FHFRFRFH32FYFav1F`t-FM6#FhpC$@$332&&FhpF_t
6#FhuFav/&&&F`xF\oFQF\o&F\vF\o-%8JanetOre/conv_divisibleG6$FdxF\vC$>FbwF`t>FavF
_x>F`t,&F`tFRFRFR@$3Ffw0FgqFT[@$2FdsFav>Fhp7$-%#opGFiw7%7$FenFjnF`rFds@%/FbwFYC
$>Fen-%)simplifyG6#,&-%$mapG6$f*6#F.FH6$%)operatorG%&arrowGFH*&&T$6%T%""'FRFRFP
FRFHFH6&F&FeqF5F^pFenFR-Fdz6$f*FgzFHFhzFH*(T#FR&T&6%T'F`[lF]oF]uFPFRFHFH6(F>F^s
F&FeqF5F^pFjvF]u@$Fgn>Fjn-F`z6#,&-Fdz6$f*FgzFHFhzFHF[[lFHFHFa[lFjnFR-Fdz6$f*Fgz
FHFhzFHFe[lFHFHF[\l&Feq6%F^pFRF]oF]uC$>Fen-F`z6#,&-Fdz6$f*FgzFHFhzFH*&&&&&Ff[l6
#F_[lF\oF\oFQFRFPFRFHFH6&FBFhpFEFbwFenFR-Fdz6$f*FgzFHFhzFH*(Ff[lFR&&&&F_[l6#Fj[
lF\oF\oF\oF]uFPFRFHFH6(F>F^sFBFhpFEFbw&&&Fhp6#FbwFQFQF]u@$Fgn>Fjn-F`z6#,&-Fdz6$
f*FgzFHFhzFHFa]lFHFHFg]lFjnFR-Fdz6$f*FgzFHFhzFHF[^lFHFHFa^l&Fc^lF\oF]u>FenFjp@$
Fgn>FjnF_q@$0%0JanetOre/characGFYC$>Fen-%$modG6$FenFg_l@$Fgn>Fjn-F[`l6$FjnFg_l@
%/Fg_lFYC(>F`t-%'normalG6#-%&evalaG6#*&F`sFR&Feq6%F^pF`[lF]oF]u>8(-%(collectG6%
-Ff`l6#-Fi`l6#-Fdz6$f*FgzFHFhzFH-Fh[l6$Ff[lFPFHFH6&F6F`tF*9)FjvFjo%,distributed
G>8--Fbr6#F_al-%$gcdG6&Ffr&F`blFgr.8&.8'>Fen-Faal6&,&*&FjblFRFenFRFR*&FhblFRF_a
lFRF]uFjoF^blFi`l@$FgnC$>F_al-Faal6%-Ff`l6#-Fi`l6#-Fdz6$f*FgzFHFhzFHFjalFHFHF\b
lFg\lFjoF^bl>Fjn-Faal6&,&*&FjblFRFjnFRFRF`clF]uFjoF^blFi`lC(>F`t-F[`l6$-%'Norma
lGFg`lFg_l>F_al-Faal6%-Fdz6$f*FgzFHFhzFH-F[`l6$-Fgdl6#-Fi`l6#FjalFg_lFHFHF\blFj
vFjoF^bl>F`blFabl-F[`l6$-%$GcdGFeblFg_l>Fen-Faal6&-F[`l6$F^clFg_lFjoF^blFi`l@$F
gnC$>F_al-Faal6%-Fdz6$f*FgzFHFhzFHF^elFHFHF\blFg\lFjoF^bl>Fjn-Faal6&-F[`l6$F`dl
Fg_lFjoF^blFi`l>F[s%%trueG>F^p,&F^pFRFRFR@%Fau@%Fb`lC$>Fgq-%'subsopG6$/&F`r6$FR
F]o-Faal6%,&&Fgq6#FgglFRF^sFRFjoF^blFgq>Fen-Fdgl6$/Fggl-Faal6%,&&FenF]hlFRF^sF]
uFjoF^blFenC$>Fgq-F[`l6$FcglFg_l>Fen-F[`l6$F_hlFg_lC%@%Fb`l>Fgq-Faal6%-Ff`l6#*&
FjblFRFgqFRFjoF^bl>Fgq-Faal6%-F[`l6$-FgdlFcilFg_lFjoF^bl>F^r*&F^rFRFjblFR@$9'@%
Fb`l>Fiq-Fdgl6$/F^p,&&FiqF]pFR*(F^sFRF^rF]uF\alF]uFRFiq>Fiq-F[`l6$FajlFg_l>F`rF
ar@$3Fay0F^rFR@%Fb`l>Fgq-Ff`l6#*&FgqFRF^rF]u>Fgq-F[`l6$-FgdlFa[mFg_l@$3FgnF][m@
%Fb`l>Fjn-Ff`l6#*&FjnFRF^rF]u>Fjn-F[`l6$-FgdlF\\mFg_l7$7$FgqFjnFiqFHFHFHFH
M7R0
I7JanetOre/cppJInvReducef*6%'%"gG%%listG%%fextG%*quietmodeG6'%%fileG%&fnameG%"i
G%"rG%'std_wsG6#%jnCopyright~(C)~2000-2010~by~Daniel~Robertz.~All~rights~reserv
ed.G6"C.@'2""!-%+searchtextG6$Q&linuxF2-%+kerneloptsG6#%(versionG@%/-%*substrin
gG6$-%(convertG6$-%*interfaceG6#.F>%'stringG;""""#GQ=Standard~Worksheet~Interfa
ceF2C$>8%-%AJanetOre/stdinterface_gettmpnameGF2>8(%%trueGC'>8'-%(ssystemG6#%hni
f~test~-d~/tmp/$USER~;~then~echo~true~;~else~echo~false~;~fiG@$4-%&parseG6#&FZ6
#""#C$>FZ-Ffn6#%1mkdir~/tmp/$USERG@$0F^oQ!F2-%&ERRORG6#%Ecannot~write~temporary
~file~to~/tmp.G>FR-Ffn6#%Eecho~/tmp/$USER/JanetOre-$PPID-$USERG@%2F6-F86$Q"$F2&
FRF_o>FRQ./tmp/JanetOreF2>FR-%;JanetOre/remove_whitespaceG6#Ffp>FV%&falseG2F6-F
86$Q&APPLEF2F;C$>FRFS>FVFWC$>FRQ/\TEMP\JanetOreF2>FVF^q>FR-%$catG6$FR9%>8$-%&fo
penG6$-F\r6$FRQ%.redF2%&WRITEG?(8&FMFM-%%nopsG6#9$FWC&-%(fprintfG6$F`rQ'begin|+
F2-F`s6$F`r-FE6$&F]s6#FirFK-F`s6$F`rQ#;|+F2-F`s6$F`rQ%end|+F2-F`s6$F`rQ#|+|+F2-
%'fcloseG6#F`r@%9&@%FVC%>FZ-Ffn6#-F\r6)Q*runJBOre~F2FRQ).binary~F2FRQ&.red~F2FR
Q:.res~_IBORE_RESULT_REDUCEF2@$/FZ%%NULLG-Fjo6#%Bcould~not~run~program~'runJBOr
e'.G>FZ&FZ6#FMC$>FZ-Ffn6#-F\r6)Q'JBOre~F2FRF_uFRF`uFRQF.res~_IBORE_RESULT_REDUC
E~>~/dev/nullF2@%3/FiuF6/F^oFho>FZF6>FZFMC$>FZ-%'systemG6#-F\r6)FavFRF_uFRF`uFR
Fau@$Fcu-Fjo6#%?could~not~run~program~'JBOre'.G@$0FZF6-Fjo6#%cpprogram~JBOre~no
t~found~or~interrupted~(e.g.~by~the~user~or~because~of~memory~shortage).G@$F5C&
>FZ-Ffn6#-F\r6'Q&if~[~F2FRQ*.res~-ot~F2FRQ:~];~then~echo~-n~true;~fiF2@$2F6-%'l
engthGF]o-Fjo6#%fpoutput~file~of~JBOre~is~older~than~input~file~(probably,~prog
ram~JBOre~stopped~abnormally).G>FZ-Ffn6#-F\r6%Q*filesize~F2FRQ%.resF2@$FevC$>FZ
-%'sscanfG6$F^oQ#%dF2@$32F6-F[s6#FZ2"'++IFiu-%(WARNINGG6#Qgnresulting~normal~fo
rm~is~big;~reading~it~may~take~a~while...F2A-F\r6$FRF`y@$4-%)assignedG6#%5_IBOR
E_RESULT_REDUCEG-Fjo6#%Cerror~in~computation~or~interface.G-%'RETURNGFjzF2F2F2F
2
M7R0
ICJanetOre/JSubmoduleHilbertFunctionf*6"6:%"iG%"jG%"lG%#q1G%#q2G%"sG%,given_bas
isG%&m_ordG%'n_entrG%"FG%%varsG%$varG%$opsG%2tmp_J_T_List_dataG%%nvarG%(var_ord
G%'vt_degG%)entr_posG%%seqvG%,force_evalaG%'lmprocG%/args_without_sG%$resG%#_sG
6#%jnCopyright~(C)~2007-2010~by~Daniel~Robertz.~All~rights~reserved.GF$C,@$4%2J
anetOre/ratcoeffG-%&ERRORG6#%fnnot~implemented~yet~for~involutive~bases~over~th
e~integers.G>87%&falseG>8+""%>8)%%NULLG>80FP@%519#"""32FWFV55555-%%typeG6$&9"6#
""#%)equationG-Fjn6$F\o%(numericG-Fjn6$F\o-%%listG6#%(integerG-Fjn6$F\o%%nameG-
Fjn6$F\o%'stringG3-Fjn6$F\oFgo5-%(hastypeG6$F\o%)functionG-Fep6$F\o%*procedureG
C%>8*FJ>8%FW>89FPC%>F]q%%trueG>F_q""$>Faq6$&F]o6#FWF\o?(8$F_qFWFVFdq@/-Fjn6$&F]
o6#F\rFio@%F]qC$>FLF`r>Faq6$FaqF`r@%/FOFP>FOF`r-FE6#%Zcannot~determine~which~in
determinate~or~value~to~plug~in.G-Fjn6$F`rFgoC$@'/F`r7"F$45-Fjn6$F`rFfo-Fjn6$F`
r-Fgo6#Fgo>FRF`r>FLF`r>FaqFfr-Fjn6$F`rFco@%Fhr>FOF`rFjr3-Fjn6$F`rF`o/-%#opG6$FW
F`rQ$varF$@%Fhr>FO-Fgt6$F_oF`rFjr-Fjn6$F`rF\p@%Fhr>FOF`rFjr/F`rQ!F$@%Fhr>FOF`rF
jr-FE6#%0invalid~option.G@$Fhr-%'RETURNG6#F"@%F]qC4>8--%3JanetOre/procinputG6#F
iq>8,&F`vFjq>FI5FI&F`v6#""&>8173%)J_T_ListG%*jnumber_tG%)JTab_VarG%'_jnvarG%'_j
pvarG%)_jvardegG%)_jtupdegG%-_jentrblocksG%&J_HOMG%*_jpno_rhsG%1_jpforce_collec
tG%/_jpforce_evalaG%*_jinv_denG%._JBOre_factorG%6_JBOre_factor_multvarG%+_JBOre
_varG%-_JBOre_compaG>8.-%2JanetOre/procvarsG6$F\oFev>83&FaxF^o>84&Fax6#Ffq>85&F
ax6#""'>8/&FaxFjq>867#-%$seqG6$-%$catG6$%#_xGF\r/F\r;FW-%%nopsG6#Fby>Ffx-%%subs
G6$7#-Fhy6$/&FbyFar&FeyFarF^zFfx@$30FfxFbs/FLFM>FL7#-%"$G6$FM-Faz6#Ffx@$0FRFP-%
1JanetOre/procopsG6%FbyFRFey>8&-%1JanetOre/procordG6*FLFbyFfxFjx&Fax6#FMFeyF]y4
FI@$&F^\lFc\l>F]yFbs@$/&Fix6#;,&F`zFWFWFW,&F`zFWFevFW7#-Fd[l6$""!Fev>FixFb]l>88
-%&parseG6#-F[z6/Q<g->`JanetOre/j_lead_mon`(g,F$-%(convertG6$FevF_pQ",F$-F]^l6$
FeyF_pF_^l-F]^l6$&F^\lFjqF_pF_^l-F]^l6$F]yF_pF_^l-F]^l6$&F^\lFjvF_pF_^l-F]^l6$F
ixF_pQ")F$-%7JanetOre/setupJ_T_ListG6*-%(collectG6%&F`vFc\lFby%,distributedGFev
&F`vF^oFe]l&F^\lF[y&FaxFjvFby&F`vF[y@$4-%)assignedG6#F_w-FE6#%Lmissing~involuti
ve~basis;~run~JBasis~first.G@)-Fjn6$FOF_pC(>6$8'8(-%5JanetOre/pmaxmin_degGF]`l@
$2Fb]lFh`l-%'printfG6$Q:Dim(M.s)~=~0,~for~s~<~%d|+F$Fh`l?(F\rFh`lFW,&Fg`lFW!""F
WFdq-F^al6%Q0Dim(M.%d)~=~%a|+F$F\r-F"Far-F^al6%Q;Dim(M.s)~=~%a,~for~s~>=~%dF$-F
ez6$/8;.FO-%EJanetOre/JSubmoduleHilbertPolynomialG6#F^blFg`l@$F]q-%9JanetOre/re
storeJ_T_ListG6#F]w-F[v6#FP3-Fjn6$FOFco/FOFb]lC%>8:-%6JanetOre/JSubmoduleHFG6#F
O@$F]qFdblF_clFjblC%>F_cl-%)simplifyG6#,&F`clFW-Facl6#,&FOFWFcalFWFcal@$F]qFdbl
F_cl@%F]qC$Fdblf*6#F&F$6$%)operatorG%&arrowGF$-F"6$T#/Fit9$F$F$6$F;Faqf*FadlF$F
bdlF$-F"6#FhdlF$F$F$F$F$F$F$
M7R0
I<JanetOre/JFactorModuleBasisf*6"6E%"dG%"iG%"jG%"kG%"lG%"mG%"sG%"tG%"FG%"MG%"PG
%%varsG%$varG%%nvarG%%seqvG%)tup_permG%'p_listG%.mult_var_listG%&monomG%)last_v
arG%(genfuncG%(lastcppG%*forcelistG%'vt_degG%,withmultvarG%*sort_funcG%'n_entrG
%&m_ordG%,force_evalaG%(var_ordG%,given_basisG%)entr_posG%'lmprocG%2tmp_J_T_Lis
t_dataG%-var_exteriorG6#%joCopyright~(C)~2000-2010~by~Arne~Lorenz~and~Daniel~Ro
bertz.~All~rights~reserved.GF$C0>8:%&falseG>8<FN>88FN>89FN>8@FN>8?""%@%-%)assig
nedG6#%/_jvar_exteriorG@%-%%typeG6$Fhn%%listG>8FFhn-%&ERRORG6$QSwrong~format~of
~the~global~variable~_jvar_exteriorF$Fhn>F_o7"@'5/9#"""32FjoFio5-F[o6$&9"6#""#%
'stringG-%0JanetOre/is_opsG6#F`pC$>8BFN>8&Fcp2""!FioC$>Fjp%%trueG>F\q""$-Fao6#%
goexpecting~either~an~involutive~basis~or~list~of~variables~as~first~argument.G
?(8%F\qFjoFioFaq@)5-F[o6$&Fap6#Fhq%(integerG-F[o6$F]rF]o>FXF]r-Ffp6#F]rF$-F[o6$
F]rFdpC$>8-F]r?(8'FjoFjo-%'lengthG6#FirFaq@./&Fir6#F[sQ"CF$>FMFaq/FasQ"GF$>FRFa
q/FasQ"LF$>FTFaq/FasQ"MF$>FPFaq/FasQ"SF$>FVFaq0FasQ!F$-Fao6#%[poptions~must~be~
given~by~a~string~consisting~of~letters~in~|fr"C",~"G",~"L",~"M"|hr.G-Fao6#%0in
valid~option.G@%FjpC4>8,-%3JanetOre/procinputG6#&Fap6#Fjo>8>&F\uFau>FV5FV&F\u6#
""&>8E73%)J_T_ListG%*jnumber_tG%)JTab_VarG%'_jnvarG%'_jpvarG%)_jvardegG%)_jtupd
egG%-_jentrblocksG%&J_HOMG%*_jpno_rhsG%1_jpforce_collectG%/_jpforce_evalaG%*_ji
nv_denG%._JBOre_factorG%6_JBOre_factor_multvarG%+_JBOre_varG%-_JBOre_compaG>8/-
%2JanetOre/procvarsG6$F`pFcu>8A&F_wFbp>8;&F_w6#Fcq>83&F_wFhu>8C&F_w6#""'>80&F_w
Fau>827#-%$seqG6$-%$catG6$%#_xGFhq/Fhq;Fjo-%%nopsG6#Fcx>Fdw-%%subsG6$7#-Fix6$/&
FcxF^r&FfxF^rF_yFdw@$30FdwFeo/FXFY>FX7#-%"$G6$FY-Fby6#Fdw>8(-%1JanetOre/procord
G6*FXFcxFdwFhw&F_w6#FYFfxF^x4FV@$&FjzF_[l>F^xFeo@$/&Fgw6#;,&FayFjoFjoFjo,&FayFj
oFcuFjo7#-Fez6$F^qFcu>FgwF^q>8D-%&parseG6#-F\y6/Q<g->`JanetOre/j_lead_mon`(g,F$
-%(convertG6$FcuFdpQ",F$-Fh\l6$FfxFdpFj\l-Fh\l6$&FjzFauFdpFj\l-Fh\l6$F^xFdpFj\l
-Fh\l6$&FjzFhuFdpFj\l-Fh\l6$FgwFdpQ")F$@%/F_oFeo-%7JanetOre/setupJ_T_ListG6*&F\
uF_[lFcu&F\uFbpF`\l&FjzFiwF\xFcx&F\uFiw-F[^l6+F]^lFcuF^^lF`\lF_^lF\xFcxF`^lF_oC
)@$3335FT3/%4JanetOre/JInvoBasisG%:JanetOre/JBasisFastAssertG%2JanetOre/ratcoef
fG-Ffn6#Fjv-Ffn6#F[w-Ffn6#F\w@%5FR-%$hasG6$F[wFjo@%FM@%FP-%'RETURNG6#-%$mapG6$f
*6#F'6$F(F+F$F$C$>Fhq-%'selectG6$f*6#F(F$6$%)operatorG%&arrowGF$2F^q&&F[w6#T$6#
9$F$F$6$F'Fdal7#-Fez6#;Fjo-FbyFc_l7$&FjvFcal-F_`l6$f*Fj`lF$F[alF$&T#FcalF$F$6$F
2FablFhqF$F$6$F2Fcx7#-Fez6#;Fjo-FbyF__l-F\`lF__l-F\`l6#-%'expandG6#-%$addG6$*&&
FjvF^rFjo-%$mulG6$),&FjoFjo&F\w6#F\q!""&&F[wF^rFjcl/F\qFialF[dl/FhqFgblFibl@$4-
Ffn6#F]v-Fao6#%Lmissing~involutive~basis;~run~JBasis~first.G>Fcu-Fby6#&F]v6%Fjo
FjoFjo>F_w-Faw6$F`uFcu>F[xF\x>FcxFdx@$0-Fby6#&F]v6%FjoFcqFjoFay-Fao6#%[qthe~cur
rent~involutive~basis~was~computed~w.r.t.~a~different~number~of~variables~than~
nops(var).G>8+&-F\[l6*FYFdxFeoFhwFeoFdx7#FcuFaqFhu>81Fay@$4-F[o6$-%8JanetOre/JH
ilbertSeriesGF$%(polynomG>FRFaq@%50F_oFeoFRC'@%Fi]l>847#-Fix6$7$7$7#-Fez6$F^qFa
flFhq7#-Fez6$%)infinityGFafl/Fhq;FjoFcu>F`gl7#-Fix6$7$Fegl-%:JanetOre/allmult_e
xteriorG6$FeglF_oF]hl@$0&F]v6%FjoFaxFjoF^qC'>8.-%%sortG6$F]v%0JanetOre/pplex3G>
Fhq-FbyFcdl>Fir&F]il6$FhqFcq@$%3JanetOre/janetlikeGC$>8$-Ffy6$/F\hlF^q&F]il6$Fh
qFiu>F[sFfgl?(F$FjoFjoF$1FjoFhqC,>F\qFjo?(F$FjoFjoF$31F\q-Fby6#F`gl4-%5JanetOre
/pinv_divideG6%&F`gl6$F\qFjo&F`gl6$F\qFcpFir>F\q,&F\qFjoFjoFjo@$2FijlF\q-Fao6#%
_qthe~given~list~is~not~an~involutive~basis~w.r.t.~the~given~variables.~You~hav
e~to~call~JBasis~again.G>8)&F`gl6%F\qFjoFjo>85Fa[m>F`gl-%'subsopG6$/F\q%%NULLGF
`gl>F\qFjo?(F$FjoFjoF$31F\qFafl/&F[\mFjcl&Fir6$FjoF\q>F\qFd[m@$Fi\mC%>F_\m-Fb\m
6$/F\qF^qF_\m>F`gl7$-%#opGFjjl-Fix6$7$7$-Fb\m6$/F\q,&F[]mFjo8*FjoF[\m&FirFbpF_\
m/Fa^m;F^q,(F\]mFjoF[]mF[dlF[dlFjo>F[\m-Fb\m6$/F\qF\]mF[\m@%0F[\m&FirFau@%Fi]l>
F`gl7$Fg]m7$7$F[\mFb^m-Fb\m6$/F\qF\hlF_\m>F`gl7$Fg]m7$Fa_m-Fb\m6$/F\q-%:JanetOr
e/onemult_exteriorG6%F\qF[]mF_oF_\m@%FhilC$>F[s-%6JanetOre/nextmonomialG6$F[sF[
jl@%/F[sFfglC$>Fhq,&FhqFjoF[dlFjo@$FcjlC$>FirFeil@$FhilC$>F[jlF\jl>F[sFfgl>Fir7
$,&&F]il6%FhqFcqFjoFjoF[sFjoFb^mC$>FhqFh`m@$Fcjl>FirFeil@$F\gl>F`gl-%9JanetOre/
rmmult_exteriorGFjjl@$Fjp-%9JanetOre/restoreJ_T_ListG6#F[v@%FR@%FMC$>8=f*6$%#t1
G%#t2GF$F$F$@'2&Fabl6#&FdalFbp&Fabl6#&9%FbpFN2F_cmF\cmFaq-T%6$&FdalFau&FbcmFauF
$F$6&F5F[xF-F[fl@%FPC$>F]il-F_il6$-F_`l6$f*Fb`lFc`lF$F$C$>Fhq-Fg`l6$f*Fj`lF$F[a
lF$2F^q&Fabl6%T&FcpFdalF$F$6&F6T'F'Fdal7#-Fez6#;FjoFabl7%-Fecl6$)&Fecm6#F[jl&F\
em6&FdalFjoFjoF[jl/F[jlF`em&F\em6%FdalFjoFcp-F_`l6$f*Fj`lF$F[alF$F`blF$F$6$F2Fe
cmFhqF$F$6(F3FaflF2FcxF6F`gl7#-Fez6#;FjoFijlFebm@%/FcuFjo-F_`l6$f*Fb`lF$F[alF$7
$Fgcm&FdalFiwF$F$F$F]ilC$>F[sF[\l7#-Fix6$7$-Fb\m6$/&F[x6#&F]il6$FhqFcp&F]il6$Fh
qFjoF[sFeil/Fhq;Fjo-Fby6#F]ilC$>F]il-F_il6$7#-Fix6$7$-Fecl6$)&FcxFjcl&F`gl6&Fhq
FjoFjoF\q/F\q;FjoFafl&F`gl6%FhqFjoFcp/FhqFdfmFebm@%Fffm-F_`l6$f*Fb`lF$F[alF$Fgc
mF$F$F$F]ilC$>F[sF[\l7#-Fix6$FbgmF[hm@%Fffm-F`cl6$*&FghmFjo-Fecl6$),&FjoFjoFjhm
F[dl-Ffy6$/F\hlFjo&F`gl6%FhqFcpF\qF]imF[dlFaimC$>Fa^mF[\l-F]cl6#-F`cl6$-Fb\m6$/
&F[x6#F_imF^jmFa^mFaimC&>Fir-Fh]m6#-F_`l6$f*6#%"aGF$F[alF$7$-%"*G6#-Fix6$)&Fabl
6#Fecm&Fdal6%FjoFjoFecm/Fecm;Fjo-Fby6#&Fdal6$FjoFjo&Fdal6$FjoFcpF$F$6&F2FcxF'Fh
qF`gl@%F]_l>Febmf*FgbmF$F$F$@'F[cmFNFccmFaqFdcmF$F$Ficm>Febmf*FgbmF$F$F$@)F[cmF
NFccmFaq/*&FgcmFjo-%'coeffsG6#FgcmF[dl*&FhcmFjo-Fj]n6#FhcmF[dl-%&evalbG6#1-%$ab
sG6#Fi]n-Fd^n6#F]^nFdcmF$F$Ficm>Fir-F_il6$7#FirFebm@%2FjoFcuC$>Fa^mF[\l-F_`l6$f
*Fb`lF$F[alF$-Fb\m6$/F\cmFgcmFecmF$F$6&F5F[xF,Fa^mFir-F_`l6$f*Fb`lF$F[alF$FgcmF
$F$F$FirC(>87&Fcx6#Fafl>FirFe\m@%F]_lC$?(FhqFjoFjoFcilFaq@$/-%*numboccurG6$&F]v
F`jlF\hlFjoC&>F[\m&F]vFdam>86-Fecl6$)FjhmF[]mF]im?(F\qFjoFjo-%'degreeG6$F]anF\`
nFaqC$>F]an*&F]anFjoF\`nF[dl>Fir6$Fir7$F]an&F]v6%FhqFcqFcp@$FhilC&>F[s-Ffy6$F^j
lFh`n>F]ilFfgl>F]il-Fb`m6$F]ilF[s?(F$FjoFjoF$0F]ilFfglC%>F]an-Fecl6$)Fjhm,&F[]m
Fjo&F]ilFjclFjoF]im?(F\qFjoFjoFbanFaqC$>F]anFgan>FirFian>F]ilFdbn>Febmf*FgbmF$F
$F$@'F[cmFNFccmFaqFdcmF$F$FicmC$?(FhqFjoFjoFcilFaq@'Fd`nC'>F[\mF[an>F]anF^an@$0
&F]v6%FhqFaxFjoFjo>Fir6$Fir-Fix6$7$*&F\qFjoF]anFjoF[bn/F\q;Fjo,&F_dnFjoF[dlFjo@
$/&F]v6%FhqFiuFaflF\hl?(F\qFjoFjoFbanFaqC$>F]anFgan>FirFian@$FhilC&>F[sF`bn>F]i
lFfgl>F]ilFdbn?(F$FjoFjoF$FgbnC&>F]anFjbn@$F^dn>FirFbdn@$F[en?(F\qFjoFjoFbanFaq
C$>F]anFgan>FirFian>F]ilFdbn/Fh`nFfglC$>F]an-Fecl6$)Fjhm&F]v6&FhqFcqFjoF\qF]im>
Fir6$Fir-Fix6$Fedn/F\q;FcpFidn@$F^dnC$>F]anFefn>FirFbdn>Febmf*FgbmF$F$F$@)F[cmF
NFccmFaqFg]nF_^nFdcmF$F$Ficm@$FjpF^bm>FirFi^n@%F]_nC$>Fa^mF[\l-F_`l6$f*Fb`lF$F[
alF$Fc_nF$F$Ff_nFir-F_`l6$f*Fb`lF$F[alF$FgcmF$F$F$FirF$F$F$F$
M7R0
I:JanetOre/JIBasis_exteriorf*6$%"LG'%%varsG%%listG6[o%"aG%"bG%"gG%"hG%"iG%"jG%"
kG%"lG%#lmG%"mG%"FG%"QG%#Q2G%#DiG%"GG%#GBG%&ib_gbG%$varG%(var_ordG%'vt_degG%(de
g_ordG%(loc_varG%)tup_permG%-inv_tup_permG%&m_ordG%&N_OrdG%&B_OrdG%&Q_OrdG%%seq
vG%/default_lmprocG%.force_collectG%,force_evalaG%'lmprocG%'N_FormG%*N_Form_lmG
%/N_Form_autoredG%(seq_varG%,no_transferG%+start_timeG%+time_boundG%+trans_elem
G%'n_entrG%)rhs_entrG%*zero_listG%.rhs_zero_listG%'no_rhsG%(mulprocG%)critprocG
%#eqG%#ppG%.head_red_percG%-var_exteriorG%&extnfG%/tail_reductionG%*nowarningG%
+savecharacG%-saveratcoeffG%.last_was_zeroG%(do_normG%)entr_posG%'pseudoG%(comm
_lcG%*jnumber_qG6#%ipCopyright~(C)~2000-2010~by~Carlos~F.~Cid,~Arne~Lorenz~and~
Daniel~Robertz.~All~rights~reserved.G6"C_q>8.-%3JanetOre/procinputG6#9$>8M&Fho6
#""">8N&Fho6#""#>8Q&Fho6#""$>8C&Fho6#""&>8L&Fho6#""(>Fho&Fho6#""%>85-%2JanetOre
/procvarsG6$9%F^p>86&F[rFep>87&F[rFjp>88&F[rFhq>8:&F[rF_q>8in&F[r6#""'>F[r&F[rF
`p>%'_jnvarG-%%nopsG6#F[r@%0%0JanetOre/characG""!>Fho-%$modG6$-%(collectG6%FhoF
[r%,distributedGFjs>FhoF`t@$-%$hasG6$-%$mapG6$f*6#F*Feo6$%)operatorG%&arrowGFeo
3-%%typeG6$&F\pF`p-F(6#-%(polynomG6$%)anythingGT#-Fcu6$&F\pFepFfuFeoFeo6$F;F[rF
ho%&falseG-%&ERRORG6#-%$catG6%%Oexpecting~a~list~of~(lists~of)~polynomials~in~G
-%(convertG6$F[r%'stringG%4~as~first~argument.G>8@7#-%$seqG6$-Ffv6$%#_xG8)/Fgw;
FapFds>Far-%%subsG6$7#-Fbw6$/&F[r6#8(-Ffv6$FfwFdx/FdxFiwFar>%*_jonnformGF[t>%)_
joreducGF[t>%)_jocrit1GF[t>%)_jocrit2GF[t>%)_jocrit3GF[t>%)_jocrit4GF[t>8IF[t>8
R-%(unapplyG6%*&%#_aGFap%#_bGFapF\zF]z>8[o%%trueG>FdxF[q@%31F[q9#-Fcu6$&9"FjpF(
@'/Fhz7"C$>8WF\[l>FdxFiq45-Fcu6$Fhz-F(6#%(integerG-Fcu6$Fhz-F(6#F(C)>Fgy-%1Jane
tOre/procopsG6%F[rFhzF_w>F_z&FgyFhq>F_[l&FgyF_q@$0&Fgy6#"")F\[l>F]qF`z>Fbq7$-%#
opG6#Fbq-F^]l6#&Fgy6#""*>Fgy&FgyFjp>FdxFiq>F_[lF\[l>F_[lF\[l>%/_jvar_exteriorGF
_[l@$4%2JanetOre/ratcoeffG@&0-%&minusG6$-%'indetsG6#-Fjt6$f*F]uFeoF^uFeoFeuFeoF
eoFeoFho<#-F^]lFgs<"-Fcv6#%cono~parameters~allowed~in~involutive~basis~computat
ion~over~the~integers.GF]q-Fcv6#%apno~algebraic~extensions~are~allowed~in~invol
utive~basis~computation~over~the~integers.G>8B-%&evalbG6#0-Fb^l6$<#F]]lFj^lF\_l
>8A4F]q>8hnF`z@%/FarF\[l>8<Fiq>Fd`l7#-%"$G6$Fiq-Ffs6#Far>8KF[t>83Fav>8YF`z>8V"$
+">8ZFav>8enFjs>8fnF^^l>8XF`z?(FgwFdxFapFezF`z@)-Fcu6$&Fiz6#FgwF\w@%/FablQ&deno
mFeoFeoC$>82Fabl?(8*FapFap-%'lengthG6#FhblF`z@(/&Fhbl6#FjblQ"NFeo>F``lFav/F`clQ
"SFeoC$>F]qF`z>F]`lFav0F`clQ!Feo-Fcv6#%aooptions~must~be~given~by~a~string~cons
isting~of~letters~in~|fr"N",~"S"|hr.G5-Fcu6$FablFg[l-Fcu6$FablF(>Fd`lFabl-Fcu6$
Fabl%)equationG@7/-F^]l6$FapFablQ%charFeo@%3-Fcu6$-F^]l6$FfpFablFg[l5/F`elF[t-%
(isprimeG6#F`elC$>FjsF`el@$Fis>F^^lF`z-Fcv6#%Texpecting~zero~or~a~prime~number~
for~option~"char".G/FidlQ)divisionFeoC$@$54-Fcu6$F`elF(30<#-F^]lFfel<#-Fh`l6#Fi
w0FhflFj^l-Fcv6#%Oexpecting~priority~list~for~option~"division".G@%/FhflFjfl>%2
JanetOre/divisionGF`el>Fdgl-Fjt6$f*6#F.6#F0FeoFeoC$-%'memberG6%F\pF\v.8$F`hlFeo
FeoF`vF`el/FidlQ%timeFeoC$@$4-Fcu6$F`el%*nonnegintG-Fcv6#%Sexpecting~time~bound
~in~seconds~for~option~"time".G>F]alF`el/FidlQ(percentFeo>FcalF`el/FidlQ&quietF
eoFeo/FidlQ)GroebnerFeoC$@$4-Fcu6$F`el%(booleanG-Fcv6#%Oexpecting~boolean~value
~for~option~"Groebner".G>F_alF`el/FidlQ.tailreductionFeoC$@$Ffil-Fcv6#%Texpecti
ng~boolean~value~for~option~"tailreduction".G>FaalF`el/FidlQ*nowarningFeoC$@$Ff
il-Fcv6#%Pexpecting~boolean~value~for~option~"nowarning".G>FfalF`el/FidlFeblFeo
/FidlQ3exteriornormalformFeoC$@$Ffil-Fcv6#%Yexpecting~boolean~value~for~option~
"exteriornormalform".G>F\blF`el-Fcv6#%0invalid~option.GFg[m@%F_z@'F]qC$>Fho-%&e
valaG6#Fho@%F^^lC%>8E%?JanetOre/jnormal_form_evala_lcG>8F%BJanetOre/jnormal_for
m_evala_lc_lmG>8GFe\mC%>Fd\m%=JanetOre/simp_jnormal_form_ZG>Fg\m%@JanetOre/simp
_jnormal_form_Z_lmG@%%0JanetOre/absremG>Fj\m%AJanetOre/simp_jnormal_form_Z_absG
>Fj\m%DJanetOre/simp_jnormal_form_Z_nonnegGFd_l@%F^^lC%>Fd\m%AJanetOre/jnormal_
form_collect_lcG>Fg\m%DJanetOre/jnormal_form_collect_lc_lmG>Fj\mFi]mC%>Fd\mF]]m
>Fg\mF_]m@%Fa]m>Fj\mFc]m>Fj\mFe]m@%F^^lC%>Fd\m%9JanetOre/jnormal_form_lcG>Fg\m%
<JanetOre/jnormal_form_lc_lmG>Fj\mFf^mC%>Fd\m%8JanetOre/jnormal_form_ZG>Fg\m%;J
anetOre/jnormal_form_Z_lmG@%Fa]m>Fj\m%<JanetOre/jnormal_form_Z_absG>Fj\m%?Janet
Ore/jnormal_form_Z_nonnegG@'F]qC$>FhoF^\m@%F^^lC%>Fd\m%<JanetOre/jnormal_form_e
valaG>Fg\m%?JanetOre/jnormal_form_evala_lmG>Fj\mFj_mC%>Fd\mF]]m>Fg\mF_]m@%Fa]m>
Fj\mFc]m>Fj\mFe]mFd_l@%F^^lC%>Fd\m%>JanetOre/jnormal_form_collectG>Fg\m%AJanetO
re/jnormal_form_collect_lmG>Fj\mFg`mC%>Fd\mF]]m>Fg\mF_]m@%Fa]m>Fj\mFc]m>Fj\mFe]
m@%F^^lC%>Fd\m%6JanetOre/jnormal_formG>Fg\m%9JanetOre/jnormal_form_lmG>Fj\mFdam
C%>Fd\mF\_m>Fg\mF^_m@%Fa]m>Fj\mFa_m>Fj\mFc_m@'F]q@%/FjsF[t>8U%8JanetOre/simp_pr
im_partG>Fbbmf*6%%"pGF;%"qGFeoFeoFeo7$F\p9&FeoFeoFeoFd_l>FbbmFcbm>Fbbm%3JanetOr
e/prim_partG>8+-%1JanetOre/procordG6*Fd`lF[rFarFdrFgrF_wF]sF]`l>8=&F_cmFep>8>&F
_cmFjp@$&F_cmFhq>F]sF\[l>89&F_cmF_s>8Tf*6$F*F+FeoFeoFeo-Ff_l6#/&F\p6#;FapFfp&F_
rFgdmFeoFeoFeo>8?f*6$F\zF]z6%F0%#n1G%#n2GFeoFeo@%/&F\pFjp&F_rFjp@'30F_vFcem/&F_
rFepFdemF`z3/F_vFcem0FiemFdemFavC%>8%-%*numboccurG6$&FeuF`pF[t>8&-Fafm6$&&F_rF`
pF`pF[t@'2FefmF_fmF`z2F_fmFefmFav-Ff_l6#2-Ffs6#-Fjv6$Fcfm%"+G-Ffs6#-Fjv6$FhfmFd
gm-F\v6$F\pF_rFeoFeo6$FCFdcm@$/&Fdr6#;,&FdsFapFapFap,&FdsFapF^pFap7#-Fh`l6$F[tF
^p>FdrF[t>8D-%&parseG6#-Ffv6/Q<g->`JanetOre/j_lead_mon`(g,Feo-Fjv6$F^pF\wQ",Feo
-Fjv6$F_wF\wFaim-Fjv6$&F_cmF`pF\wFaim-Fjv6$F]sF\wFaim-Fjv6$&F_cmF_qF\wFaim-Fjv6
$FdrF\wQ")Feo@%0Fjr7#-Fh`l6#;FapF^pC$>Fho-Fjt6$f*Figl6#F/FeoFeo-%'subsopG6$/Fap
7#-Fbw6$&Feu6#&F\v6#F`hl/F`hl;FapT%F\pFeoFeo6&F@FjrFSF^pFho>8;-Fjt6$f*FiglFjjmF
eoFeoC$F\hlF`hlFeoFeo6$F@FjrFajm>F[\nFjr@$0F_wF[r>Fho-Fjt6$f*F]uFeoF^uFeo-F\x6$
7#-Fbw6$/&Fh[n6#F\v-Ffv6$FfwF\v/F\vFiwF\pFeoFeo6&F/FgwF;F[rFho>8OFchm>8P7#-Fh`l
6$F[t-Ffs6#&Fho6$FapFfp@+/%1JanetOre/invcritGF\[l>8Sf*FeoFeoFeoFeoFavFeoFeoFeo/
Fa^n7$FapFfp>Fc^n%5JanetOre/jcriteria12G/Fa^n7%FapFfpF[q>Fc^n%6JanetOre/jcriter
ia123G/Fa^n7&FapFfpF[qFiq>Fc^n%7JanetOre/jcriteria1234G-Fcv6#%Uundefined~involu
tive~criteria;~see~?JanetOreOptions.G>%._JBOre_factorG.Fe_n>%6_JBOre_factor_mul
tvarG.Fh_n>%+_JBOre_varG.F[`n>%-_JBOre_compaG.F^`n>%&J_HOMGF\[l>%*_jinv_denGF\[
l>8J-%%timeGFeo@$F\bl>Fho-%.JanetOre/rmsqG6$Fho-Fjt6$f*FjjmFeoF^uFeo&F\vF[pFeoF
eo6$FFF_wF_[l>8/F\[l>8\oF[t?(FdxFapFap-FfsF`\mF`z@&53F`bm0&Fho6$FdxFapFe]n3Fis0
-F^t6$F\bnFjsFe]nC(@%0F]dmF\[l>Fefm7$-%7JanetOre/cancel_locvarG6%F\bnF_wF]dm-Fh
bn6%&Fho6$FdxFfpF_wF]dm>Fefm&FhoFcx@$F^^l>Fefm-Fbbm6%&FefmF`pF_w&FefmFep>Fefm7$
-Fjt6$f*F]uFeoF^uFeo-Fat6%F\pF\vFctFeoFeoFaanFdcnFecn>8,-Fhhm6#Fdcn@%F^^l>Fcan-
%8JanetOre/jbinary_insertG6)7)Fefm&F^dnF`pFgdn7#-Fh`l6$F[tFds-%:JanetOre/allmul
t_exteriorG6$FgdnF_[l&F^dnFepF\[lFcanFapFeanFeanF[emF`dm>Fcan-Fddn6)7)Fefm7$-F^
]l6#Fgdn&F^enF`pFcenFhdnF[enF^enF\[lFcanFapFeanFeanF[emF`dm>Fean-Ffs6#Fcan53F`b
m0F\cnFg]n3Fis0-F^t6$F\cnFjsFg]n>Fa`n7$-F^]l6#Fa`nF\cn@$/FeanF[tC1@%/F^pFap>Fhb
lF[t>FhblFe]n@$4Fhp@%/FcpFap>Fhbl/FhblF[t>Fhbl/FhblFg]n@$Fc\n>Fa`n-Fjt6$f*F]uFe
oF^uFeo-F\x6$7#-Fbw6$/-Ffv6$FfwFh[n&F\v6#Fh[n/Fh[nFiwF\pFeoFeo6&F;F[rF.FdxFa`n@
$F_gn>Fa`n-Fjt6$f*F]uFeoF^uFeo-F^]lF[pFeoFeoFeoFa`n@%F^^l>%)J_T_ListG7#7)7$Fe]n
Fg]n7$FhdnFapFainFhdn-F\en6$FainF_[l7$F[tFapF\[l>F]in7#7)F`in7%FhdnFapFapFhinFh
dnFbinFdinF\[l>%*jnumber_tGFap>FjsFhal>F^^lFjal>%'_jpvarGF_r>%*_jpno_rhsGFhp>%1
_jpforce_collectGFd_l>%/_jpforce_evalaGF]q>%)JTab_VarG7#7%F[t-%3JanetOre/jmult_
varG6$FbinF[rF[t>%*_JOStatssG7*FixF[yF]yF_yFayFcyFapFey@%32F[tF]alFfal-%'RETURN
G6#7$7#FhblF`z-Fc[o6#Ff[o>F]in7#&FcanF`p>Fcan-F\[n6$/Fap%%NULLGFcan>Fean,&FeanF
ap!""Fap@$0F_[lF\[lC$>80&-%=JanetOre/jjanet_div_exteriorG6'F]inF_wFgyFhhmF_[lFe
p?&FefmFh\oF`zC$>Fcan-Fddn6)FefmFcanFapFeanFeanF[emF`dm>FeanFhen>FjinFap?(FeoFa
pFapFeo30FcanF\[l5/F]alF[t2,&Ff`nFapFe`nFc\oF]alC2@$-%)assignedG6#%+JOPRINTnoTG
-%&printG6$Q##TFeo-Ffs6#F]in@$-F^^o6#%+JOPRINTlmTG?(FdxFe^oFc\oFapF`z-Fb^o6#&&F
]inFcxFjp@$-F^^o6#%+JOPRINTlcTG?(FdxFe^oFc\oFapF`z-Fb^o6#&F__oF_s@$-F^^o6#%)JOP
RINTTG?(FdxFe^oFc\oFapF`z-Fb^o6#F__o@$-F^^o6#%+JOPRINTnoQG-Fb^o6$Q##QFeoFhen@$-
F^^o6#%+JOPRINTlmQG?(FdxFhenFc\oFapF`z-Fb^o6#&&FcanFcxFjp@$-F^^o6#%+JOPRINTlcQG
?(FdxFhenFc\oFapF`z-Fb^o6#&F^aoF_s@$-F^^o6#%)JOPRINTQG?(FdxFhenFc\oFapF`z-Fb^o6
#F^ao@$33-F^^o6#%*JOPRINTHSG-Fcu6$Fcbo%'posintG/-F^t6$Fe^oFcboF[t-Fb^o6#-%8Jane
tOre/JHilbertSeriesGFeo>FdxFap>8--%$maxG6$-%&truncG6#,$*&FcalFapFeanFap#FapFdal
Fap>8gnFav>8jnFav>Fh\oF\[l?(FeoFapFapFeo3Ff]o5F[do1FdxF`coC'>FefmF[\o>FcanF]\o>
FeanFb\o@%33/F]dmF\[lF^^l-Fc^n6#Fefm>F[doF`zC$@%F^^l>8'-Fg\m6)FdcnF]inF_wFgyFhh
mFbbmF]dm>6$FaeoF]doFbeo@%/&FaeoF`pFe]n>F[doF`zC%>F[doFav>F^dn-Fhhm6#Fheo@%F]^l
@%0Fcen&FefmFjpC$@%-Fcu6$Ffen%'negintG>Fh\o-Fddn6)7)-%'expandG6#,$FaeoFc\o7$Fde
n,$FfenFc\oF`goFhdn-F\en6$F`goF_[l7$Fago&F^enFepF\[lFh\oFap-Ffs6#Fh\oFfgoF[emF`
dm>Fh\o-Fddn6)7)FaeoFcenFcenFhdn-F\en6$FcenF_[lF^enF\[lFh\oFapFfgoFfgoF[emF`dm@
$F]do>Fh\o-Fddn6)FefmFh\oFapFfgoFfgoF[emF`dm>Fh\oF`ho@%0FgdnFbfo>Fh\o-Fddn6)7)F
aeoFgdnFgdnFhdnF[enF^enF\[lFh\oFapFfgoFfgoF[emF`dm>Fh\oF`ho>Fdx,&FdxFapFapFap@$
0Fh\oF\[lC*>Fefm&Fh\oF`p>Fh\o-F\[n6$F_\oFh\o@$-F^^o6#%)JOPRINTgG-Fb^o6$Q"gFeoFd
cn@%Faal>Faeo-Fd\mFceo>FaeoFdcn@$-F^^o6#%)JOPRINThG-Fb^o6$Q"hFeoFaeo>F^dnF]fo@$
F]^l>F^dn-F\[n6$/FapFcenF^dn@'/FjinF[tC&>F]in7#7)FaeoFecnFgdnFhdnF[enF^enF\[l>F
jin,&FjinFapFapFap>Fh\o7$-F^]lFggo-F^]l6#-%?JanetOre/jjanet_separ_exteriorG6(Fd
`lF[emF_wFgyFhhmF_[l?&FgwFh\oF`zC$>Fcan-Fddn6)FgwFcanFapFeanFeanF[emF`dm>FeanFh
en/FecnFgdnC&>6$F]inFjbl-%<JanetOre/jbinary_insert_posG6)7)FaeoFecnFgdn&FefmFhq
F[enF^enF\[lF]inFapFjinFjinF[emF`dm@%2FjblFe^oC'?(Fgw,&FjblFapFapFapFapFe^oF`zC
$>Fcan-Fddn6)&F]inFbblFcanFapFeanFeanF[emF`dm>FeanFhen>F]in&F]in6#;FapFjbl>Fjin
Fjbl>Fey,&FeyFapFapFap-%>JanetOre/jtransfer_T_exteriorG6%Fd`lFdcmF_[l>FjinFe^o>
Fh\oFe[p?&FgwFh\oF`zC$>FcanF_\p>FeanFhenC&>F]in-Fddn6)Fa[pF]inFapFjinFjinFdcmF`
dm>FjinFc[p>Fh\oFe[p?&FgwFh\oF`zC$>FcanF_\p>FeanFhen@$33Fa[o4Ffal1F]alFj]o-%(WA
RNINGG6#%[ocomputation~of~involutive~basis~stopped~due~to~time~restriction.G@$3
2FapFjinFaalC%@$3F]^lF``l?(FdxFapFapFe^oF`z@$-Fcu6$&F]in6%FdxF`sFapFgfo@%/&F]in
F]cn&F]in6$FdxF[q>F]in-F\[n6$/Fdx-F\[n6$/Fap-Fjt6$f*F]uFeoF^uFeo-Fjt6$f*6#F-Feo
F^uFeo-F]go6#,$F\pFc\oFeoFeoFeoF\pFeoFeoFeo&F]inF]bn-F\[n6$/Ffp7$-F^]l6#&Fg`pFg
dm,$&Fg`pFjpFc\o-F\[n6$/F[q7$-F^]l6#&Fh`pFgdm,$&Fh`pFjpFc\o-F\[n6$/F`s7$-F]go6#
,$Fc`pFc\o&F]in6%FdxF`sFfpF__oF]in>F]in-F\[n6$/Fdx-F\[n6$/Fap-Fjt6$f*F]uFeoF^uF
eo-Fjt6$f*FgapFeoF^uFeoFhapFeoFeoFeoF\pFeoFeoFeoF[bpF^cpF]in>F]in-%7JanetOre/au
toreductionG6)F]inFj\mF_wFgyFhhmFbbmF]dm>FjinFe^o@$50F]s7#F^pF]^l>F]in-%%sortG6
$F]inFgcm@$F``l@%F^^l@%Fis?(FdxFapFapFe^oF`zC$@$0-Fb^l6$-Fe^l6#Fc`p<#-%&aliasGF
eoF\_l>Fc`n7$-F^]l6#Fc`nFc`p@%F]q>F]in-F\[n6$/Fdx-F\[n6$/Fap-Fjt6$f*F]uFeoF^uFe
o-F^t6$-F_\m6#-Fat6%-Fjt6$f*FgapFeoF^uFeo*&F\pFap&F]in6%F\vF`sFapFc\oFeoFeo6$F.
Fh[nF\pF\vFctFjsFeoFeo6&FFF_wF.FdxF[bp-F\[n6$/F`s7$FapFecpF__oF]in>F]in-F\[n6$/
Fdx-F\[n6$/Fap-Fjt6$f*F]uFeoF^uFeo-Fat6%-Fjt6$f*FgapFeoF^uFeo-F^t6$-%'NormalG6#
FggpFjsFeoFeoFjgpF\pF\vFctFeoFeoF[hpF[bpF\hpF]in?(FdxFapFapFe^oF`zC$@$Fgep>Fc`n
F`fp@%F]q>F]in-F\[n6$/Fdx-F\[n6$/Fap-Fjt6$f*F]uFeoF^uFeo-F_\m6#-Fat6%-Fjt6$f*Fg
apFeoF^uFeo-%'normalGFcipFeoFeoFjgpF\pF\vFctFeoFeoF[hpF[bpF\hpF]in>F]in-F\[n6$/
Fdx-F\[n6$/Fap-Fjt6$f*F]uFeoF^uFeo-Fat6%-Fjt6$f*FgapFeoF^uFeoFjjpFeoFeoFjgpF\pF
\vFctFeoFeoF[hpF[bpF\hpF]in@$4Fj_p?(FdxFapFapFe^oF`z@$Fa`p@%Ff`p>F]in-F\[n6$/Fd
x-F\[n6$/Fap-Fjt6$f*F]uFeoF^uFeo-Fjt6$f*FgapFeoF^uFeoFhapFeoFeoFeoF\pFeoFeoFeoF
[bpF\bpF]in>F]in-F\[n6$/Fdx-F\[n6$/Fap-Fjt6$f*F]uFeoF^uFeo-Fjt6$f*FgapFeoF^uFeo
FhapFeoFeoFeoF\pFeoFeoFeoF[bpF^cpF]in>FdxFap?(FeoFapFapFeo31FdxFjinFf`p>FdxF[io
@%/FdxFc[p>84Fap>Fb^qF[t@%3F_al/Fb^qF[t>Fhbl-Fjt6$f*F]uFeoF^uFeo@$F[fmFeuFeoFeo
FeoF]in>Fhbl-Fjt6$f*F]uFeoF^uFeoFeuFeoFeoFeoF]in>8H7#-Fbw6$/FexFbxFgx@%Fc\nC$>F
hbl-Fjt6$f*F]uFeoF^uFeo-F\x6$F\vF\pFeoFeo6$FNFa_q-%:JanetOre/pairstoequationsG6
'FhblFhpF^pFcpF[\n>Fa`n-Fjt6$f*F]uFeoF^uFeoF\`qFeoFeoF^`qFa`n>FhblF_`q@$F_gn>Fa
`n-Fjt6$f*F]uFeoF^uFeoFjhnFeoFeoFeoFa`n>FjsFhal>F^^lFjal>F^jnF_r>F`jnFhp>FbjnFd
_l>FdjnF]q>F][o7*FixF[yF]yF_yFayFcyFb^qFey@%Fifn>Ffjn-%$zipG6%f*6$F.F/FeoF^uFeo
7$F\p-F^]l6#F_rFeoFeoFeo-F\x6$Fa_q-F``q6'-Fjt6$f*F]uFeoF^uFeoFeuFeoFeoFeoF]inFh
pF^pFcpF[\n-Fjt6$f*F]uFeoF^uFeo7$-Fjjn6$&F]in6$F\pF`qF\v-F\x6$Fh[n*&&F]in6%F\pF
`sFapFap&F]in6%F\pF`sFfpFapFeoFeo6&F;F[rFNFa_q7#-Fh`l6#;FapFjin>Ffjn-Fgaq6%f*Fj
aqFeoF^uFeoF[bqFeoFeoFeo-F\x6$Fa_q-F``q6'-Fjt6$f*F]uFeoF^uFeoFeuFeoFeoFeoF]inFh
pF^pFcpF[\n-Fjt6$f*F]uFeoF^uFeo7$Fibq7$F]cq&T'6#&F]in6%F\pF[qFfpFeoFeo6(F;F[rFN
Fa_qF@FjrFecq@%F`[o7$Fhbl-Ff_l6#Fi]oFhblFeo6;FdsF^jnF`jnFbjnFdjnFfjnFa`nFixF[yF
]yF_yFayFcyFjinF]inF][oFc`nFe_nFh_nF[`nF^`nF[^lFjsF^^lFdglFeoFeo
M7R0
I6JanetOre/JLeftInversef*6$%"LG'%%varsG%%listG6'%"iG%"vG%#IBG%#LIG%$opsG6#%jnCo
pyright~(C)~2003-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C&@%2""#9#>8(&9
"6#""$>F8%%NULLG>8'-%$mapG6$f*6#F*F16$%)operatorG%&arrowGF1&9$6#"""F1F1F1&-%3Ja
netOre/procinputG6#FJ6#""%>8&-%0JanetOre/JBasisG6%-%1JanetOre/JAddRhsG6#F@9%F8@
%/-%8JanetOre/JHilbertSeriesGF1""!C$>F@7#-%$seqG6$-%$rhsG6#&FT6#,(-%%nopsG6#FTF
L8$!""FLFL/Fjo;FLFgo@%-%%typeG6$FJ%'matrixG-FbpFZC$>8%-%*substringG6$-%(convert
G6$-%+kerneloptsG6#%(versionG%'stringG;FL"")@%330FfpQ)Maple~V,F10FfpQ)Maple~6.F
1-F`p6$FJ%'MatrixG-F]rFZF@%%FAILGF1F1F1F1
M7R0
I-JanetOre/JHFf*6"6,%%NJHFG%"iG%"qG%"rG%"sG%+n_exteriorG%$varG%2tmp_J_T_List_da
taG%,given_basisG%/args_without_sG6#%\pCopyright~(C)~2000-2010~by~Carlos~F.~Cid
~and~Daniel~Robertz.~All~rights~reserved.GF$C*@$/9#""!-%'RETURNG6#F">8(.F;>8-%%
NULLG@%1F5"""C$>8,%&falseG@$/F5FB@%3-%%typeG6$&9"6#FB%)equationG/-%#opG6$FBFNQ$
varF$>F;-FT6$""#FN>F;FNC$>FE%%trueG?(8%FBFBF5Fhn@%3-FL6$&FO6#FjnFQ/-FT6$FBF_oFV
>F;-FT6$FZF_o>F>6$F>F_o@%FE>6$8+8*-%5JanetOre/setup_basisG6#F>@$4-%)assignedG6#
%)J_T_ListG-%&ERRORG6#%Lmissing~involutive~basis;~run~JBasis~first.G@%-Fdp6#%/_
jvar_exteriorG@%-FL6$F^q%%listG>8)-%%nopsGF]q-Fhp6$QSwrong~format~of~the~global
~variable~_jvar_exteriorF$F^q>FdqF6>8$f*6$F)F+6-%"aG%"bG%"dG%#dpG%"jG%"kG%"mG%"
nG%&n_mulG%"pG%%termGF$F$C'>F]p-Ffq6#&Ffp6%FBFBFB>F\p-Ffq6#&Ffp6%FB""$FB@%/9%F6
>8.*&F]pFB-%)binomialG6$,&F\pFB9$FBFatFB>F[t*&F]pFB-%$sumG6$*&-F^t6$FisFdqFB-F^
t6$,*F\pFBFis!""FatFBFdqF]u,&FatFBFdqF]uFB/Fdq;F6FatFB@$0&Ffp6%FB""'FBF6@%%3Jan
etOre/janetlikeG?&F\rFfpFhnC%>FE-%*numboccurG6$&F\r6#""&%)infinityG>8&-%(conver
tG6$&F\r6$FfsFB%"+G@%/FEF\p?(F;FcvFBFatFhn>F[t,&F[tFB-F^t6$,*F;FBFcvF]uFEFBF]uF
B,&FEFBF]uFBF]uC'>Fjn-%%subsG6$/FavF6F^v>F>7#-%"$G6$F6F\p?(F;FcvFBFatFhn>F[tF^w
>F>-%6JanetOre/nextmonomialG6$F>Fjn?(F$FBFBF$0F>FjwC%>8'-Fev6$F>Fiv?(F;,&FcvFBF
hxFBFBFatFhn>F[t,&F[tFB-F^t6$,,F;FBFcvF]uFhxF]uFEFBF]uFBFbwF]u>F>Fax?&F\rFfpFhn
C%>FEF[v>FcvFdv@%Fhs?(F;FcvFBFatFhn>F[tF^w@%F[w?(F;FcvFBFatFhn>F[tF^wC'>FjnFew>
F>Fjw?(F;FcvFBFatFhn>F[tF^w>F>Fax?(F$FBFBF$FexC%>FhxFix?(F;F\yFBFatFhn>F[tF^y>F
>Fax-F86#-%'expandG6#F[tF$F$F$@'-FL6$F;%'stringGC(>Fcv-%2JanetOre/pmax_degGFep@
$2F6Fdq>Fcv-%$maxG6$,&FdqFBFBFBFcv?(FjnF6FB,&FcvFBF]uFBFhn-%'printfG6%Q,s~=~%d:
~%a|+F$Fjn-F\r6$FjnFdq-F`\l6%Q-s~>=~%d:~%a~F$Fcv-%-JanetOre/JHPGF$@$FE-%9JanetO
re/restoreJ_T_ListG6#F\p-F86#F?-FL6$F;%(numericGC%>Fhx-F\r6$F;Fdq@$FEF[]lFhx@%F
EC$F[]lf*6#F'F$6$%)operatorG%&arrowGF$-F"6$T#/FVFatF$F$6$F/F>f*F[^lF$F\^lF$-F"6
#Fb^lF$F$F$F$F$F$F$
M7R0
I<JanetOre/monomcoefflistmultf*6&%"pG%$varG%$basG%%multG6)%"aG%"cG%"iG%"nG%"rG%
"xG%$posG6#%jnCopyright~(C)~2007-2010~by~Daniel~Robertz.~All~rights~reserved.G6
"C&>8'-%%nopsG6#9&@$/F6""!-%'RETURNG6#7">8(-%(collectG6%9$9%%,distributedG@'-%%
typeG6$FC%"+GC$>8%7#-%"$G6$F=F6?&8&FC%%trueG@%-FL6$FW%"*GC$>8)-%'selectG6%%0Jan
etOre/hasvarGFWFH@%/Fin%%NULLG>FQ-%'subsopG6$/""",&&FQ6#FfoFfoFWFfoFQC%>8*-%2Ja
netOre/findconeG6&FinFHF:9'@$/F\pF=-F?6#Fin>FQ-Fco6$/F\p,&&FQ6#F\pFfo*&FWFfo&F:
F[q!""FfoFQ@%-%$hasG6$FWFHC%>F\p-F^p6&FWFHF:F`p@$Fbp-F?6#FW>FQFfp>FQFbo-FL6$FCF
fnC$>Fin-F[o6%F]oFCFH@%F_o7$FC-FT6$F=,&F6FfoF^qFfoC$>F\pF]p@%FbpFin-Fco6$/F\p*&
FCFfoF]qF^qFR@%-Faq6$FCFHC$>F\p-F^p6&FCFHF:F`p@%FbpFCFjrFcrF3F3F3F3
M7R0
I4JanetOre/JDirectSumf*6"6#%"LG6#%[oCopyright~(C)~2003-2010~by~Mohamed~Barakat.
~All~rights~reserved.GF$C$>8$-%#opG6#-%$mapG6$f*6#%"aGF$6$%)operatorG%&arrowGF$
-%4JanetOre/jets_mkmatG6#-F06$f*F3F$F5F$&9$6#"""F$F$F$&-%3JanetOre/procinputG6#
F?6#""%F$F$F$7#9"-%6JanetOre/jets_diagmatG6#F+F$F$F$F$
M7R0
I:JanetOre/JParametrizationf*6$%$_R1G'%$varG%%listG6&%#R1G%$AR1G%$AR0G%$opsG6#%
^pCopyright~(C)~2003-2010~by~Mohamed~Barakat~and~Daniel~Robertz.~All~rights~res
erved.G6"C'@%2""#9#>8'&9"6#""$>F7%%NULLG>8$-%4JanetOre/jets_mkmatG6#-%$mapG6$f*
6#%"aGF06$%)operatorG%&arrowGF0&9$6#"""F0F0F0&-%3JanetOre/procinputG6#FM6#""%>8
%-%5JanetOre/JInvolutionG6%F?9%F7>8&-%0JanetOre/JSyzOpG6$FW&F96#;F4!""-FY6%FgnF
enF7F0F0F0F0
M7R0
I4JanetOre/pnegplex_Zf*6$%"aG%"bG6"6#%jnCopyright~(C)~2004-2010~by~Daniel~Rober
tz.~All~rights~reserved.GF'@%/&9$6#"""&9%F.@%2&F-6#""#&F1F5%&falseG%%trueG4-%1J
anetOre/pplex_ZG6$F-F1F'F'F'F'
M7R0
I;JanetOre/checkops_exteriorf*6#'%'opvarsG%%listG6#%"jG6#%joCopyright~(C)~2003-
2010~by~Arne~Lorenz~and~Daniel~Robertz.~All~rights~reserved.G6"C$?(8$"""F0-%%no
psG6#9$%%trueG@'-%%typeG6$&F46#F/%)functionG@$/-%(convertG6$-%#opG6$""!F:%'stri
ngGQ)exteriorF,-%'RETURNG6#F5-F86$F:%)equationG@$4-F86$-FC6$""#F:%*procedureG-%
&ERRORG6#%Goperators~must~be~given~as~procedures.G-FW6#%@operator~list~has~wron
g~format.G-FI6#%&falseGF,F,F,F,
M7R0
I:JanetOre/JLeadingMonomialf*6$%"LG'%%varsG%%listG6;%"aG%"iG%"lG%#lcG%#ltG%"FG%
#LMG%"SG%'n_entrG%$varG%(var_ordG%'vt_degG%(deg_ordG%)tup_permG%%seqvG%(seq_var
G%'lmprocG%(tup_cmpG%&m_ordG%)entr_posG%/as_multi_indexG%*tmp_jnvarG%,tmp_jvard
egG%,tmp_jtupdegG%0tmp_jentrblocksG6#%jnCopyright~(C)~2000-2010~by~Daniel~Rober
tz.~All~rights~reserved.G6"CJ@$0%5JanetOre/initializedG.%%trueG-%.JanetOre/init
GFE@%-%%typeG6$9$F(>8)FR>FT7#FR>FT-%3JanetOre/procinputG6#FT>8,&FT6#""">89%'_jn
varG>8:%)_jvardegG>8;%)_jtupdegG>8<%-_jentrblocksG>8--%2JanetOre/procvarsG6$9%F
fn>8.&Fgo6#""#>8/&Fgo6#""$>80&Fgo6#""%>81&Fgo6#""&>87&Fgo6#""'>Fgo&FgoFhn>F\o-%
%nopsG6#Fgo>827#-%$seqG6$-%$catG6$%#_xG8%/Fer;FinF\o>F]p-%%subsG6$7#-F_r6$/&Fgo
6#FerFarFfrF]p>FT-%(collectG6%&FTFipFgo%,distributedG>8'%&falseG>8(Fjs>88Fjs@%/
F]p7">86Fjp>Fct7#-%"$G6$Fjp-Fiq6#F]p@%31Fep9#-FP6$&9"FdpF(@%5/FauFat4-FP6$Fau-F
(6#%(integerG>8&Fjp>F]vFep>F]vFep?(8$F]vFinF^uFK@'5-FP6$&Fbu6#FavF[v-FP6$FfvF(>
FctFfv-FP6$Ffv%'stringGC$>8+Ffv?(FerFinFin-%'lengthG6#F`wFK@*/&F`wFasQ"CFE>FisF
K/FgwQ"MFE>F^tFK/FgwQ"TFE>F\tFK0FgwQ!FE-%&ERRORG6#%0invalid~option.GFbx>F]v-%1J
anetOre/procordG6*FctFgoF]pFbpFgpF\rFaqFK>84&F]vFhn@$&F]vFip>FaqFat>85&F]vF^q@$
/&Fbp6#;,&F\oFinFinFin,&F\oFinFfnFin7#-Fgt6$""!Ffn>FbpF]z@$0F\rFgoC$>FT-%$mapG6
$f*6#F*FE6$%)operatorG%&arrowGFE-Fjr6$7#-F_r6$/&T'6#T%&T#Fc[l/Fd[lFgrFRFEFE6(F8
F\rF+FerF3FgoFT>837#-F_r6$/&F\rFasF`sFfr@$0F\q7#-Fgt6#;FinFfn>FT-Fdz6$f*6#F+6#%
"jGFEFE-%'subsopG6$/Fin7#-F_r6$&&FRFhn6#&Ff[lFgv/Fav;FinFd[lFRFEFE6&F7F\qF2FfnF
T>8*Fat@%Fis?(FerFinFin-FiqFZFKC$>F]v-%4JanetOre/j_lead_monG6)&FT6$FerFinFfnF\r
F[yFaqFayFbp@%F^t@%F\t>F\^l7$-%#opG6#F\^l7$F\y&F]v6$F`pFin>F\^l7$F[_l7$&F]v6$Fi
nFinF__l@%F`z>F\^l7$F[_l7$*&F__lFin-Fjr6$Fj[l&F]v6$F`pF`pFin&F]v6$FinF`p>F\^l7$
F[_l7$*&F__lFinF]`lFinF_`l?(FerFinFinF_^lFKC$>F]vFb^l@%F^t@%F\t>F\^l7$F[_lF\y>F
\^l7$F[_lFd_l@%F`z>F\^l7$F[_l7$F[`lF_`l>F\^l7$F[_l7$F]`lF_`l@$4F^t@%F\t@%Fa\lC$
>F\q-Fdz6$f*Fj\lF[]lFEFEC$-%'memberG6%FRFf[l.FavFavFEFE6$F7F\qFb\l>F\^l-Fdz6$f*
FgzFEFhzFE-F^]l6$/&Ff[l6#&FRF_pFe]l7#-Fgt6$F]zFd[lFEFEFj]lF\^l>F\^l-Fdz6$f*FgzF
EFhzFE-F^]l6$/F]clFe]l7#-Fgt6$F]zFf[lFEFE6$F2FfnF\^l>F\^l-Fdz6$f*FgzFEFhzFEFe]l
FEFEFEF\^l>F\oF[o>F_oF^o>FboFao>FeoFdo@%4FOF[_lF\^lFE6&F\oF_oFboFeoFEFE
M7R0
I3JanetOre/prim_partf*6%'%"pG%%listG'%$varGF''%"qGF'6(%"aG%#coG%"gG%"hG%"iG%"rG
6#%jnCopyright~(C)~2000-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C'>8'9$>
8)9&@%0%0JanetOre/characG""!C%>8&-%$modG6$-%(ContentG6$&F86#"""9%F?>8(""#?(F5FL
FLF530FCFL1FO-%%nopsG6#F8C%>8%-FE6$-FH6$&F86#FOFMF?>FC-FE6$-FH6$,&*&FCFL%$_x1GF
LFL*&FZFL%$_x2GFLFL7$FboFdoF?>FO,&FOFLFLFLC%>FC-%(contentGFI>FOFP?(F5FLFLF5FRC%
>FZ-F[pFhn>FC-F[pF_o>FOFgo@$30FCF@FSC%@%/F?F@>F8-%$mapG6$f*6#F-F56$%)operatorG%
&arrowGF5-%(collectG6%-%'normalG6#*&F9FLT#!""T&%,distributedGF5F56&F/FCF)FMF8>F
8-F\q6$f*F_qF5F`qF5-Fdq6%-FE6$-%'NormalGFhqF?F\rF]rF5F5F^rF8@$0-%&minusG6$-%'in
detsG6#FC<#-%&aliasGF5<">%*_jinv_denG7$-%#opG6#FfsFC@$0F;7"@%Fip>F;-Fgq6#*&F;FL
FCF[r>F;-FE6$-FhrFatF?7$F8F;F5FjsF5F5
M7R0
I>JanetOre/jnormal_form_lc_polyf*6)%"fG%"FG%%seqvG%(mulprocG%'lmprocG%'ppprocG%
(loc_varG66%"aG%#caG%#cbG%"hG%"iG%"kG%"rG%#lmG%(termo_hG%$divG%'n_entrG%*zero_l
istG%.rhs_zero_listG%#lvG%#nlG%#nvG%"HG%"eG%#meG%#hiG6#%\pCopyright~(C)~2000-20
10~by~Carlos~F.~Cid~and~Daniel~Robertz.~All~rights~reserved.G6"C,>%*_jonnformG,
&FF"""FHFH>8'9$>8.-%%nopsG6#&FJ6#FH@$09*7"C'>81<#-%$seqG6$&9&6#&FU6#8(/F]o;FH-F
O6#FU>82-FO6#FY>83-%'removeG6%%$hasGFinFY>84FV>FJ7$-%7JanetOre/cancel_locvarG6%
FQFinFU-Fap6%&FJ6#""#FinFU>8/7#-%"$G6$""!FM>807#-F\q6$F^q-FO6#Fep>8*7$FipF`q>8+
-9(FP?(FCFHFHFC0&Fjq6$FgpFHF^qC)>F]oFH>8-%&falseG>8,*&F_rFH&Fjq6$FgpFgpFH@$FT>8
5,&-%$maxG6#-Ffn6$-%'degreeG6$&FQ6#8)FY/Fis;FHFMFH-%$addG6$&&Fjq6$FHFH6#&FUFhs/
Fis;FHFco!""?(FCFHFHFC31F]o-FO6#9%4Fdr@%-%5JanetOre/pinv_divideG6%&F\u6$F]o""$&
F\u6$F]o""&&FjqFRC%>%)_joreducG,&F[vFHFHFH@%FTC,>86,&-F`s6#-Ffn6$-Fes6$&&F\u6%F
]oFHFHFhsFYFjsFH-F]t6$&&F\u6%F]oFduFHFbtFdtFft>87F^q>Fis-FO6#F]p?(FCFHFHFC32F^q
F`v2F^qFisC$@$331&&F]pFhs6#FduF`v/&&&F_xFfpFRFfp&FhuFfp-%8JanetOre/conv_divisib
leG6$FcxFhuC$>FawFis>F`vF^x>Fis,&FisFHFftFH@$3Fgw0&FgqFRFip[@$2F]sF`vC$>Fis-9)6
%FQFin7$Fep&&FjqFfpFR>F]p7$-%#opGFdw7%7$&FisFR&&FisFfpFR7$Fhu-%'subsopG6$/FH&Fe
zFfpF\zF]s@%/FawF^q>FJ-%'expandG6#,&*&&F\u6%F]o""'FHFHFJFHFH7$,$*(FgrFH&F\u6%F]
oFf[lFgpFftFivFHFft,$*(FgrFHFj[lFft&F\u6%F]oFHFgpFHFftFH>FJ-F`[l6#,&*&&&&&F]p6#
FawFfpFfpFRFHFJFHFH7$,$*(FgrFH&Ff\lFfpFft&&Fh\lFRFRFHFft,$*(FgrFHF]]lFft&F_]lFf
pFHFftFH>FJ-Fhy6%FQFinFep>FJF_p@$0%0JanetOre/characGF^q>FJ-%$modG6$FJFi]l@%/Fi]
lF^qC%-%$gcdG6&F_rFd[l.8%.8&>Fis-%'normalG6#*(Fe^lFHFirFHFj[lFft>FJ7$-Fj^l6#,&-
%$mapG6$f*6#F-FC6$%)operatorG%&arrowGFC*&T#FHFKFHFCFC6$F/Fg^lFQFH-Fc_l6$f*Ff_lF
CFg_lFC-T&6$F[`lFKFCFC6&F2FisF(9'FivFft-Fj^l6#,&-Fc_l6$f*Ff_lFCFg_lFCFj_lFCFCF\
`lFepFH-Fc_l6$f*Ff_lFCFg_lFCF``lFCFCFc`lF^\lFftC%-F\^l6$-%$GcdGFc^lFi]l>Fis-F\^
l6$-%'NormalGF[_lFi]l>FJ7$-F\^l6$-Fgal6#,&-Fc_l6$f*Ff_lFCFg_lFCFj_lFCFCF\`lFQFH
-Fc_l6$f*Ff_lFCFg_lFCF``lFCFCFc`lFivFftFi]l-F\^l6$-Fgal6#,&-Fc_l6$f*Ff_lFCFg_lF
CFj_lFCFCF\`lFepFH-Fc_l6$f*Ff_lFCFg_lFCF``lFCFCFc`lF^\lFftFi]l>Fdr%%trueG>F]o,&
F]oFHFHFH@%F]u@%F_^lC$>Fgq7$-Fhz6$/&Fjq6$FHFgp-Fj^l6#,&&Fay6#F\dlFHFhrFHFay&Fgq
Ffp>FJ7$-Fhz6$/F\dl-Fj^l6#,&&FQFbdlFHFhrFftFQFepC$>Fgq7$-Fhz6$/F\dl-F\^l6$-Fgal
F_dlFi]lFayFcdl>FJ7$-Fhz6$/F\dl-F\^l6$-FgalFjdlFi]lFQFep@%Fh]l>Fgq-F\^l6$*&Fg^l
FHFgqFHFi]l>FgqFbfl>FjqF[r@'3/FayFip0FepF`qC%>Fep&-Fhy6%FepFinFVFR@$3Fhfl4-%5Ja
netOre/member_multG6%Fep%&J_HOMGFin>Fdgl7$-F`z6#FdglFep7$FayF`qFgfl7$FipFepC$@$
FT>Fay-Fap6%FayFinFU-Fhy6%FayFinFepFC6%FdglFFF[vFCFC
M7R0
I?JanetOre/jnormal_form_simplifyf*6)%"fG%"FG%%seqvG%(mulprocG%'lmprocG%'ppprocG
%(loc_varG66%"aG%#caG%#cbG%"hG%"iG%"kG%"rG%#lmG%(termo_hG%$divG%'n_entrG%*zero_
listG%.rhs_zero_listG%#lvG%#nlG%#nvG%"HG%"eG%#meG%#hiG6#%\pCopyright~(C)~2000-2
010~by~Carlos~F.~Cid~and~Daniel~Robertz.~All~rights~reserved.G6"C,>%*_jonnformG
,&FF"""FHFH>8'9$>8.-%%nopsG6#&FJ6#FH@$09*7"C'>81<#-%$seqG6$&9&6#&FU6#8(/F]o;FH-
FO6#FU>82-FO6#FY>83-%'removeG6%%$hasGFinFY>84FV>FJ7$-%7JanetOre/cancel_locvarG6
%FQFinFU-Fap6%&FJ6#""#FinFU>8/7#-%"$G6$""!FM>807#-F\q6$F^q-FO6#Fep>8*7$FipF`q>8
+-9(FP?(FCFHFHFC0&Fjq6$FgpFHF^qC)>F]oFH>8-%&falseG>8,*&F_rFH&Fjq6$FgpFgpFH@$FT>
85,&-%$maxG6#-Ffn6$-%'degreeG6$&FQ6#8)FY/Fis;FHFMFH-%$addG6$&&Fjq6$FHFH6#&FUFhs
/Fis;FHFco!""?(FCFHFHFC31F]o-FO6#9%4Fdr@%-%5JanetOre/pinv_divideG6%&F\u6$F]o""$
&F\u6$F]o""&&FjqFRC%>%)_joreducG,&F[vFHFHFH@%FTC,>86,&-F`s6#-Ffn6$-Fes6$&&F\u6%
F]oFHFHFhsFYFjsFH-F]t6$&&F\u6%F]oFduFHFbtFdtFft>87F^q>Fis-FO6#F]p?(FCFHFHFC32F^
qF`v2F^qFisC$@$331&&F]pFhs6#FduF`v/&&&F_xFfpFRFfp&FhuFfp-%8JanetOre/conv_divisi
bleG6$FcxFhuC$>FawFis>F`vF^x>Fis,&FisFHFftFH@$3Fgw0&FgqFRFip[@$2F]sF`vC$>Fis-9)
6%FQFin7$Fep&&FjqFfpFR>F]p7$-%#opGFdw7%7$&FisFR&&FisFfpFR7$Fhu-%'subsopG6$/FH&F
ezFfpF\zF]s@%/FawF^q>FJ-%)simplifyG6#7$,&-%$mapG6$f*6#F-FC6$%)operatorG%&arrowG
FC*(T#FH&T&6%T'""'FgpFftFKFHFCFC6(F5FgrF&F\uF1F]oFivFft-Fe[l6$f*Fh[lFCFi[lFC*&&
T$6%T%Fb\lFHFHFKFHFCFC6&F&F\uF1F]oFQFH,&-Fe[l6$f*Fh[lFCFi[lFCF\\lFCFCFc\l&F\u6%
F]oFHFgpFft-Fe[l6$f*Fh[lFCFi[lFCFg\lFCFCF\]lFepFH>FJ-F`[l6#7$,&-Fe[l6$f*Fh[lFCF
i[lFC*(F]\lFH&&&&F[]l6#Fa\lFfpFfpFfpFftFKFHFCFC6(F5FgrF=F]pF@Faw&&&F]p6#FawFRFR
Fft-Fe[l6$f*Fh[lFCFi[lFC*&&&&&F]\l6#F[]lFfpFfpFRFHFKFHFCFC6&F=F]pF@FawFQFH,&-Fe
[l6$f*Fh[lFCFi[lFCF^^lFCFCFd^l&Ff^lFfpFft-Fe[l6$f*Fh[lFCFi[lFCF\_lFCFCFb_lFepFH
>FJ-Fhy6%FQFinFep>FJF_p@$0%0JanetOre/characGF^q>FJ-%$modG6$FJFa`lC$@%/Fa`lF^q-%
$gcdG6&F_r&F\u6%F]oFb\lFH.8%.8&-Fd`l6$-%$GcdGF[alFa`l>FJ-F`[l6#7$,&-Fe[l6$f*Fh[
lFCFi[lFC*&F]\lFHFKFHFCFC6$F/FaalFQFH-Fe[l6$f*Fh[lFCFi[lFC-T,6$*(F]\lFH&F[]lFjr
FH&T(6%T)Fb\lFgpFftFKFCFC6,F.F_alF4FjqF&F\uF1F]oF(9'FivFft,&-Fe[l6$f*Fh[lFCFi[l
FCF^blFCFCF_blFepFH-Fe[l6$f*Fh[lFCFi[lFCFcblFCFCF\clFa]lFft>Fdr%%trueG>F]o,&F]o
FHFHFH@%F]uC$>Fgq7$-Fhz6$/&Fjq6$FHFgp-%(collectG6%,&&Fay6#F`dlFHFhrFHFin%,distr
ibutedGFay&FgqFfp>FJ7$-Fhz6$/F`dl-Fcdl6%,&&FQFgdlFHFhrFftFinFhdlFQFep@%Fh`l>Fgq
-Fcdl6%7$-%'normalG6#-%&evalaG6#-Fe[l6$f*Fh[lFCFi[lFCF^blFCFCF_blFay-Fiel6#-F\f
l6#-Fe[l6$f*Fh[lFCFi[lFCF^blFCFCF_blFidlFinFhdl>Fgq-Fcdl6%7$-Fd`l6$-%'NormalG6#
-F\fl6#-Fe[l6$f*Fh[lFCFi[lFCF^blFCFCF_blFayFa`l-Fd`l6$-F_gl6#-F\fl6#-Fe[l6$f*Fh
[lFCFi[lFCF^blFCFCF_blFidlFa`lFinFhdl>FjqF[r@'3/FayFip0FepF`qC%>Fep&-Fhy6%FepFi
nFVFR@$4-%5JanetOre/member_multG6%Fep%&J_HOMGFin>F^il7$-F`z6#F^ilFep7$FayF`qFbh
l7$FipFep-Fhy6%FayFinFepFC6%F^ilFFF[vFCFC
M7R0
IBJanetOre/jnormal_form_simplify_lcf*6)%"fG%"FG%%seqvG%(mulprocG%'lmprocG%'pppr
ocG%(loc_varG66%"aG%#caG%#cbG%"hG%"iG%"kG%"rG%#lmG%(termo_hG%$divG%'n_entrG%*ze
ro_listG%.rhs_zero_listG%#lvG%#nlG%#nvG%"HG%"eG%#meG%#hiG6#%\pCopyright~(C)~200
0-2010~by~Carlos~F.~Cid~and~Daniel~Robertz.~All~rights~reserved.G6"C,>%*_jonnfo
rmG,&FF"""FHFH>8'9$>8.-%%nopsG6#&FJ6#FH@$09*7"C'>81<#-%$seqG6$&9&6#&FU6#8(/F]o;
FH-FO6#FU>82-FO6#FY>83-%'removeG6%%$hasGFinFY>84FV>FJ7$-%7JanetOre/cancel_locva
rG6%FQFinFU-Fap6%&FJ6#""#FinFU>8/7#-%"$G6$""!FM>807#-F\q6$F^q-FO6#Fep>8*7$FipF`
q>8+-9(FP?(FCFHFHFC0&Fjq6$FgpFHF^qC)>F]oFH>8-%&falseG>8,*&F_rFH&Fjq6$FgpFgpFH@$
FT>85,&-%$maxG6#-Ffn6$-%'degreeG6$&FQ6#8)FY/Fis;FHFMFH-%$addG6$&&Fjq6$FHFH6#&FU
Fhs/Fis;FHFco!""?(FCFHFHFC31F]o-FO6#9%4Fdr@%-%5JanetOre/pinv_divideG6%&F\u6$F]o
""$&F\u6$F]o""&&FjqFRC%>%)_joreducG,&F[vFHFHFH@%FTC,>86,&-F`s6#-Ffn6$-Fes6$&&F\
u6%F]oFHFHFhsFYFjsFH-F]t6$&&F\u6%F]oFduFHFbtFdtFft>87F^q>Fis-FO6#F]p?(FCFHFHFC3
2F^qF`v2F^qFisC$@$331&&F]pFhs6#FduF`v/&&&F_xFfpFRFfp&FhuFfp-%8JanetOre/conv_div
isibleG6$FcxFhuC$>FawFis>F`vF^x>Fis,&FisFHFftFH@$3Fgw0&FgqFRFip[@$2F]sF`vC$>Fis
-9)6%FQFin7$Fep&&FjqFfpFR>F]p7$-%#opGFdw7%7$&FisFR&&FisFfpFR7$Fhu-%'subsopG6$/F
H&FezFfpF\zF]s@%/FawF^q>FJ-%)simplifyG6#7$,&-%$mapG6$f*6#F-FC6$%)operatorG%&arr
owGFC*(T#FH&T&6%T'""'FgpFftFKFHFCFC6(F5FgrF&F\uF1F]oFivFft-Fe[l6$f*Fh[lFCFi[lFC
*&&T$6%T%Fb\lFHFHFKFHFCFC6&F&F\uF1F]oFQFH,&-Fe[l6$f*Fh[lFCFi[lFCF\\lFCFCFc\l&F\
u6%F]oFHFgpFft-Fe[l6$f*Fh[lFCFi[lFCFg\lFCFCF\]lFepFH>FJ-F`[l6#7$,&-Fe[l6$f*Fh[l
FCFi[lFC*(F]\lFH&&&&F[]l6#Fa\lFfpFfpFfpFftFKFHFCFC6(F5FgrF=F]pF@Faw&&&F]p6#FawF
RFRFft-Fe[l6$f*Fh[lFCFi[lFC*&&&&&F]\l6#F[]lFfpFfpFRFHFKFHFCFC6&F=F]pF@FawFQFH,&
-Fe[l6$f*Fh[lFCFi[lFCF^^lFCFCFd^l&Ff^lFfpFft-Fe[l6$f*Fh[lFCFi[lFCF\_lFCFCFb_lFe
pFH>FJ-Fhy6%FQFinFep>FJF_p@$0%0JanetOre/characGF^q>FJ-%$modG6$FJFa`lC$@%/Fa`lF^
q-%$gcdG6&F_r&F\u6%F]oFb\lFH.8%.8&-Fd`l6$-%$GcdGF[alFa`l>FJ-F`[l6#7$,&-Fe[l6$f*
Fh[lFCFi[lFC*&F]\lFHFKFHFCFC6$F/FaalFQFH-Fe[l6$f*Fh[lFCFi[lFC-T,6$*(F]\lFH&F[]l
FjrFH&T(6%T)Fb\lFgpFftFKFCFC6,F.F_alF4FjqF&F\uF1F]oF(9'FivFft,&-Fe[l6$f*Fh[lFCF
i[lFCF^blFCFCF_blFepFH-Fe[l6$f*Fh[lFCFi[lFCFcblFCFCF\clFa]lFft>Fdr%%trueG>F]o,&
F]oFHFHFH@%F]uC$>Fgq7$-Fhz6$/&Fjq6$FHFgp-%(collectG6%,&&Fay6#F`dlFHFhrFHFin%,di
stributedGFay&FgqFfp>FJ7$-Fhz6$/F`dl-Fcdl6%,&&FQFgdlFHFhrFftFinFhdlFQFep@%Fh`l>
Fgq-Fcdl6%7$-%'normalG6#-%&evalaG6#-Fe[l6$f*Fh[lFCFi[lFCF^blFCFCF_blFay-Fiel6#-
F\fl6#-Fe[l6$f*Fh[lFCFi[lFCF^blFCFCF_blFidlFinFhdl>Fgq-Fcdl6%7$-Fd`l6$-%'Normal
G6#-F\fl6#-Fe[l6$f*Fh[lFCFi[lFCF^blFCFCF_blFayFa`l-Fd`l6$-F_gl6#-F\fl6#-Fe[l6$f
*Fh[lFCFi[lFCF^blFCFCF_blFidlFa`lFinFhdl>FjqF[r@'3/FayFip0FepF`qC%>Fep&-Fhy6%Fe
pFinFVFR@$4-%5JanetOre/member_multG6%Fep%&J_HOMGFin>F^il7$-F`z6#F^ilFep7$FayF`q
Fbhl7$FipFep-Fhy6%FayFinFepFC6%F^ilFFF[vFCFC
M7R0
I=JanetOre/invred_collect_polyf*6*%"fG%"TG%'no_rhsG%.return_coeffsG%%seqvG%(mul
procG%'lmprocG%(loc_varG6:%"aG%"cG%#caG%#cbG%"gG%"hG%#h2G%"iG%"kG%#lgG%#lmG%"nG
%"qG%"rG%$divG%'n_entrG%(termo_hG%*zero_listG%#lvG%#nlG%"HG%"eG%#meG%#hiG6#%\pC
opyright~(C)~2000-2010~by~Carlos~F.~Cid~and~Daniel~Robertz.~All~rights~reserved
.G6"C0>83-%%nopsG6#&9$6#""">857#-%"$G6$""!FK>8)FO@$49&>8*&FP6#""#@$09+7"C'>86<#
-%$seqG6$&9(6#&F`o6#8+/F^p;FR-FM6#F`o>87-FM6#Fdo>88Fao>Fen-%7JanetOre/cancel_lo
cvarG6%FenFjoF`o@$Fgn>Fjn-F[q6%FjnFjoF`o>8/-FM6#9%>81FT>8%7#-FW6$FYFbq>80FR>8.-
9*6#Fen?(FHFRFRFH0&F`r6$F]oFRFYC)>F^pFR>82%&falseG>84*&FfrFR&F`r6$F]oF]oFR@$F_o
>89,&-%$maxG6#-Fgo6$-%'degreeG6$&Fen6#8,Fdo/F`t;FRFKFR-%$addG6$&&F`r6$FRFR6#&F`
oF_t/F`t;FRFdp!""?(FHFRFRFH31F^pFbq4F[s@%-%5JanetOre/pinv_divideG6%&Feq6$F^p""$
&Feq6$F^p""&&F`rFQC$@%F_oC,>8:,&-Fgs6#-Fgo6$-F\t6$&&Feq6%F^pFRFRF_tFdoFatFR-Fdt
6$&&Feq6%F^pFhuFRFitF[uF]u>8;FY>F`tFR?(FHFRFRFH32FYFav1F`t-FM6#FhpC$@$332&&FhpF
_t6#FhuFav/&&&F`xF\oFQF\o&F\vF\o-%8JanetOre/conv_divisibleG6$FdxF\vC$>FbwF`t>Fa
vF_x>F`t,&F`tFRFRFR@$3Ffw0FgqFT[@$2FdsFav>Fhp7$-%#opGFiw7%7$FenFjnF`rFds@%/FbwF
YC$>Fen-%)simplifyG6#,&-%$mapG6$f*6#F.FH6$%)operatorG%&arrowGFH*&&T$6%T%""'FRFR
FPFRFHFH6&F&FeqF5F^pFenFR-Fdz6$f*FgzFHFhzFH*(T#FR&T&6%T'F`[lF]oF]uFPFRFHFH6(F>F
^sF&FeqF5F^pFjvF]u@$Fgn>Fjn-F`z6#,&-Fdz6$f*FgzFHFhzFHF[[lFHFHFa[lFjnFR-Fdz6$f*F
gzFHFhzFHFe[lFHFHF[\l&Feq6%F^pFRF]oF]uC$>Fen-F`z6#,&-Fdz6$f*FgzFHFhzFH*&&&&&Ff[
l6#F_[lF\oF\oFQFRFPFRFHFH6&FBFhpFEFbwFenFR-Fdz6$f*FgzFHFhzFH*(Ff[lFR&&&&F_[l6#F
j[lF\oF\oF\oF]uFPFRFHFH6(F>F^sFBFhpFEFbw&&&Fhp6#FbwFQFQF]u@$Fgn>Fjn-F`z6#,&-Fdz
6$f*FgzFHFhzFHFa]lFHFHFg]lFjnFR-Fdz6$f*FgzFHFhzFHF[^lFHFHFa^l&Fc^lF\oF]u>FenFjp
@$Fgn>FjnF_q@$0%0JanetOre/characGFYC$>Fen-%$modG6$FenFg_l@$Fgn>Fjn-F[`l6$FjnFg_
l@%/Fg_lFYC(>F`t-%'normalG6#*&F`sFR&Feq6%F^pF`[lF]oF]u>8(-%(collectG6%-Fdz6$f*F
gzFHFhzFH-Fh[l6$Ff[lFPFHFH6&F6F`tF*9)FjvFjo%,distributedG>8--Fbr6#F\al-%$gcdG6&
Ffr&FialFgr.8&.8'>Fen-F^al6%-Ff`l6#,&-Fdz6$f*FgzFHFhzFH*&Ff[lFRFPFRFHFH6$F1Fcbl
FenFR-Fdz6$f*FgzFHFhzFHF]clFHFH6$F0FablF\alF]uFjoFgal@$FgnC$>F\al-F^al6%-Fdz6$f
*FgzFHFhzFHFcalFHFHFealFg\lFjoFgal>Fjn-F^al6%-Ff`l6#,&-Fdz6$f*FgzFHFhzFHF]clFHF
HF^clFjnFR-Fdz6$f*FgzFHFhzFHF]clFHFHFbclF\alF]uFjoFgalC(>F`t-F[`l6$-%'NormalGFg
`lFg_l>F\al-F^al6%-Fdz6$f*FgzFHFhzFH-F[`l6$FcalFg_lFHFHFealFjvFjoFgal>FialFjal-
F[`l6$-%$GcdGF^blFg_l>Fen-F^al6%-F[`l6$-F\el6#,&-Fdz6$f*FgzFHFhzFHF]clFHFHF^clF
enFR-Fdz6$f*FgzFHFhzFHF]clFHFHFbclF\alF]uFg_lFjoFgal@$FgnC$>F\al-F^al6%-Fdz6$f*
FgzFHFhzFHFcelFHFHFealFg\lFjoFgal>Fjn-F^al6%-F[`l6$-F\el6#,&-Fdz6$f*FgzFHFhzFHF
]clFHFHF^clFjnFR-Fdz6$f*FgzFHFhzFHF]clFHFHFbclF\alF]uFg_lFjoFgal>F[s%%trueG>F^p
,&F^pFRFRFR@%Fau@%Fb`lC$>Fgq-%'subsopG6$/&F`r6$FRF]o-F^al6%,&&Fgq6#FjhlFRF^sFRF
joFgalFgq>Fen-Fghl6$/Fjhl-F^al6%,&&FenF`ilFRF^sF]uFjoFgalFenC$>Fgq-F[`l6$FfhlFg
_l>Fen-F[`l6$FbilFg_lC%@%Fb`l>Fgq-F^al6%-Ff`l6#-Fdz6$f*FgzFHFhzFHF]clFHFHF^clFg
qFjoFgal>Fgq-F^al6%-F[`l6$-F\el6#-Fdz6$f*FgzFHFhzFHF]clFHFHF^clFgqFg_lFjoFgal>F
^r*&F^rFRFcblFR@$9'@%Fb`l>Fiq-Fghl6$/F^p,&&FiqF]pFR*(F^sFRF^rF]uFi`lF]uFRFiq>Fi
q-F[`l6$Fj[mFg_l>F`rFar@$3Fay0F^rFR@%Fb`l>Fgq-Ff`l6#*&FgqFRF^rF]u>Fgq-F[`l6$-F\
elFj\mFg_l@$3FgnFf\m@%Fb`l>Fjn-Ff`l6#*&FjnFRF^rF]u>Fjn-F[`l6$-F\elFe]mFg_l7$7$F
gqFjnFiqFHFHFHFH
M7R0
I7JanetOre/JAnnihilator1f*6$%"pG%"LG6)%"aG%"iG%"nG%'n_entrG%#L2G%"MG%"SG6#%jnCo
pyright~(C)~2000-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C%@$29#""$-%&ER
RORG6#%Pexpecting~list~of~variables~as~third~parameter.G@%5-%%typeG6$9$%%listG-
F>6$9%%'matrixGC&>8(-%3JanetOre/procinputG6#FD>8'&FH6#"""@%-F>6$F@%)listlistG>8
)7$-%$mapG6$%#opGF@-%$seqG6$-Fgn6$7%-%"$G6$""!*&8$FPFMFP-Fen6#&&&FH6#""%6#8%FO-
F]o6$F_o*&,(-%%nopsG6#F@FPFao!""FbpFPFPFMFP/Fjo;FP-F`p6#Ffo/Fao;F_o,&F_pFPFbpFP
@'2FPFM>FV7$F@-Fen6#-FY6$f*6#F(F16$%)operatorG%&arrowGF1&F@FOF1F1F1FfoF=>FV7$F@
-Fgn6$-Fgn6$7%-F]o6$F_oFaoFbo-F]o6$F_oF^pFcpFgp>FV7$F@-Fen6#-FY6$f*FcqF1FdqF1-F
en6#FgqF1F1F1Ffo>8*-%7JanetOre/JSyzygyModuleG6$FV&9"6#;F6FbpC$@$4-F>6$FDFA-F86#
%enexpecting~a~list~of~module~generators~as~second~parameter.G>F]s-F_s6$7$F@-Fe
nFKFas@%-F>6$F]sFT-%0JanetOre/JBasisG6$-FY6$f*FcqF1FdqF1FgqF1F1F1F]sFasF]sF1F1F
1F1
M7R0
I6JanetOre/nextmonomialf*6$%"mG%"bG6%%"iG%"lG%"nG6#%jnCopyright~(C)~2005-2010~b
y~Daniel~Robertz.~All~rights~reserved.G6"C(>8%-%%nopsG6#9$>8&F4>8$F0?(F-"""F:F-
31F:F81&9%6#F8&F6F@C$>FA""!>F8,&F8F:!""F:@$F<>FA,&FAF:F:F:-%'RETURNG6#F6F-F-F-F
-
M7R0
I:JanetOre/JCartanCharacterf*6"61%"iG%"qG%"nG%"sG%"AG%"BG%"CG%"HG%&R_q_1G%+n_ex
teriorG%$indG%,given_basisG%1args_without_indG%$varG%2tmp_J_T_List_dataG6#%ipCo
pyright~(C)~2000-2010~by~Carlos~F.~Cid,~Arne~Lorenz~and~Daniel~Robertz.~All~rig
hts~reserved.GF$C2@%-%)assignedG6#%/_jvar_exteriorG@%-%%typeG6$F<%%listG>8--%%n
opsGF;-%&ERRORG6$QSwrong~format~of~the~global~variable~_jvar_exteriorF$F<>FC""!
>8.%%NULLG>80FN@%19#"""C$>8/%&falseG@$/FSFT@%3-F?6$&9"6#FT%)equationG/-%#opG6$F
TFinQ&indexF$>FM-F_o6$""#Fin>FMFinC$>FW%%trueG?(8$FTFTFSFio@%3-F?6$&Fjn6#F[pF\o
/-F_o6$FTF`pFao>FM-F_o6$FeoF`p>FP6$FPF`p@%FW>6$8281-%5JanetOre/setup_basisG6#FP
@$4-F:6#%)J_T_ListG-FG6#%Lmissing~involutive~basis;~run~JBasis~first.G>8%-%2Jan
etOre/pmax_degGFeq@$2FKFC>F[r-%$maxG6$,&FCFTFTFTF[r>8&-FE6#&Ffq6%FT""$FT>8+-%-J
anetOre/JHPG6#8'>8,-%-JanetOre/JHFG6#,&F[rFT!""FT>8(-%'matrixG6#-%$mapG6$f*6#%"
aGF$6$%)operatorG%&arrowGF$-F_t6$f*6#%"bGF$FdtF$-%)binomialG6$,(T$FT9$FTT%FhsFa
uF$F$6&FctFauF'Fbu7#-%"$G6#;FTT#F$F$6&F(FfrF'F[r7#-Ffu6#;F[r,(F[rFTFfrFTFhsFT>8
)-%'vectorG6#-F_t6$f*FbtF$FdtF$,&-%%evalG6$Fiu/FbuFauFTT'FhsF$F$6(F-F]sF)FasF.F
csF[v>8*-&%'linalgG6#%)linsolveG6$FjsFav>F`w-%&evalmG6#F`w@$FW-%9JanetOre/resto
reJ_T_ListG6#F]q@)30FMFN-F?6$FM%'stringG?(F[pFTFTFfrFio-%'printfG6&Q3alpha(%d,%
d)~=~%a|+F$F[rF[p&F`wFap3Fax-F?6$FM%(integerGC$@$2FfrFM-FG6&%.index~invalidGFM%
6~greatest~valid~indexGFfr&F`w6#FM3Fax-F?6$FMFA-F_t6$f*6#F&F$FdtF$&Fiu6#FauF$F$
6$F,F`wFMC$-Fgx6$Q=Cartan~Character~for~q~=~%d|+F$F[r-%(convertG6$F`wFAF$F$F$F$
M7R0
I2JanetOre/JMinPolyf*6#'%"pG%(polynomG6S%"aG%"bG%"eG%"gG%"iG%"jG%"kG%"lG%"mG%"n
G%"sG%"xG%#hsG%(new_monG%'n_entrG%*zero_listG%$varG%,force_evalaG%(var_ordG%)tu
p_permG%(deg_ordG%'vt_degG%'lmprocG%(lm_entrG%(tup_cmpG%(loc_varG%*new_powerG%+
power_listG%+monom_listG%%relsG%*low_boundG%*upp_boundG%"FG%#FBG%"MG%"SG%%seqvG
%(mulprocG%#suG%)entr_posG%.force_collectG%&m_ordG%+trans_elemG%%varsG%,given_b
asisG%(comm_lcG%#eqG%#peG%2tmp_J_T_List_dataG6#%jnCopyright~(C)~2000-2010~by~Da
niel~Robertz.~All~rights~reserved.G6"CL@$0%5JanetOre/initializedG.%%trueG-%.Jan
etOre/initGFfn@$4%2JanetOre/ratcoeffG-%&ERRORG6#%fnnot~implemented~yet~for~invo
lutive~bases~over~the~integers.G@%32"""9#-%%typeG6$&9"6#""#%%listGC$>8PF\o>8)""
%C$>Fep%&falseG>FgpFap>8/.%'lambdaG>8J""!>8BFcq>8C"#I>8LF[q>85F[q>8MFhp>8I%%NUL
LG?(8(FgpFioFjoF\o@+/&F_p6#FcrQ"SFfn>F\rF\o33-F\p6$FfrFbp4-F\p6$Ffr-Fbp6#%(inte
gerG4-F\p6$Ffr-Fbp6#Fbp>F`rFfr5-F\p6$FfrFcsF\s>F^rFfr-F\p6$Ffr%)equationGC$@$4-
F\p6$-%#opG6$FioFfr%'stringG-Fco6#%\oexpecting~a~string~on~the~left~hand~side~o
f~an~optional~equation.G@+5/FftQ'degreeFfn/FftQ'maxdegFfnC$@$4-F\p6$-Fgt6$FapFf
r%'posintG-Fco6#%Nexpecting~a~positive~integer~as~degree~bound.G>FgqFhu/FftQ'mi
ndegFfnC$@$FeuF[v>FeqFhu/-%*substringG6$Fft;Fio""$Q$varFfnC$@$4-F\p6$Fhu%%nameG
-Fco6#%\oexpecting~a~name~for~the~indeterminate~of~the~minimal~polynomial.G>F^q
Fhu/-Ffv6$Fft;FioFhpQ%subsFfn>FbqFhu-Fco6#%0invalid~option.GF[x@%FepC*>8D-%3Jan
etOre/procinputG6#F^p>82&Fax6#Fio>F\r5F\r&Fax6#""&>8N&Fax6#""(>6$8T84-%5JanetOr
e/setup_basisG6%F^p&F_p6#FivF^r>Fjq5Fjq-%&evalbG6#0-%&minusG6$<#-Fgt6#F_y<#-Fgt
6#Ffy<">8OFjy>Ffy-%2JanetOre/procvarsG6$F][lFfxC(@$5543-%)assignedG6#%)J_T_List
G-F\p6$F[\lFbp/F[\l7"4-F\p6$&F[\lFhxFbp-Fco6#%Lmissing~involutive~basis;~run~JB
asis~first.G>Ffx-%%nopsG6#&F[\l6%FioFioFio>F][l%'_jpvarG>FfyF][l>Fjq5Fjq%1_jpfo
rce_collectG>F\r5F\r%/_jpforce_evalaG>86&FfyF`p>89&FfyF[z>88&Ffy6#Fhp>87&FfyF\y
>8K&Ffy6#""'>Ffy&FfyFhx>8H7#-%$seqG6$-%$catG6$%#_xGFcr/Fcr;Fio-Fi\lFjz>Fg]l-%%s
ubsG6$7#-F^_l6$/&FfyFgr&F[_lFgrFd_lFg]l>%'_jnvarGFf_l>837#-%"$G6$FcqFfx>80-%8Ja
netOre/JHilbertSeriesG6#.8.@$/Fj`lFcqC$@$Fep-%9JanetOre/restoreJ_T_ListG6#Fey@%
0FbqFcq-%'RETURNG6#Fbq-Fjal6#F^q@$4-%$hasG6$9$FfyC$@$FepFdal@%Fhal-Fjal6#,&FbqF
ioFcbl!""-Fjal6#,&F^qFioFcblFjbl@%/F`rFarC$>8QF\o>F`r-%(unapplyG6%*&%#_aGFio%#_
bGFioFhclFiclC&>F`r-%1JanetOre/procopsG6%FfyF`rF[_l>Fbcl&F`rF_^l@$0&F`r6#"")F_\
l>F\rF\o>F`r&F`rF[z>8+-%1JanetOre/procordG6*FhpFfyFg]lFj]lF]^lF[_lFd^l4F\r>8;&F
jdlFhx>8<&FjdlF\y>8=&FjdlFf^l@$/&Fj]l6#;,&Ff_lFioFioFio,&Ff_lFioFfxFioFe`l>Fj]l
Fcq>8:-%&parseG6#-Fa_l6/Q<g->`JanetOre/j_lead_mon`(g,Ffn-%(convertG6$FfxFitQ",F
fn-Fifl6$F[_lFitF[gl-Fifl6$FaelFitF[gl-Fifl6$7#FfxFitF[gl-Fifl6$FdelFitF[gl-Fif
l6$Fj]lFitQ")Ffn>8Rf*6$F)F*FfnFfnFfn-F_z6#/Fcbl9%FfnFfnFfn>8E-%<JanetOre/JFacto
rModuleBasisG6$F][lQ"CFfn>8,-Fi_l6$F[`lFcbl>Fahl-Fi_l6$F[`lFahl>8AF_\l>8--Fi\l6
#Fahl@%/FfxFioC(>FcrFio>8>Fio>8@7#Fio>8F7#7$Fio-Fg`l6$Fcq,&F`ilFioFjblFio?(FfnF
ioFioFfn3/F^ilF_\l1FcrFgqC+-%)userinfoG6&Fiv%)JMinPolyG%+degree~~~~GFcr@'F\r>Fh
il&&&-%6JanetOre/invred_evalaG6*7$7#-%(collectG6%-F`r6$FghlFhilF[_l%,distribute
dG7#FcqF[\lF\oF[qF[_lF`rFaflFfelFhxFhxFhxFjq>Fhil&&&-%8JanetOre/invred_collectG
Fd[mFhxFhxFhx>Fhil&&&-%0JanetOre/invredG6*7$7#-%'normalG6#Fj[mF]\mF[\lF\oF[qF[_
lF`rFaflFfelFhxFhxFhx-Fijl6%FhpF[[m%>involutive~reduction~finishedG@$/FhilFcqC$
@$FepFdal@%Fhal-Fjal6#)FbqFcr-Fjal6#)F^qFcr@$/FcrFio>FghlFhil>8*-%8JanetOre/mon
omcoefflistG6%FhilF[_lFahl?(FfnFioFioFfn4-F\p6$Fb^mFbpC&>6$FahlFb^m-%<JanetOre/
jbinary_insert_posG6)Fb^mFahlFioF`ilF`ilFcelFigl>F`il,&F`ilFioFioFio@%/Fb^mF`il
>F]jl-%$mapG6$f*6#F.Ffn6$%)operatorG%&arrowGFfn7$-Fgt6#FcblFcqFfnFfnFfnF]jl>F]j
l-Ff_m6$f*Fi_mFfnFj_mFfn-%'subsopG6$/T#6$Fcq&Fcbl6#Fh`mFcblFfnFfn6$F/Fb^mF]jl>F
b^mFc^m@%1FeqFcr@%/%0JanetOre/characGFcqC%>F]jl7$-Fgt6#F]jlFb^m>8G-%&solveG6$<#
-F^_l6$,&-%$addG6$*&&&F]jl6#,&FgpFioFioFio6#8$Fio&%"UG6#FgpFio/Fgp;Fcq,&FcrFioF
jblFioFio&&F]jl6#,&FcrFioFioFioFibmFio/Fjbm;FioFail<#-F^_l6$F[cmF^cm@$0FiamFarC
$@$FepFdal@%Fhal-Fjal6#-Fi_l6$/F^qFbq-Fi_l6$Fiam,&F]^mFio-Fbbm6$*&F[cmFio)F^qFg
pFioF^cmFio-Fjal6#FddmC$>8&-%$modG6$-%)LinsolveG6$-&%'linalgG6#%*transposeGFgam
-%'vectorG6#Fb^mFbam@%-F\p6$F_emF\fm>F^ilF_emC%>F]jl-Faem6$-%*GausselimG6#7$-Fg
t6#-%$zipG6%f*F[hlFfnFj_mFfn7$F^`mF_hlFfnFfnFfnF]jlFjil7$-FgtF]fmF]^mFbam>Fjil-
Ff_m6$Fgt-Fifl6$-&Fhem6#%*submatrixG6%F]jl;FioFdcm;Fa_mFa_m%)listlistG>F]jl-Fif
l6$-Figm6%F]jlF]hm;FioF`ilF_hm>F]jlFeam>FcrFdcm@$0F^ilF_\lC$>FcrF`cm@%Faam>F^il
7#,&F]^mFio-F^]m6#-Fbbm6$*&&F^ilF]cmFio&FjilF]cmFio/Fgp;FioFcrFjbl>F^il7#-Faem6
$,&F]^mFio-%'NormalGFaimFjblFbamC.>Fax7#-Fg`l6$F_\lFfx>8S7#-F^_l6$,&FfxFioFcrFj
bl/Fcr;Fcq,&FfxFioFjblFio>FgpFfx?(FcrFioFioFailF\oC%?(FfnFioFioFfn31FioFgp/&&Fa
hlFgrF]cmFcq>Fgp,&FgpFioFjblFio@$2FgpFio-Fco6#%`oexpecting~factor~module~basis~
to~be~the~result~of~JFactorModuleBasis.G>Fax-Fe`m6$/Fgp7$-Fgt6#&FaxF]cmFe[nFax>
Fax7#-F^_l6$&Fax6#&Fa^lF]fm/Fb^m;FioFfx>Fahl-Ff_m6$f*Fi_mFfnFj_mFfn7#-F^_l6$&Fc
bl6#&Fh`m6#T%/Fj]n;FioT'FfnFfn6(F<Fa^lF/Fb^mF7FfxFahl>FcrFio>8?Fahl>FjilF[jl>F]
jl7#-Ff_m6$Fgt7#-F^_l6$-Ff_m6$Fgt-%6JanetOre/tupcoefflistG6&&Fa^nF]cmF[_lFaxFfj
m/FgpFehm?(FfnFioFioFfnFdjlC(Fhjl>Fb^mF_\l?(FjdlFioFio-Fi\l6#Fa^nF\oC&@'F\r>Fhi
l&&-Fc[m6*7$-Fh[m6%-Ff_m6$f*6#F)FfnFj_mFfn-Fj]n6$Fh`mFcblFfnFfn6&F1FghlFNF`r&Fa
^n6#FjdlF[_lF\\mF]\mF[\lF\oF[qF[_lF`rFaflFfelFhxFhxFjq>Fhil&&-Fc\m6*7$-Fh[m6%-F
f_m6$f*Fd`nFfnFj_mFfnFe`nFfnFfnFg`nFh`nF[_lF\\mF]\mF[\lF\oF[qF[_lF`rFaflFfelFhx
Fhx>Fhil&&-Fi\m6*7$-F^]m6#-Ff_m6$f*Fd`nFfnFj_mFfnFe`nFfnFfnFg`nFh`nF]\mF[\lF\oF
[qF[_lF`rFaflFfelFhxFhx>Fa^n-Fe`m6$/FjdlFhilFa^n>Fb^m7$Fbgm-F]_n6&FhilF[_lFaxFf
jm?(FfnFioFioFfn4-F\p6$&Fb^m6#FjblFgsC*>8%Fio>8'Fcq?(FfnFioFioFfn/&F\cn6#&Ffjm6
#F`cnFcqC$>Fbcn,&FbcnFio-Fi\l6#&FaxFfcnFio>F`cn,&F`cnFioFioFio>6$FahlF_em-F^_m6
)FecnF^dnFioF\dnF\dnFcelFigl>Fax-Fe`m6$/FgcnFahlFax>F`ilFa_m@%/,&F_emFioFbcnFio
F`il>F]jl-Ff_m6$f*Fd`nFfnFj_mFfn-Fe`m6$-F^_l6$/*&Fh`mFio,&Fj]nFioFjblFioFio6$&F
cbl6#FfenFcq/Fh`m;Fio-Fi\l6#F]^nFcblFfnFfn6(F.FgpF2F`ilFDFa^nF]jl>F]jl-Ff_m6$f*
Fd`nFfnFj_mFfn-Fe`m6$-F^_l6$/,(*&,&Fh`mFioFjblFioFioFgenFioFioF]^nFioT)Fio6$Fcq
&Fcbl6#Fifn/Fh`m;Fio-Fi\l6#T+FcblFfnFfn6,F.FgpF2F`ilF+F_emF,FbcnFDFa^nF]jl@%2Fi
o-Fi\lF]fm@%/F_emF\dn>Fb^m7$-Fgt6#-Ff_m6$f*Fi_mFfnFj_mFfn-Fe`m6$/Fh`m7$-Fgt6#Fj
`mFcqFcblFfnFfn6$F*F`cn&Fb^m6#;Fio!"#Ffbn>Fb^m7$-Fgt6#-Ff_m6$f*Fi_mFfnFj_mFfn-F
e`m6$/Fh`m-Fe`m6$/Fj]n6$Fcq&Fj`mFi]nFj`mFcblFfnFfn6&F*F`cnF+F_emFihnFfbn>Fb^m7#
Ffbn>Fb^m-Ff_m6$Fgt-Ff_m6$FgtFb^m@%FaamC$>F_em-&Fhem6#%)linsolveG6$FfemFb^m@%0F
_emFar>F^ilF_emC%>F]jl-&Fhem6#%*gausselimG6#7$-Fgt6#-F]gm6%f*F[hlFfnFj_mFfnF`gm
FfnFfnFfnF]jlFjilFagm>Fjil7#-F^_l6$&F]jl6$Fgp,&*&Fe_nFioF`ilFioFioFioFio/FgpF]h
m>F]jl-Fifl6$-Figm6%F]jlF]hm;FioFc\oF_hmC$>F_emF`em@%F_fm>F^ilF_emC%>F]jl-Faem6
$-Fgfm6#7$-Fgt6#-F]gm6%f*F[hlFfnFj_mFfnF`gmFfnFfnFfnF]jlFjilFagmFbam>FjilF]\o>F
]jlFf\o>FcrFdcm@$FihmC$>FcrF`cm@%Faam>F^ilF^im>F^ilFjim@$FepFdal@%Fejl-Fco6#%ap
stopped~calculation~of~minimal~polynomial~since~upper~bound~for~the~degree~is~r
eached.G@%Fhal-Fi_l6$Fcdm-Fh[m6$-F^]m6#*&&F^ilFhxFio-%'lcoeffG6$Fa_oF^qFjblF^q-
Fh[mFd_oFfn6#Fb`lFfnFfn
M7R0
I0JanetOre/hasvarf*6$%"mG%$varG6"6#%jnCopyright~(C)~2006-2010~by~Daniel~Robertz
.~All~rights~reserved.GF'@%-%%typeG6$9$%"^G-%'memberG6$-%#opG6$"""F.9%-F16$F.F7
F'F'F'F'
M7R0
I6JanetOre/jets_diagmatf*6"6+%"MG%"iG%"mG%"nG%"AG%"rG%"cG%#Z1G%#Z2G6#%fnCopyrig
ht~(C)~2003~by~Mohamed~Barakat.~All~rights~reserved.GF$C%>8$-%4JanetOre/jets_mk
matG6#&9"6#"""?&8%&F86#;""#!""%%trueGC*>8&-&%'linalgG6#%'rowdimG6#F3>8'-&FH6#%'
coldimGFK>8(-F56#F<>8)-FG6#FT>8*-FOFY>8+-%'matrixG6#7#-%"$G6$7#-F^o6$""!FenFE>8
,-Fjn6#7#-F^o6$7#-F^o6$FcoFMFW>F3-&FH6#%,blockmatrixG6%F@F@7&F3FhnFeoFS@%/%4Jan
etOre/matrixtypeG%'MatrixG-%(convertG6$F3Fhp-%%copyGFKF$F$F$F$
M7R0
I1JanetOre/JDefectf*6%%$_R1G%$_R0G'%$varG%%listG6%%#R1G%#R0G%$RR1G6#%[oCopyrigh
t~(C)~2003-2010~by~Mohamed~Barakat.~All~rights~reserved.G6"C&>8$-%4JanetOre/jet
s_mkmatG6#-%$mapG6$f*6#%"aGF06$%)operatorG%&arrowGF0&9$6#"""F0F0F0&-%3JanetOre/
procinputG6#FA6#""%>8%-F56#-F86$f*F;F0F=F0F@F0F0F0&-FF6#9%FH>8&-%0JanetOre/JSyz
OpG6$FK&9"6#;""$!""-%4JanetOre/JSubFactorG6%FVF3FZF0F0F0F0
M7R0
I1JanetOre/versionQ)21.12.106"F$
M7R0
I0JanetOre/pplex3f*6$%"aG%"bG6"6#%\pCopyright~(C)~2000-2010~by~Carlos~F.~Cid~an
d~Daniel~Robertz.~All~rights~reserved.GF'-%/JanetOre/pplexG6$&9$6#""$&9%F/F'F'F
'F'
M7R0
I8JanetOre/pnegplex_blockf*6$%"aG%"bG6"6#%jnCopyright~(C)~2004-2010~by~Daniel~R
obertz.~All~rights~reserved.GF'@%/9$9%%%trueG4-%5JanetOre/pplex_blockG6$F,F-F'F
'F'F'
M7R0
I:JanetOre/pdegrevlex_Z_POTf*6$%"aG%"bG6%%"iG%$tdaG%$tdbG6#%jnCopyright~(C)~200
4-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C'@&2&9$6#""#&9%F3-%'RETURNG6#
%&falseG2F5F1-F86#%%trueG>8%-%(convertG6$&F26#"""%"+G>8&-FB6$&F6FEFG@'2F@FIF<2F
IF@F7?(8$-%%nopsG6#FD!""FFF>@&2&FL6#FQ&FDFYF<2FZFXF7@%2-%$absG6#&F66#""$-Fin6#&
F2F\oF:F>F-F-F-F-
M7R0
I:JanetOre/pdegrevlex_blockf*6$%"aG%"bG6%%"iG%$tdaG%$tdbG6#%jnCopyright~(C)~200
4-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C%>8%-%(convertG6$&9$6#"""%"+G
>8&-F26$&9%F6F8@'2F0F:%%trueG2F:F0%&falseGC$?(8$-%%nopsG6#F4!""F7FA@&2&F=6#FF&F
4FN-%'RETURNG6#FA2FOFM-FQ6#FCFAF-F-F-F-
M7R0
I>JanetOre/pdegrevlex_deg_blockf*6$%"aG%"bG6&%"iG%"nG%$tdaG%$tdbG6#%jnCopyright
~(C)~2004-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C&>8%-%%nopsG6#&9$6#""
">8&,&-%$addG6$*&&F56#8$F8&%*_jovardegGFAF8/FB;F8F1F8&%*_jotupdegG6#&F66#""#F8>
8',&-F=6$*&&&9%F7FAF8FCF8FEF8&FH6#&FUFKF8@'2F:FN%%trueG2FNF:%&falseGC&>F:F<>FNF
P@'FZ-%'RETURNG6#FenFfn-F]o6#Fgn?(FBF1!""F8Fen@&2FSF@F\o2F@FSF_oFenF.F.F.F.
M7R0
I=JanetOre/pnegdegrevlex_blockf*6$%"aG%"bG6%%"iG%$tdaG%$tdbG6#%jnCopyright~(C)~
2004-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C%>8%-%(convertG6$&9$6#"""%
"+G>8&-F26$&9%F6F8@'2F0F:%&falseG2F:F0%%trueGC$?(8$-%%nopsG6#F4!""F7FC@&2&F=6#F
F&F4FN-%'RETURNG6#FC2FOFM-FQ6#FAFCF-F-F-F-
M7R0
IFJanetOre/jnormal_form_collect_poly_lmf*6)%"fG%"FG%%seqvG%(mulprocG%'lmprocG%'
ppprocG%(loc_varG68%"aG%#caG%#cbG%"gG%"hG%"iG%"kG%#lgG%#lmG%$divG%#stG%'n_entrG
%)rhs_entrG%*zero_listG%.rhs_zero_listG%#lvG%#nlG%#nvG%"HG%"eG%#meG%#hiG6#%jnCo
pyright~(C)~2000-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C.>%*_jonnformG
,&FH"""FJFJ>8(9$>8.""!>8/-%%nopsG6#&FL6#FJ>80-FT6#&FL6#""#@$09*7"C'>83<#-%$seqG
6$&9&6#&F[o6#8)/Fio;FJ-FT6#F[o>84-FT6#F_o>85-%'removeG6%%$hasGFeoF_o>86F\o>FL7$
-%7JanetOre/cancel_locvarG6%FVFeoF[o-F]q6%FfnFeoF[o>817#-%"$G6$FPFR>827#-Feq6$F
PFZ>8-%%trueG>8,-9(FU?(FEFJFJFE3F]r0&F`r6$FhnFJFPC&>FioFJ>F]r%&falseG@$Fjn>87,&
-%$maxG6#-Fbo6$-%'degreeG6$&FV6#8*F_o/Fjs;FJFRFJ-%$addG6$&&F`r6$FJFJ6#&F[oFis/F
js;FJF_p!""?(FEFJFJFE31Fio-FT6#9%4F]rC$@$30FVFbq-%5JanetOre/pinv_divideG6%&F]u6
$Fio""$&F]u6$Fio""&&F`rFWC'>%)_joreducG,&F_vFJFJFJ>FO,&FOFJFJFJ@%FjnC+>88,&-Fas
6#-Fbo6$-Ffs6$&&F]u6%FioFJFJFisF_oF[tFJ-F^t6$&&F]u6%FioFhuFJFctFetFgt>89FP>Fjs-
FT6#Fip?(FEFJFJFE32FPFfv2FPFjsC$@$332&&FipFis6#FhuFfv/&&&FexFgnFWFgn&F\vFgn-%8J
anetOre/conv_divisibleG6$FixF\vC$>FgwFjs>FfvFdx>Fjs,&FjsFJFgtFJ@$2F^sFfvC$>Fjs-
9)6%FVFeo7$Ffn&&F`rFgnFW>Fip7$-%#opGFjw7%7$&FjsFW&&FjsFgnFW7$F\v-%'subsopG6$/FJ
&FfzFgnF]zF^s@%/FgwFP>FL-%)simplifyG6#7$,&-%$mapG6$f*6#F-FE6$%)operatorG%&arrow
GFE**&T#FgrFJ&F_\l6$FhnFhnFJ&T&6%T'""'FhnFgtFMFJFEFE6(F5F`rF&F]uF2FioF_wFgt-Ff[
l6$f*Fi[lFEFj[lFE*&&T$6%T%Ff\lFJFJFMFJFEFE6&F&F]uF2FioFVFJ,&-Ff[l6$f*Fi[lFEFj[l
FEF]\lFEFEFg\l&F]u6%FioFJFhnFgt-Ff[l6$f*Fi[lFEFj[lFEF[]lFEFEF`]lFfnFJ>FL-Fa[l6#
7$,&-Ff[l6$f*Fi[lFEFj[lFE**F^\lFJF`\lFJ&&&&F_]l6#Fe\lFgnFgnFgnFgtFMFJFEFE6(F5F`
rF?FipFBFgw&&&Fip6#FgwFWFWFgt-Ff[l6$f*Fi[lFEFj[lFE*&&&&&F_\l6#F_]lFgnFgnFWFJFMF
JFEFE6&F?FipFBFgwFVFJ,&-Ff[l6$f*Fi[lFEFj[lFEFb^lFEFEFh^l&Fj^lFgnFgt-Ff[l6$f*Fi[
lFEFj[lFEF`_lFEFEFf_lFfnFJ>FL-Fiy6%FVFeoFfn>FLF[q@$0%0JanetOre/characGFP>FL-%$m
odG6$FLFe`l@%/Fe`lFPC(>Fjs-%'normalG6#*&&F`rFa\lFJ&F]u6%FioFf\lFhnFgt>8'-%(coll
ectG6%7$-Ff[l6$f*Fi[lFEFj[lFE-Fc\l6$F_\lFMFEFE6&F3FjsF(9'F_w-Ff[l6$f*Fi[lFEFj[l
FEF^blFEFEF`blFe]lFeo%,distributedG>8+-Fbr6#&FfalFW-%$gcdG6&Ffr&FgblFgr.8%.8&>F
L-Fhal6%7$-F_al6#,&-Ff[l6$f*Fi[lFEFj[lFE*&F_\lFJFMFJFEFE6$F/FbclFVFJ-Ff[l6$f*Fi
[lFEFj[lFEF]dlFEFE6$F.F`clFjblFgt-F_al6#,&-Ff[l6$f*Fi[lFEFj[lFEF]dlFEFEF^dlFfnF
J-Ff[l6$f*Fi[lFEFj[lFEF]dlFEFEFbdl&FfalFgnFgtFeoFebl@$1F[vFOC$>FLF``l>FOFPC(>Fj
s-Fh`l6$-%'NormalGF`alFe`l>Ffal-Fhal6%7$-Ff[l6$f*Fi[lFEFj[lFE-Fh`l6$F^blFe`lFEF
EF`blF_w-Ff[l6$f*Fi[lFEFj[lFEF_flFEFEF`blFe]lFeoFebl>FgblFhbl-Fh`l6$-%$GcdGF]cl
Fe`l>FL-Fhal6%7$-Fh`l6$-Fgel6#,&-Ff[l6$f*Fi[lFEFj[lFEF]dlFEFEF^dlFVFJ-Ff[l6$f*F
i[lFEFj[lFEF]dlFEFEFbdlFjblFgtFe`l-Fh`l6$-Fgel6#,&-Ff[l6$f*Fi[lFEFj[lFEF]dlFEFE
F^dlFfnFJ-Ff[l6$f*Fi[lFEFj[lFEF]dlFEFEFbdlF\elFgtFe`lFeoFebl@$1"#7FOC$>FLF``l>F
OFP>F]rF^r>F`rFar>Fio,&FioFJFJFJ@'3/FVFbq0FfnFhqC%@$2FPFO>Ffn&-Fiy6%FfnFeoF\oFW
@$4-%5JanetOre/member_multG6%Ffn%&J_HOMGFeo>F]jl7$-Faz6#F]jlFfn7$FVFhqF_il7$Fbq
Ffn@%FcilF``lFLFE6%F]jlFHF_vFEFE
M7R0
I;JanetOre/jnormal_form_Z_lmf*6)%"fG%"FG%%seqvG%(mulprocG%'lmprocG%'ppprocG%(lo
c_varG6.%"aG%"gG%"hG%"iG%"sG%"tG%#lmG%$divG%'n_entrG%*zero_listG%.rhs_zero_list
G%'pseudoG6#%jnCopyright~(C)~2004-2010~by~Daniel~Robertz.~All~rights~reserved.G
6"C,>%*_jonnformG,&F>"""F@F@>8&9$>8,-%%nopsG6#&FB6#F@>8-7#-%"$G6$""!FE>8.7#-FO6
$FQ-FG6#&FB6#""#>8+%%trueG>8/%&falseG>8*-9(FH?(F;F@F@F;3Fgn0&F]o6$FenF@FQC%>8'F
@>FgnF[o?(F;F@F@F;31Fgo-FG6#9%4Fgn@%-%5JanetOre/pinv_divideG6%&F^p6$Fgo""$&F^p6
$Fgo""&&F]oFJC$>8%-%%iremG6$Fco&F^p6%Fgo""'F@@%/F]qFQC'>%)_joreducG,&FhqF@F@F@>
F]q-%%iquoGF`q>FB7$-%'normalG6#,&FIF@-%$mapG6$f*6#F-F;6$%)operatorG%&arrowGF;**
T#F@&T%6$FenFenF@&T(6%T)FcqFen!""FCF@F;F;6*F.F]qF3F]oF&F^pF0Fgo&F^p6%FgoF@F@Fds
-F`r6#,&FYF@-Fdr6$f*FgrF;FhrF;F[sF;F;Fes&F^p6%FgoF@FenFds>FgnFhn>F]oF^oC$-%'igc
dexG6&FcoFaq.8(.8)@%0FitFQC&>FhqFiq>FB7$-F`r6#,&*&FgtF@FIF@F@-Fdr6$f*FgrF;FhrF;
F[sF;F;6*F2FitF3F]oF&F^pF0FgoFfsF@-F`r6#,&*&FgtF@FYF@F@-Fdr6$f*FgrF;FhrF;F[sF;F
;FguF^tF@>F]oF^o@%30FgtF@0FgtFdsC$>FjnFhn>Fgo,&F\pF@F@F@>FgnFhn>FgoFgv>Fgo,&Fgo
F@F@F@@'3/FIFL0FYFSC$@$4-%5JanetOre/member_multG6%FY%&J_HOMG9&>Ffw7$-%#opG6#Ffw
FY6$7$FIFSFjnF^w6$7$FLFYFjn6$FBFjnF;6%FfwF>FhqF;F;
M7R0
I/JanetOre/omultf*6&%"pG%"qG'%&opvarG%%listG'%$opsGF)6#%"iG6#%jnCopyright~(C)~2
003-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C$-%%subsG6$7#-%$seqG6$/&9&6
#8$&9'F</F=;"""-%%nopsG6#F;-%1JanetOre/poltoopG6$9$F;-%"%G6#9%F0F0F0F0
M7R0
I@JanetOre/invred_collect_lc_polyf*6*%"fG%"TG%'no_rhsG%.return_coeffsG%%seqvG%(
mulprocG%'lmprocG%(loc_varG68%"aG%"cG%#caG%#cbG%"hG%#h2G%"iG%"kG%#lmG%"nG%"qG%"
rG%$divG%'n_entrG%(termo_hG%*zero_listG%#lvG%#nlG%"HG%"eG%#meG%#hiG6#%\pCopyrig
ht~(C)~2000-2010~by~Carlos~F.~Cid~and~Daniel~Robertz.~All~rights~reserved.G6"C0
>81-%%nopsG6#&9$6#""">837#-%"$G6$""!FI>8(FM@$49&>8)&FN6#""#@$09+7"C'>84<#-%$seq
G6$&9(6#&F^o6#8*/F\p;FP-FK6#F^o>85-FK6#Fbo>86F_o>FY-%7JanetOre/cancel_locvarG6%
FYFhoF^o@$Fen>Fhn-Fip6%FhnFhoF^o>8--FK6#9%>8/FR>8%7#-FU6$FWF`q>8.FP>8,-9*6#FY?(
FFFPFPFF0&F^r6$F[oFPFWC)>F\pFP>80%&falseG>82*&FdrFP&F^r6$F[oF[oFP@$F]o>87,&-%$m
axG6#-Feo6$-%'degreeG6$&FY6#8+Fbo/F^t;FPFIFP-%$addG6$&&F^r6$FPFP6#&F^oF]t/F^t;F
PFbp!""?(FFFPFPFF31F\pF`q4Fir@%-%5JanetOre/pinv_divideG6%&Fcq6$F\p""$&Fcq6$F\p"
"&&F^rFOC$@%F]oC,>88,&-Fes6#-Feo6$-Fjs6$&&Fcq6%F\pFPFPF]tFboF_tFP-Fbt6$&&Fcq6%F
\pFfuFPFgtFitF[u>89FW>F^tFP?(FFFPFPFF32FWF_v1F^t-FK6#FfpC$@$332&&FfpF]t6#FfuF_v
/&&&F^xFjnFOFjn&FjuFjn-%8JanetOre/conv_divisibleG6$FbxFjuC$>F`wF^t>F_vF]x>F^t,&
F^tFPFPFP@$3Fdw0FeqFR[@$2FbsF_v>Ffp7$-%#opGFgw7%7$FYFhnF^rFbs@%/F`wFWC$>FY-%)si
mplifyG6#,&-%$mapG6$f*6#F.FF6$%)operatorG%&arrowGFF*&&T$6%T%""'FPFPFNFPFFFF6&F&
FcqF4F\pFYFP-Fbz6$f*FezFFFfzFF*(T#FP&T&6%T'F^[lF[oF[uFNFPFFFF6(F<F\sF&FcqF4F\pF
hvF[u@$Fen>Fhn-F^z6#,&-Fbz6$f*FezFFFfzFFFizFFFFF_[lFhnFP-Fbz6$f*FezFFFfzFFFc[lF
FFFFi[l&Fcq6%F\pFPF[oF[uC$>FY-F^z6#,&-Fbz6$f*FezFFFfzFF*&&&&&Fd[l6#F][lFjnFjnFO
FPFNFPFFFF6&F@FfpFCF`wFYFP-Fbz6$f*FezFFFfzFF*(Fd[lFP&&&&F][l6#Fh[lFjnFjnFjnF[uF
NFPFFFF6(F<F\sF@FfpFCF`w&&&Ffp6#F`wFOFOF[u@$Fen>Fhn-F^z6#,&-Fbz6$f*FezFFFfzFFF_
]lFFFFFe]lFhnFP-Fbz6$f*FezFFFfzFFFi]lFFFFF_^l&Fa^lFjnF[u>FYFhp@$Fen>FhnF]q@$0%0
JanetOre/characGFWC$>FY-%$modG6$FYFe_l@$Fen>Fhn-Fi_l6$FhnFe_l@%/Fe_lFWC&-%$gcdG
6&Fdr&Fcq6%F\pF^[lFP.8&.8'>F^t-%'normalG6#*(Fh`lFPF^sFP&Fcq6%F\pF^[lF[oF[u>FY-%
(collectG6%-F]al6#,&-Fbz6$f*FezFFFfzFF*&Fd[lFPFNFPFFFF6$F1Fj`lFYFP-Fbz6$f*FezFF
FfzFF-Ff[l6$Fd[lFNFFFF6&F5F^tF*9)FhvF[uFho%,distributedG@$Fen>Fhn-Fdal6%-F]al6#
,&-Fbz6$f*FezFFFfzFFF\blFFFFF]blFhnFP-Fbz6$f*FezFFFfzFFFablFFFFFcblFe\lF[uFhoFe
blC&-Fi_l6$-%$GcdGFd`lFe_l>F^t-Fi_l6$-%'NormalGF^alFe_l>FY-Fdal6%-Fi_l6$-F\dl6#
,&-Fbz6$f*FezFFFfzFFF\blFFFFF]blFYFP-Fbz6$f*FezFFFfzFFFablFFFFFcblFhvF[uFe_lFho
Febl@$Fen>Fhn-Fdal6%-Fi_l6$-F\dl6#,&-Fbz6$f*FezFFFfzFFF\blFFFFF]blFhnFP-Fbz6$f*
FezFFFfzFFFablFFFFFcblFe\lF[uFe_lFhoFebl>Fir%%trueG>F\p,&F\pFPFPFP@%F_u@%F``lC$
>Feq-%'subsopG6$/&F^r6$FPF[o-Fdal6%,&&Feq6#FfflFPF\sFPFhoFeblFeq>FY-Fcfl6$/Fffl
-Fdal6%,&&FYF\glFPF\sF[uFhoFeblFYC$>Feq-Fi_l6$FbflFe_l>FY-Fi_l6$F^glFe_lC%@%F``
l>Feq-Fdal6%-F]al6#-Fbz6$f*FezFFFfzFFF\blFFFFF]blFeqFhoFebl>Feq-Fdal6%-Fi_l6$-F
\dl6#-Fbz6$f*FezFFFfzFFF\blFFFFF]blFeqFe_lFhoFebl>F\r*&Fj`lFPF\rFP@$9'@%F``l>Fg
q-Fcfl6$/F\p,&&FgqF[pFP*(F\sFPF\rF[uF`alF[uFPFgq>Fgq-Fi_l6$FfilFe_l>F^rF_r@$3F_
y0F\rFP@%F``l>Feq-F]al6#*&FeqFPF\rF[u>Feq-Fi_l6$-F\dlFfjlFe_l@$3FenFbjl@%F``l>F
hn-F]al6#*&FhnFPF\rF[u>Fhn-Fi_l6$-F\dlFa[mFe_l7$7$FeqFhnFgqFFFFFFFF
M7R0
I3JanetOre/JZeroSetsf*6"6$%"iG%"ZG6#%jnCopyright~(C)~2000-2010~by~Daniel~Robert
z.~All~rights~reserved.GF$C&@$4-%)assignedG6#%*_jinv_denG-%&ERRORG6#%_ono~zero~
sets;~run~JBasis~first~(for~C++~version~use~option~"denom").G>8%7"?&8$F0%%trueG
@$4-%'memberG6$F9F6>F67$-%#opG6#F6F9F6F$F$F$F$
M7R0
I6JanetOre/JSubmoduleHFf*6"6;%"iG%"jG%"lG%#q1G%#q2G%"sG%,given_basisG%&m_ordG%'
n_entrG%"FG%%varsG%$varG%$opsG%2tmp_J_T_List_dataG%%nvarG%(var_ordG%'vt_degG%)e
ntr_posG%%seqvG%,force_evalaG%'lmprocG%/args_without_sG%$resG%'NPolHFG%#_sG6#%j
nCopyright~(C)~2007-2010~by~Daniel~Robertz.~All~rights~reserved.GF$C-@$4%2Janet
Ore/ratcoeffG-%&ERRORG6#%fnnot~implemented~yet~for~involutive~bases~over~the~in
tegers.G>87%&falseG>8+""%>8)%%NULLG>80FQ@%519#"""32FXFW55555-%%typeG6$&9"6#""#%
)equationG-F[o6$F]o%(numericG-F[o6$F]o-%%listG6#%(integerG-F[o6$F]o%%nameG-F[o6
$F]o%'stringG3-F[o6$F]oFho5-%(hastypeG6$F]o%)functionG-Ffp6$F]o%*procedureGC%>8
*FK>8%FX>89FQC%>F^q%%trueG>F`q""$>Fbq6$&F^o6#FXF]o?(8$F`qFXFWFeq@/-F[o6$&F^o6#F
]rFjo@%F^qC$>FMFar>Fbq6$FbqFar@%/FPFQ>FPFar-FF6#%Zcannot~determine~which~indete
rminate~or~value~to~plug~in.G-F[o6$FarFhoC$@'/Far7"F$45-F[o6$FarFgo-F[o6$Far-Fh
o6#Fho>FSFar>FMFar>FbqFgr-F[o6$FarFdo@%Fir>FPFarF[s3-F[o6$FarFao/-%#opG6$FXFarQ
$varF$@%Fir>FP-Fht6$F`oFarF[s-F[o6$FarF]p@%Fir>FPFarF[s/FarQ!F$@%Fir>FPFarF[s-F
F6#%0invalid~option.G@$Fir-%'RETURNG6#F"@%F^qC4>8--%3JanetOre/procinputG6#Fjq>8
,&FavF[r>FJ5FJ&Fav6#""&>8173%)J_T_ListG%*jnumber_tG%)JTab_VarG%'_jnvarG%'_jpvar
G%)_jvardegG%)_jtupdegG%-_jentrblocksG%&J_HOMG%*_jpno_rhsG%1_jpforce_collectG%/
_jpforce_evalaG%*_jinv_denG%._JBOre_factorG%6_JBOre_factor_multvarG%+_JBOre_var
G%-_JBOre_compaG>8.-%2JanetOre/procvarsG6$F]oFfv>83&FbxF_o>84&Fbx6#Fgq>85&Fbx6#
""'>8/&FbxF[r>867#-%$seqG6$-%$catG6$%#_xGF]r/F]r;FX-%%nopsG6#Fcy>Fgx-%%subsG6$7
#-Fiy6$/&FcyFbr&FfyFbrF_zFgx@$30FgxFcs/FMFN>FM7#-%"$G6$FN-Fbz6#Fgx@$0FSFQ-%1Jan
etOre/procopsG6%FcyFSFfy>8&-%1JanetOre/procordG6*FMFcyFgxF[y&Fbx6#FNFfyF^y4FJ@$
&F_\lFd\l>F^yFcs@$/&Fjx6#;,&FazFXFXFX,&FazFXFfvFX7#-Fe[l6$""!Ffv>FjxFc]l>88-%&p
arseG6#-F\z6/Q<g->`JanetOre/j_lead_mon`(g,F$-%(convertG6$FfvF`pQ",F$-F^^l6$FfyF
`pF`^l-F^^l6$&F_\lF[rF`pF`^l-F^^l6$F^yF`pF`^l-F^^l6$&F_\lF[wF`pF`^l-F^^l6$FjxF`
pQ")F$-%7JanetOre/setupJ_T_ListG6*-%(collectG6%&FavFd\lFcy%,distributedGFfv&Fav
F_oFf]l&F_\lF\y&FbxF[wFcy&FavF\y@$4-%)assignedG6#F`w-FF6#%Lmissing~involutive~b
asis;~run~JBasis~first.G>8;f*6#%"rG6,%"aG%"bG%"dG%#dpGF'%"mG%"nG%&n_mulG%"pG%%t
ermGF$F$C'>FP-Fbz6#&F`w6%FXFXFX>F^q-Fbz6#&F`w6%FXFgqFX>FavFc]l@$0&F`w6%FXFayFXF
c]l@%%3JanetOre/janetlikeG?&F]rF`wFeqC%>FM-%*numboccurG6$&F]rF[w%)infinityG>F_\
l-F^^l6$&F]r6$FgqFX%"+G@%/FMF^q?(8(F_\lFX9$Feq>Fav,&FavFX-%)binomialG6$,*FdclFX
F_\l!""FMFXF\dlFX,&FMFXF\dlFXFXC'>F`q-Ffz6$/FjblFc]lFibl>Ffv7#-Fe[l6$Fc]lF^q?(F
dclF_\lFXFeclFeq>FavFgcl>Ffv-%6JanetOre/nextmonomialG6$FfvF`q?(F$FXFXF$0FfvFddl
C%>8'-F^^l6$FfvF`cl?(Fdcl,&F_\lFXFaelFXFXFeclFeq>Fav,&FavFX-Ficl6$,,FdclFXF_\lF
\dlFaelF\dlFMFXF\dlFXF]dlFX>FfvFjdl?&F]rF`wFeqC%>FMFfbl>F_\lF\cl?(FdclF_\lFXFec
lFeq>FavFgcl-%'expandG6#FavF$F$F$@'-F[o6$FPF`pC(>6$FaelFdcl-%5JanetOre/pmaxmin_
degGF^`l@$2Fc]lFdcl-%'printfG6$Q+s~<~%d:~0|+F$Fdcl?(F]rFdclFX,&FaelFXF\dlFXFeq-
F`gl6%Q,s~=~%d:~%a|+F$F]r-Fc`lFbr-F`gl6%Q-s~>=~%d:~%a~F$Fael-Ffz6$/8<.FP-%6Jane
tOre/JSubmoduleHPG6#F_hl@$F^q-%9JanetOre/restoreJ_T_ListG6#F^w-F\v6#FQ-F[o6$FPF
doC%>8:-Fc`l6#FP@$F^qFehlF^il@%F^qC$Fehlf*6#F&F$6$%)operatorG%&arrowGF$-F"6$T#/
FjtFeclF$F$6$F;Fbqf*FeilF$FfilF$-F"6#F\jlF$F$F$F$F$F$F$
M7R0
I/JanetOre/JMultf*6%%"aG%"bG'%%varsG%%listG63%#aaG%#bbG%"cG%"iG%"jG%"kG%"nG%"pG
%"rG%$su1G%$su2G%"vG%$varG%%seqvG%(mulprocG%-var_exteriorG%#nfG6#%jnCopyright~(
C)~2003-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C*>80-%2JanetOre/procvar
sG6$9&""!>FA&FA6#""">817#-%$seqG6$-%$catG6$%#_xG8'/FU;FJ-%%nopsG6#FA@%2""$9#C&>
82-%1JanetOre/procopsG6%FA&9"6#""%FL>83&F[o6#""&@%0Fdo7">84f*6#F2F>6$%)operator
G%&arrowGF>-%.JanetOre/rmsqG6$9$-%$mapG6$f*6#F/F>F_pF>&T#6#FepF>F>6$F8T%F\qF>F>
6&F:FdoF8FL>F\pf*F^pF>F_pF>FepF>F>F>>F[o&F[o6#FgnC$>F[o-%(unapplyG6%*&%#_aGFJ%#
_bGFJF\rF]r>F\pf*F^pF>F_pF>FepF>F>F>>8/-%*substringG6$-%(convertG6$-%+kernelopt
sG6#%(versionG%'stringG;FJ"")>8-7#-FO6$/&FA6#FU&FLFfsFV>8.7#-FO6$/FgsFesFV@+55-
%%typeG6$Fep%'matrixG-Fbt6$Fep%)listlistG330FarQ)Maple~V,F>0FarQ)Maple~6.F>-Fbt
6$Fep%'MatrixG@-5-Fbt6$9%Fdt-Fbt6$FeuFgtC'>8*-&%'linalgG6#%'coldimGF]q@$0Fju-&F
]v6#%'rowdimG6#Feu-%&ERRORG6#%@matrix~dimensions~incompatible.G>8,-FcvF]q>8&-F\
vFfv@%F`t-%)simplifyG6#-Fdt6%F\wF_w7#-FO6$-FO6$-%%subsG6$Fis-%$addG6$-F[o6$-F]x
6$F`s&Fep6$FU8)-F\p6#-F]x6$F`s&Feu6$Fhx8(/Fhx;FJFju/F_y;FJF_w/FU;FJF\w-Fcw6#-F`
u6%F\wF_w7#-FO6$7#FjwFdy3Fit-Fbt6$FeuF`uC'>FjuF[v@$0Fju-&%.LinearAlgebraG6#%-Ro
wDimensionGFfvFgv>F\wF]w>F_w-&Fgz6#%0ColumnDimensionGFfvFfy-Fbt6$Feu%'vectorGC'
>FjuF[v@$0Fju-&F]v6#%(vectdimGFfv-Fhv6#%cpnumber~of~columns~of~first~argument~d
oes~not~equal~number~of~entries~of~second~argument.G>F\wF]w>8%-F]x6$F`s-%&evalm
GFfv@%F`t-Fcw6#-Fb[l6$F\w7#-FO6$-F]x6$Fis-F`x6$-F[o6$Fdx-F\p6#&F`\l6#FhxF`yFdy-
Fcw6#-&%'VectorG6#%'columnGFi\l3Fit-Fbt6$FeuF[^lC'>FjuF[v@$Ff[lF[\l>F\wF]w>F`\l
Fa\lFg]l-Fbt6$FeuF)-Fhv6#%Rcannot~multiply~a~matrix~or~listlist~with~a~list.GC&
>F\wF]w>F_wF[v>F`\l-F\p6#-F]x6$F`sFeu@%F`t-Fcw6#-Fdt6%F\wF_w7#-FO6$7#-FO6$-F]x6
$Fis-F[o6$FdxF`\l/FhxFcyFdy-Fcw6#-F`uFg_l-Fbt6$FepFb[l@)5FbuF^zC'>FjuFbv@$0Fju-
Fh[lF]q-Fhv6#%`pnumber~of~entries~of~first~argument~does~not~equal~number~of~ro
ws~of~second~argument.G>F_wF`w>8$-F]x6$F`s-Fd\lF]q@%Fbu-Fcw6#-Fb[l6$F_w7#-FO6$-
F]x6$Fis-F`x6$-F[o6$&FdalFf]l-F\p6#-F]x6$F`s&Feu6$FhxFUF`y/FUFcy-Fcw6#-F[^lF\bl
5F`[lF^^lC%>FjuF^al@$Ff[l-Fhv6#%cpnumber~of~entries~of~first~argument~does~not~
equal~number~of~entries~of~second~argument.G-Fcw6#-F]x6$Fis-F`x6$-F[o6$-F]x6$F`
s&FepFf]l-F\p6#-F]x6$F`s&FeuFf]lF`yFf^l-Fhv6#%Fcannot~multiply~a~vector~with~a~
list.GC%>FjuF^al>F`\lF__l-Fcw6#-Fb[l6$Fju7#-FO6$-F]x6$Fis-F[o6$F`dlF`\lF`y3Fit-
Fbt6$FepF[^l@)Fi`lC'>FjuFbv@$F]alF_al>F_wF`w>FdalFealF^clFaclC%>FjuF^al@$Ff[lFe
clFhclFf^lFhdlC%>FjuF^al>F`\lF__l-Fcw6#-F[^lFael-Fbt6$FepF)@'5FcuF^z-Fhv6#%Fcan
not~multiply~a~list~with~a~matrix.GFf^l-Fhv6#%Dcannot~multiply~a~list~with~a~li
st.GC$>F`\lF__l-Fcw6#-F]x6$Fis-Fgp6$f*6#F.F>F_pF>-T'6$-F]x6$F\qFepF_qF>F>6(F4F`
sF,F`\lF9F[oFep@/FcuC&>F\wFbv>F_wF`w>Fdal-F]x6$F`sFep-Fcw6#-Fdt6%F\wF_w7#-FO6$7
#-FO6$-F]x6$Fis-F[o6$Fdal-F\p6#-F]x6$F`s&FeuFgxFb`lFdyF^zC&>F\wFez>F_wF\[l>Fdal
Fjhl-Fcw6#-F`uF_ilF`[lC%>FjuFg[l>FdalFjhl-Fcw6#-Fb[l6$Fju7#-FO6$-F]x6$Fis-F[o6$
FdalFcdlF`yF^^lC%>FjuFg[l>FdalFjhl-Fcw6#-F[^lF\[mFfuC$>FdalFjhl-Fcw6#-F]x6$Fis-
Fgp6$f*F^hlF>F_pF>-Fgp6$f*FjpF>F_pF>-T)6$F\q-F`hl6#-F]x6$F_qFepF>F>6*F+F\qF4F_q
F;F`hlF9Fg\mFepF>F>6*F+FdalF4F`sF;F\pF9F[oFeuFf^lC$>FdalFjhl-Fcw6#-F]x6$Fis-Fgp
6$f*F^hlF>F_pF>Ff\mF>F>F^]mFeu-Fcw6#-F]x6$Fis-F[o6$FjhlF__lF>F>F>F>
M7R0
I9JanetOre/JanetOreOptionsf*6#%"aG6#%)oldvalueG6#%jnCopyright~(C)~2000-2010~by~
Daniel~Robertz.~All~rights~reserved.G6"C&@$0%5JanetOre/initializedG.%%trueG-%.J
anetOre/initGF*>8$%%NULLG@%-%%typeG6$9$%'stringG@A/F:Q$getF*-%'RETURNG6#-%&tabl
eG6#7,/Q/characteristicF*%0JanetOre/characG/Q)rationalF*%2JanetOre/ratcoeffG/Q'
matrixF*%4JanetOre/matrixtypeG/Q'absremF*%0JanetOre/absremG/Q*janetlikeF*%3Jane
tOre/janetlikeG/Q)criteriaF*%1JanetOre/invcritG/Q'JBasisF*%4JanetOre/JInvoBasis
G/Q+JInvReduceF*%2JanetOre/JIReduceG/Q/JGroebnerBasisF*%5JanetOre/JGroebBasisG/
Q.JSyzygyModuleF*%4JanetOre/JSyzygyModG/F:Q$setF*@%32"""9#-F86$&9"6#""#FCC,@%3-
F86$&Fgo6#FG%(integerG5/F`p""!-%(isprimeG6#F`p>FHF`p-%&ERRORG6#%Ginvalid~table~
entry:~"characteristic".G@%-F86$&Fgo6#FJ%(booleanG>FKFaq-F[q6#%Ainvalid~table~e
ntry:~"rational".G@%5/&Fgo6#FM%'matrixG/F[r%'MatrixG>FNF[r-F[q6#%?invalid~table
~entry:~"matrix".G@%-F86$&Fgo6#FPFcq>FQFgr-F[q6#%?invalid~table~entry:~"absrem"
.G@%-F86$&Fgo6#FSFcq>FTF`s-F[q6#%Binvalid~table~entry:~"janetlike".G@%54-F86$&F
go6#FV-%%listG6#%'posintG0-%'removeG6%%$hasGF[t7&FcoFjo""$""%7"-F[q6#%Ainvalid~
table~entry:~"criteria".G>FWF[t@%-F86$&Fgo6#FY%*procedureG>FZFau-F[q6#%?invalid
~table~entry:~"JBasis".G@%-F86$&Fgo6#FfnFcu>FgnF[v-F[q6#%Cinvalid~table~entry:~
"JInvReduce".G@%-F86$&Fgo6#FinFcu>FjnFdv-F[q6#%Ginvalid~table~entry:~"JGroebner
Basis".G@%-F86$&Fgo6#F\oFcu>F]oF]w-F[q6#%Finvalid~table~entry:~"JSyzygyModule".
G-F[q6#%Gexpecting~a~table~as~second~parameter.G/F:Q&MapleF*C&>FZ%1JanetOre/JIB
asisG>Fgn%6JanetOre/JInvolReduceG>Fjn%6JanetOre/JGroebnerBasG>F]o%4JanetOre/JSy
zModuleG/F:Q$C++F*C&>FZ%:JanetOre/JBasisFastAssertG>Fgn%8JanetOre/JInvReduceFas
tG>Fjn%<JanetOre/JGroebnerBasisFastG>F]o%;JanetOre/JSyzygyModuleFastG5/F:Q,Comp
utationF*/F:Q,computationF*C$@%5/FZFex/FZ%4JanetOre/JBasisFastG>F4Fbx>F4Fgw@$Fb
o@%-F86$FgoF;@'/FgoFgwC&>FZFjw>FgnF\x>FjnF^x>F]oF`x/FgoFbxC&>FZFex>FgnFgx>FjnFi
x>F]oF[y-F[q6#%Wexpecting~either~"Maple"~or~"C++"~as~second~parameter.GFjz/F:Q)
InvBasisF*C$>F4FZ@$Fbo@%-F86$FgoFcu>FZFgo-F[q6#%Kexpecting~a~procedure~as~secon
d~parameter.G/F:Q*InvReduceF*C$>F4Fgn@$Fbo@%Fc[l>FgnFgoFf[l/F:Q-SyzygyModuleF*C
$>F4F]o@$Fbo@%Fc[l>F]oFgoFf[l5/-%*substringG6$F:;FcoFhtQ%CharF*/Fi\lQ%charF*C$>
F4FH@$Fbo@%3-F86$FgoFbp5/FgoFep-Fgp6#FgoC%>FHFgo@$0FHFep>FKF0@$0FHF4C$>%)J_T_Li
stG.Fd^l>%*_JOStatssG.Fg^l-F[q6#%Lexpecting~prime~number~as~second~parameter.G5
/F:Q)RationalF*/F:FJC$>F4FK@$Fbo@%-F86$FgoFcqC%>FKFgo@$4FK>FHFep@$Fa^lC$>Fd^lFe
^l>Fg^lFh^l-F[q6#%Mexpecting~boolean~value~as~second~parameter.G5/-Fj\l6$F:;Fco
""'Q'MatrixF*/Fd`lFMC$>F4FN@$Fbo@%5/FgoF]r/FgoF_r>FNFgo-F[q6#%Texpecting~'matri
x'~or~'Matrix'~as~second~parameter.G/F:Q'GBasisF*C$>F4Fjn@$Fbo@%Fc[l>FjnFgoFf[l
/F:Q*JanetLikeF*C$>F4FT@$Fbo@%Fd_l>FTFgoF_`l5/F:Q)CriteriaF*/F:FVC$>F4FW@$Fbo@%
54-F86$FgoF]t0-Fct6%FetFgoFftFit-F[q6#%jnexpecting~list~of~integers~between~1~a
nd~4~as~second~parameter.G>FW-%%sortGFj]l/F:Q<AbsolutelySmallestRemainderF*C%@$
FK-F[q6#%`poption~'AbsolutelySmallestRemainder'~only~applies~for~computations~o
ver~the~integers.G>F4FQ@$Fbo@%Fd_l>FQFgoF_`l-F[q6#%Finvalid~option;~see~?JanetO
reOptions.G-F[q6#%fnexpecting~a~string~as~first~argument;~see~?JanetOreOptions.
GF4F*6.Fd^lFg^lFHFKFNFTFQFZFgnFjnF]oFWF*F*
M7R0
I:JanetOre/JHilbertFunctionf*6"6,%"iG%"jG%"qG%"rG%"sG%+n_exteriorG%,given_basis
G%/args_without_sG%$varG%2tmp_J_T_List_dataG6#%ipCopyright~(C)~2000-2010~by~Car
los~F.~Cid,~Arne~Lorenz~and~Daniel~Robertz.~All~rights~reserved.GF$C)@$/9#""!-%
'RETURNG6#F">8(.F;>8+%%NULLG@%1F5"""C$>8*%&falseG@$/F5FB@%3-%%typeG6$&9"6#FB%)e
quationG/-%#opG6$FBFNQ$varF$>F;-FT6$""#FN>F;FNC$>FE%%trueG?(8$FBFBF5Fhn@%3-FL6$
&FO6#FjnFQ/-FT6$FBF_oFV>F;-FT6$FZF_o>F>6$F>F_o@%FE>6$8-8,-%5JanetOre/setup_basi
sG6#F>@$4-%)assignedG6#%)J_T_ListG-%&ERRORG6#%Lmissing~involutive~basis;~run~JB
asis~first.G@%-Fdp6#%/_jvar_exteriorG@%-FL6$F^q%%listG>8)-%%nopsGF]q-Fhp6$QSwro
ng~format~of~the~global~variable~_jvar_exteriorF$F^q>FdqF6@)-FL6$F;%'stringGC(>
8&-%2JanetOre/pmax_degGFep@$2F6Fdq>Far-%$maxG6$,&FdqFBFBFBFar?(FjnF6FB,&FarFB!"
"FBFhn-%'printfG6%Q0Dim(M.%d)~=~%a|+F$Fjn-F"F`o-F_s6%Q;Dim(M.s)~=~%a,~for~s~>=~
%dF$-%<JanetOre/JHilbertPolynomialGF$Far@$FE-%9JanetOre/restoreJ_T_ListG6#F\p-F
86#F?3-FL6$F;%(numericG/F;F6C%>8'-%-JanetOre/JHFG6#F;@$FEFisFetF_tC%>Fet-%)simp
lifyG6#,&FftFB-Fgt6#,&F;FBF]sFBF]s@$FEFisFetC$@$FEFisf*6#F&F$6$%)operatorG%&arr
owGF$-F"6$FO/FV9$F$F$F$F$F$F$F$
M7R0
I0JanetOre/JSyzOpf*6$%#_AG'%$varG%%listG6%%"AG%$resG%$opsG6#%[oCopyright~(C)~20
03-2010~by~Mohamed~Barakat.~All~rights~reserved.G6"C&>8$-%4JanetOre/jets_mkmatG
6#-%$mapG6$f*6#%"aGF/6$%)operatorG%&arrowGF/&9$6#"""F/F/F/&-%3JanetOre/procinpu
tG6#F@6#""%@%2""#9#>8&&9"6#""$>FN%%NULLG>8%-%5JanetOre/JResolutionG6'F29%FNQ$CG
TF/FB@%2FB-%%nopsG6#FV-%%copyG6#&FV6#!"#@%/%4JanetOre/matrixtypeG%'MatrixG-F\o6
#-Fdo6#7#7#-%"$G6$""!-&%'linalgG6#%'rowdimG6#&FV6#!""-F\o6#-%'matrixGFhoF/F/F/F
/
M7R0
I5JanetOre/JInvolutionf*6%%"aG'%%varsG%%listG%$opsG6+%"jG%"pG%"sG%"vG%$varG%#vl
G%#vrG%,dualmulprocG%*only_diffG6#%jnCopyright~(C)~2006-2010~by~Daniel~Robertz.
~All~rights~reserved.G6"C%>8(&-%2JanetOre/procvarsG6$9%""!6#""">8'-%*substringG
6$-%(convertG6$-%+kerneloptsG6#%(versionG%'stringG;FA"")@%2""#9#C+>8*-%1JanetOr
e/procopsG6%F99&F9>8+&FW6#""'>FW&FWF@>8)-%'removeG6%%0JanetOre/hasvarGF9FW>8%%%
NULLG>8&7">8,-%&evalbG6#/-F`o6$f*6#F+F66$%)operatorG%&arrowGF6-F\p6#3-%%typeG6$
9$%)functionG/-FH6$-%#opG6$F?F\qFNQ%weylF6F6F6F6FenFho?(8$FAFA-%%nopsG6#Fen%%tr
ueG@'-Fjp6$&Fen6#FfqF]q@,3/-FH6$-Fbq6$F?F^rFNFdqFjo>Fgo7$-Fbq6#Fgo/-Fbq6$FAF^r,
$F\s!""/FcrQ)exteriorF6C$@$52-Fhq6#F^rFS0Ffs-Fhq6#<#-FbqFgs-%&ERRORG6#%\pexpect
ing~'exterior(dx1,dx2,...)'~with~appropriate~distinct~symbols~dx1,~dx2~etc.G@%/
FdoFeo>Fdo-%&parseG6#-%$catG6%QLa->`homalg/JanetOre/involution_exterior`(a,F6-F
H6$F[tFNQ#);F6>Fdo-%"@G6$-%%evalG6#FdoFdt/FcrQ&shiftF6>Fgo7$Fir/-Fbq6$FSF^r,$Fj
uF_s/FcrQ&eulerF6-F^t6#%Mno~involution~is~defined~for~the~given~ring.G0FcrFdq-F
^t6$%6unknown~operator~typeGF\s-Fjp6$F^r%)equationGF_v-F^t6#%@operator~list~has
~wrong~format.G@'0FgoFho@%0FdoFeo-F^t6#%jnup~to~now~'exterior'~cannot~be~combin
ed~with~'weyl'~or~'shift'.G@+-Fjp6$F\q%)listlistG-FH6$-&%'linalgG6#%*transposeG
6#-%%subsG6$Fgo-%$mapG6'%9JanetOre/dual_polynomialG-FH6$F\q%'matrixGF^oFWFgnFfw
-FjpFgx-Fjw6#-F`x6$Fgo-Fcx6'FexF\qF^oFWFgn330FCQ)Maple~V,F60FCQ)Maple~6.F6-Fjp6
$F\q%'MatrixG-&%.LinearAlgebraG6#%*TransposeGF[y-Fjp6$F\qF(F\y-F`x6$Fgo-Fex6&F\
qF^oFWFgnF_w@+Fdw-FH6$-Fcx6$Fdo-Fjw6#FfxFfwFix-Fcx6$Fdo-Fjw6#F\qF`y-Fcx6$Fdo-Fj
yF^[lF^z-Fcx6$FdoF\q-FdoF^[l@)Fdw-FH6$FizFfwFixF][lF`yFa[lF\q@)FdwFf[lFixF][lF`
yFa[lF\qF6F6F6F6
M7R0
I/JanetOreA/initf*6"F$6#%jnCopyright~(C)~2003-2010~by~Daniel~Robertz.~All~right
s~reserved.GF$-%.JanetOre/initG6#9"F$F$F$F$
M7R0
I<JanetOre/pplex_Z_entr_blockf*6$%"aG%"bG6#%"iG6#%jnCopyright~(C)~2006-2010~by~
Daniel~Robertz.~All~rights~reserved.G6"C'@&2&%-_jentrblocksG6#&9$6#""#&F06#&9%F
4-%'RETURNG6#%&falseG2F6F/-F;6#%%trueG?(8$"""FD-%%nopsG6#&F36#FDFA@&2&FH6#FC&&F
9FIFMF?2FNFLF:@&2-%$absG6#&F96#""$-FT6#&F3FWF:2FYFSF?@$2F2F8F:FAF+F+F+F+
M7R0
I8JanetOre/pnegplex_Z_POTf*6$%"aG%"bG6"6#%jnCopyright~(C)~2004-2010~by~Daniel~R
obertz.~All~rights~reserved.GF'@'2&9$6#""#&9%F.%&falseG2F0F,%%trueG4-%1JanetOre
/pplex_ZG6$F-F1F'F'F'F'
M7R0
I>JanetOre/pdegrevlex_deg_Z_POTf*6$%"aG%"bG6&%"iG%"nG%$tdaG%$tdbG6#%jnCopyright
~(C)~2004-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C(@&2&9$6#""#&9%F4-%'R
ETURNG6#%&falseG2F6F2-F96#%%trueG>8%-%%nopsG6#&F36#""">8&-%$addG6$*&&FE6#8$FG&%
*_jovardegGFOFG/FP;FGFA>8'-FK6$*&&&F7FFFOFGFQFGFS@'2FIFVF=2FVFIF8?(FPFA!""FGF?@
&2FZFNF=2FNFZF8@%2-%$absG6#&F76#""$-Fao6#&F3FdoF;F?F.F.F.F.
M7R0
I=JanetOre/pnegdegrevlex_Z_POTf*6$%"aG%"bG6%%"iG%$tdaG%$tdbG6#%jnCopyright~(C)~
2004-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C'@&2&9$6#""#&9%F3-%'RETURN
G6#%&falseG2F5F1-F86#%%trueG>8%-%(convertG6$&F26#"""%"+G>8&-FB6$&F6FEFG@'2F@FIF
72FIF@F<?(8$-%%nopsG6#FD!""FFF>@&2&FL6#FQ&FDFYF<2FZFXF7@%2-%$absG6#&F66#""$-Fin
6#&F2F\oF:F>F-F-F-F-
M7R0
IDJanetOre/pnegdegrevlex_Z_entr_blockf*6$%"aG%"bG6%%"iG%$tdaG%$tdbG6#%jnCopyrig
ht~(C)~2006-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C)@&2&%-_jentrblocks
G6#&9$6#""#&F26#&9%F6-%'RETURNG6#%&falseG2F8F1-F=6#%%trueG>8%-%(convertG6$&F56#
"""%"+G>8&-FG6$&F;FJFL@'2FEFNF<2FNFEFA?(8$-%%nopsG6#FI!""FKFC@&2&FQ6#FV&FIFhnFA
2FinFgnF<@&2-%$absG6#&F;6#""$-F^o6#&F5FaoF<2FcoF]oFA@$2F4F:F<FCF-F-F-F-
M7R0
I;JanetOre/jnormal_form_polyf*6)%"fG%"FG%%seqvG%(mulprocG%'lmprocG%'ppprocG%(lo
c_varG69%"aG%#caG%#cbG%"gG%"hG%"iG%"kG%"rG%#lgG%#lmG%(termo_hG%$divG%#stG%'n_en
trG%*zero_listG%.rhs_zero_listG%#lvG%#nlG%#nvG%"HG%"eG%#meG%#hiG6#%\pCopyright~
(C)~2000-2010~by~Carlos~F.~Cid~and~Daniel~Robertz.~All~rights~reserved.G6"C,>%*
_jonnformG,&FI"""FKFK>8(9$>81-%%nopsG6#&FM6#FK@$09*7"C'>84<#-%$seqG6$&9&6#&FX6#
8)/F`o;FK-FR6#FX>85-FR6#Ffn>86-%'removeG6%%$hasGF\oFfn>87FY>FM7$-%7JanetOre/can
cel_locvarG6%FTF\oFX-Fdp6%&FM6#""#F\oFX>827#-%"$G6$""!FP>837#-F_q6$Faq-FR6#Fhp>
8+7$F\qFcq>8--9(FS?(FFFKFKFF0&F]r6$FjpFKFaqC)>F`oFK>8/%&falseG>8.*&FbrFK&F]r6$F
jpFjpFK@$FW>88,&-%$maxG6#-Fin6$-%'degreeG6$&FT6#8*Ffn/F\t;FKFPFK-%$addG6$&&F]r6
$FKFK6#&FXF[t/F\t;FKFfo!""?(FFFKFKFF31F`o-FR6#9%4Fgr@%-%5JanetOre/pinv_divideG6
%&F_u6$F`o""$&F_u6$F`o""&&F]rFUC%>%)_joreducG,&F^vFKFKFK@%FWC,>89,&-Fcs6#-Fin6$
-Fhs6$&&F_u6%F`oFKFKF[tFfnF]tFK-F`t6$&&F_u6%F`oFguFKFetFgtFit>8:Faq>F\t-FR6#F`p
?(FFFKFKFF32FaqFcv2FaqF\tC$@$331&&F`pF[t6#FguFcv/&&&FbxFipFUFip&F[vFip-%8JanetO
re/conv_divisibleG6$FfxF[vC$>FdwF\t>FcvFax>F\t,&F\tFKFitFK@$3Fjw0&FjqFUF\q[@$2F
`sFcvC$>F\t-9)6%FTF\o7$Fhp&&F]rFipFU>F`p7$-%#opGFgw7%7$&F\tFU&&F\tFipFU7$F[v-%'
subsopG6$/FK&FhzFipF_zF`s@%/FdwFaq>FM-%'expandG6#,&*&&F_u6%F`o""'FKFKFMFKFK7$,$
*(FjrFK&F_u6%F`oFi[lFjpFitF\wFKFit,$*(FjrFKF]\lFit&F_u6%F`oFKFjpFKFitFK>FM-Fc[l
6#,&*&&&&&F`p6#FdwFipFipFUFKFMFKFK7$,$*(FjrFK&Fi\lFipFit&&F[]lFUFUFKFit,$*(FjrF
KF`]lFit&Fb]lFipFKFitFK>FM-F[z6%FTF\oFhp>FMFbp@$0%0JanetOre/characGFaq>FM-%$mod
G6$FMF\^l@%/F\^lFaqC'>F\t-%'normalG6#*&F\sFKF]\lFit>8'-Ff^l6#7$-%$mapG6$f*6#F-F
F6$%)operatorG%&arrowGFF-T&6$T#FNFFFF6&F3F\tF(9'F\w-F__l6$f*Fb_lFFFc_lFFFf_lFFF
FFj_lFa\l>8,-F_r6#&Fj^lFU-%$gcdG6&Fbr&F``lFcr.8%.8&>FM7$-Ff^l6#,&-F__l6$f*Fb_lF
FFc_lFF*&Fi_lFKFNFKFFFF6$F/F[alFTFK-F__l6$f*Fb_lFFFc_lFFFdalFFFF6$F.Fi`lFc`lFit
-Ff^l6#,&-F__l6$f*Fb_lFFFc_lFFFdalFFFFFealFhpFK-F__l6$f*Fb_lFFFc_lFFFdalFFFFFia
l&Fj^lFipFitC'>F\t-F_^l6$-%'NormalGFg^lF\^l>Fj^l-F_^l6$-Fibl6#7$-F__l6$f*Fb_lFF
Fc_lFFFf_lFFFFFj_lF\w-F__l6$f*Fb_lFFFc_lFFFf_lFFFFFj_lFa\lF\^l>F``lFa`l-F_^l6$-
%$GcdGFf`lF\^l>FM7$-F_^l6$-Fibl6#,&-F__l6$f*Fb_lFFFc_lFFFdalFFFFFealFTFK-F__l6$
f*Fb_lFFFc_lFFFdalFFFFFialFc`lFitF\^l-F_^l6$-Fibl6#,&-F__l6$f*Fb_lFFFc_lFFFdalF
FFFFealFhpFK-F__l6$f*Fb_lFFFc_lFFFdalFFFFFialFcblFitF\^l>Fgr%%trueG>F`o,&F`oFKF
KFK@%F`u@%Fb^lC$>Fjq7$-F[[l6$/&F]r6$FKFjp-Ff^l6#,&&Fdy6#F_flFKF[sFKFdy&FjqFip>F
M7$-F[[l6$/F_fl-Ff^l6#,&&FTFeflFKF[sFitFTFhpC$>Fjq7$-F[[l6$/F_fl-F_^l6$-FiblFbf
lF\^lFdyFffl>FM7$-F[[l6$/F_fl-F_^l6$-FiblF]glF\^lFTFhp@%F[^l>Fjq-F_^l6$*&F[alFK
FjqFKF\^l>FjqFehl>F]rF^r@'3/FdyF\q0FhpFcqC%>Fhp&-F[z6%FhpF\oFYFU@$3F[il4-%5Jane
tOre/member_multG6%Fhp%&J_HOMGF\o>Fgil7$-Fcz6#FgilFhp7$FdyFcqFjhl7$F\qFhpC$@$FW
>Fdy-Fdp6%FdyF\oFX-F[z6%FdyF\oFhpFF6%FgilF^vFIFFFF
M7R0
IFJanetOre/jnormal_form_collect_lc_polyf*6)%"fG%"FG%%seqvG%(mulprocG%'lmprocG%'
ppprocG%(loc_varG66%"aG%#caG%#cbG%"hG%"iG%"kG%"rG%#lmG%(termo_hG%$divG%'n_entrG
%*zero_listG%.rhs_zero_listG%#lvG%#nlG%#nvG%"HG%"eG%#meG%#hiG6#%\pCopyright~(C)
~2000-2010~by~Carlos~F.~Cid~and~Daniel~Robertz.~All~rights~reserved.G6"C,>%*_jo
nnformG,&FF"""FHFH>8'9$>8.-%%nopsG6#&FJ6#FH@$09*7"C'>81<#-%$seqG6$&9&6#&FU6#8(/
F]o;FH-FO6#FU>82-FO6#FY>83-%'removeG6%%$hasGFinFY>84FV>FJ7$-%7JanetOre/cancel_l
ocvarG6%FQFinFU-Fap6%&FJ6#""#FinFU>8/7#-%"$G6$""!FM>807#-F\q6$F^q-FO6#Fep>8*7$F
ipF`q>8+-9(FP?(FCFHFHFC0&Fjq6$FgpFHF^qC)>F]oFH>8-%&falseG>8,*&F_rFH&Fjq6$FgpFgp
FH@$FT>85,&-%$maxG6#-Ffn6$-%'degreeG6$&FQ6#8)FY/Fis;FHFMFH-%$addG6$&&Fjq6$FHFH6
#&FUFhs/Fis;FHFco!""?(FCFHFHFC31F]o-FO6#9%4Fdr@%-%5JanetOre/pinv_divideG6%&F\u6
$F]o""$&F\u6$F]o""&&FjqFRC%>%)_joreducG,&F[vFHFHFH@%FTC,>86,&-F`s6#-Ffn6$-Fes6$
&&F\u6%F]oFHFHFhsFYFjsFH-F]t6$&&F\u6%F]oFduFHFbtFdtFft>87F^q>Fis-FO6#F]p?(FCFHF
HFC32F^qF`v2F^qFisC$@$331&&F]pFhs6#FduF`v/&&&F_xFfpFRFfp&FhuFfp-%8JanetOre/conv
_divisibleG6$FcxFhuC$>FawFis>F`vF^x>Fis,&FisFHFftFH@$3Fgw0&FgqFRFip[@$2F]sF`vC$
>Fis-9)6%FQFin7$Fep&&FjqFfpFR>F]p7$-%#opGFdw7%7$&FisFR&&FisFfpFR7$Fhu-%'subsopG
6$/FH&FezFfpF\zF]s@%/FawF^q>FJ-%)simplifyG6#7$,&-%$mapG6$f*6#F-FC6$%)operatorG%
&arrowGFC*(T#FH&T&6%T'""'FgpFftFKFHFCFC6(F5FgrF&F\uF1F]oFivFft-Fe[l6$f*Fh[lFCFi
[lFC*&&T$6%T%Fb\lFHFHFKFHFCFC6&F&F\uF1F]oFQFH,&-Fe[l6$f*Fh[lFCFi[lFCF\\lFCFCFc\
l&F\u6%F]oFHFgpFft-Fe[l6$f*Fh[lFCFi[lFCFg\lFCFCF\]lFepFH>FJ-F`[l6#7$,&-Fe[l6$f*
Fh[lFCFi[lFC*(F]\lFH&&&&F[]l6#Fa\lFfpFfpFfpFftFKFHFCFC6(F5FgrF=F]pF@Faw&&&F]p6#
FawFRFRFft-Fe[l6$f*Fh[lFCFi[lFC*&&&&&F]\l6#F[]lFfpFfpFRFHFKFHFCFC6&F=F]pF@FawFQ
FH,&-Fe[l6$f*Fh[lFCFi[lFCF^^lFCFCFd^l&Ff^lFfpFft-Fe[l6$f*Fh[lFCFi[lFCF\_lFCFCFb
_lFepFH>FJ-Fhy6%FQFinFep>FJF_p@$0%0JanetOre/characGF^q>FJ-%$modG6$FJFa`l@%/Fa`l
F^qC%-%$gcdG6&F_r&F\u6%F]oFb\lFH.8%.8&>Fis-%'normalG6#*(F_alFHFirFH&F\u6%F]oFb\
lFgpFft>FJ-%(collectG6%7$-Fdal6#,&-Fe[l6$f*Fh[lFCFi[lFC*&F]\lFHFKFHFCFC6$F/Faal
FQFH-Fe[l6$f*Fh[lFCFi[lFC-F_\l6$F]\lFKFCFC6&F2FisF(9'FivFft-Fdal6#,&-Fe[l6$f*Fh
[lFCFi[lFCFdblFCFCFeblFepFH-Fe[l6$f*Fh[lFCFi[lFCFiblFCFCF[clFa]lFftFin%,distrib
utedGC%-Fd`l6$-%$GcdGF[alFa`l>Fis-Fd`l6$-%'NormalGFealFa`l>FJ-F[bl6%7$-Fd`l6$-F
`dl6#,&-Fe[l6$f*Fh[lFCFi[lFCFdblFCFCFeblFQFH-Fe[l6$f*Fh[lFCFi[lFCFiblFCFCF[clFi
vFftFa`l-Fd`l6$-F`dl6#,&-Fe[l6$f*Fh[lFCFi[lFCFdblFCFCFeblFepFH-Fe[l6$f*Fh[lFCFi
[lFCFiblFCFCF[clFa]lFftFa`lFinFfcl>Fdr%%trueG>F]o,&F]oFHFHFH@%F]uC$>Fgq7$-Fhz6$
/&Fjq6$FHFgp-F[bl6%,&&Fay6#FfflFHFhrFHFinFfclFay&FgqFfp>FJ7$-Fhz6$/Fffl-F[bl6%,
&&FQF\glFHFhrFftFinFfclFQFep@%Fg`l>Fgq-F[bl6%7$-Fdal6#-Fe[l6$f*Fh[lFCFi[lFCFdbl
FCFCFeblFay-Fdal6#-Fe[l6$f*Fh[lFCFi[lFCFdblFCFCFeblF]glFinFfcl>Fgq-F[bl6%7$-Fd`
l6$-F`dl6#-Fe[l6$f*Fh[lFCFi[lFCFdblFCFCFeblFayFa`l-Fd`l6$-F`dl6#-Fe[l6$f*Fh[lFC
Fi[lFCFdblFCFCFeblF]glFa`lFinFfcl>FjqF[r@'3/FayFip0FepF`qC%>Fep&-Fhy6%FepFinFVF
R@$4-%5JanetOre/member_multG6%Fep%&J_HOMGFin>Fgjl7$-F`z6#FgjlFep7$FayF`qF[jl7$F
ipFep-Fhy6%FayFinFepFC6%FgjlFFF[vFCFC
M7R0
I?JanetOre/jnormal_form_evala_lmf*6)%"fG%"FG%%seqvG%(mulprocG%'lmprocG%'ppprocG
%(loc_varG66%"aG%"gG%"hG%"iG%"kG%#lgG%#lmG%$divG%#stG%'n_entrG%)rhs_entrG%*zero
_listG%.rhs_zero_listG%#lvG%#nlG%#nvG%"HG%"eG%#meG%#hiG6#%jnCopyright~(C)~2000-
2010~by~Daniel~Robertz.~All~rights~reserved.G6"C.>%*_jonnformG,&FF"""FHFH>8&9$>
8,""!>8--%%nopsG6#&FJ6#FH>8.-FR6#&FJ6#""#@$09*7"C'>81<#-%$seqG6$&9&6#&Fin6#8'/F
go;FH-FR6#Fin>82-FR6#F]o>83-%'removeG6%%$hasGFcoF]o>84Fjn>FJ7$-%7JanetOre/cance
l_locvarG6%FTFcoFin-F[q6%FZFcoFin>8/7#-%"$G6$FNFP>807#-Fcq6$FNFX>8+%%trueG>8*-9
(FS?(FCFHFHFC3F[r0&F^r6$FfnFHFNC&>FgoFH>F[r%&falseG@$Fhn>85,&-%$maxG6#-F`o6$-%'
degreeG6$&FT6#8(F]o/Fhs;FHFPFH-%$addG6$&&F^r6$FHFH6#&FinFgs/Fhs;FHF]p!""?(FCFHF
HFC31Fgo-FR6#9%4F[rC$@$30FTF`q-%5JanetOre/pinv_divideG6%&F[u6$Fgo""$&F[u6$Fgo""
&&F^rFUC'>%)_joreducG,&F]vFHFHFH>FM,&FMFHFHFH@%FhnC+>86,&-F_s6#-F`o6$-Fds6$&&F[
u6%FgoFHFHFgsF]oFisFH-F\t6$&&F[u6%FgoFfuFHFatFctFet>87FN>Fhs-FR6#Fgp?(FCFHFHFC3
2FNFdv2FNFhsC$@$332&&FgpFgs6#FfuFdv/&&&FcxFenFUFen&FjuFen-%8JanetOre/conv_divis
ibleG6$FgxFjuC$>FewFhs>FdvFbx>Fhs,&FhsFHFetFH@$2F\sFdvC$>Fhs-9)6%FTFco7$FZ&&F^r
FenFU>Fgp7$-%#opGFhw7%7$&FhsFU&&FhsFenFU7$Fju-%'subsopG6$/FH&FdzFenF[zF\s@%/Few
FN>FJ-%)simplifyG6#7$,&-%$mapG6$f*6#F-FC6$%)operatorG%&arrowGFC**&T#FerFH&F]\l6
$FfnFfnFH&T&6%T'""'FfnFetFKFHFCFC6(F3F^rF&F[uF0FgoF]wFet-Fd[l6$f*Fg[lFCFh[lFC*&
&T$6%T%Fd\lFHFHFKFHFCFC6&F&F[uF0FgoFTFH,&-Fd[l6$f*Fg[lFCFh[lFCF[\lFCFCFe\l&F[u6
%FgoFHFfnFet-Fd[l6$f*Fg[lFCFh[lFCFi\lFCFCF^]lFZFH>FJ-F_[l6#7$,&-Fd[l6$f*Fg[lFCF
h[lFC**F\\lFHF^\lFH&&&&F]]l6#Fc\lFenFenFenFetFKFHFCFC6(F3F^rF=FgpF@Few&&&Fgp6#F
ewFUFUFet-Fd[l6$f*Fg[lFCFh[lFC*&&&&&F]\l6#F]]lFenFenFUFHFKFHFCFC6&F=FgpF@FewFTF
H,&-Fd[l6$f*Fg[lFCFh[lFCF`^lFCFCFf^l&Fh^lFenFet-Fd[l6$f*Fg[lFCFh[lFCF^_lFCFCFd_
lFZFH>FJ-Fgy6%FTFcoFZ>FJFip@$0%0JanetOre/characGFN>FJ-%$modG6$FJFc`l@%/Fc`lFNC(
>Fhs-%'normalG6#-%&evalaG6#*(FdrFH&F^rF_\lFH&F[u6%FgoFd\lFfnFet>8%-%(collectG6%
-F]al6#-F`al6#7$-Fd[l6$f*Fg[lFCFh[lFC-Fa\l6$F]\lFKFCFC6&F1FhsF(9'F]w-Fd[l6$f*Fg
[lFCFh[lFCFcblFCFCFeblFc]lFco%,distributedG>8)-F`r6#&FgalFU>Fhs-F]al6#-F`al6#*&
&F\clFerFHFdrFet>FJ-Fial6&-F]al6#-F`al6#7$,&-Fd[l6$f*Fg[lFCFh[lFC*&F]\lFHFKFHFC
FC6$F1FhsFTFHF_clFet,&-Fd[l6$f*Fg[lFCFh[lFCFcdlFCFCFddlFZFH&FgalFenFetFcoFjblF`
al@$1FiuFMC$>FJF^`l>FMFNC(>Fhs-Ff`l6$-%'NormalGF^alFc`l>Fgal-Fial6%-Ff`l6$-Fdel
6#-F`al6#7$-Fd[l6$f*Fg[lFCFh[lFCFcblFCFCFeblF]w-Fd[l6$f*Fg[lFCFh[lFCFcblFCFCFeb
lFc]lFc`lFcoFjbl>F\clF]cl>Fhs-Ff`l6$-FdelFbclFc`l>FJ-Fial6&-Ff`l6$-Fdel6#-F`al6
#7$,&-Fd[l6$f*Fg[lFCFh[lFCFcdlFCFCFddlFTFHF_clFet,&-Fd[l6$f*Fg[lFCFh[lFCFcdlFCF
CFddlFZFHFidlFetFc`lFcoFjblF`al@$1"#7FMC$>FJF^`l>FMFN>F[rF\r>F^rF_r>Fgo,&FgoFHF
HFH@'3/FTF`q0FZFfqC%@$2FNFM>FZ&-Fgy6%FZFcoFjnFU@$4-%5JanetOre/member_multG6%FZ%
&J_HOMGFco>Ffil7$-F_z6#FfilFZ7$FTFfqFhhl7$F`qFZ@%F\ilF^`lFJFC6%FfilFFF]vFCFC
M7R0
I:JanetOre/poltoop_exteriorf*6$%%exprG'%&opvarG%%listG6%%"jG%$conG%$opsG6#%jnCo
pyright~(C)~2003-2010~by~Daniel~Robertz.~All~rights~reserved.G6"@)-%%typeG6$9$%
"^G@%-F26$-%#opG6$""#F4%'posintG-%#@@G6$-F"6$-F:6$"""F49%F9-%(unapplyG6$*&F4FE%
#_aGFEFK-F26$F4%"*GC'>8%%%NULLG>8&FR?&8$-%%sortG6$F4FF%%trueG@%-%$hasG6$FVFF>FT
6$FT-F"Fhn>FQ6$FQFV>FQ-FN6#FQ-%"@G6$-FH6$*&FQFEFKFEFKFT55-F26$F4%)rationalG3-F2
6$F4%%nameG4-%'memberGFY-F26$F4%)functionGFG-%$mapG6$f*6#%"iGF/F/F/@)F1@%F7-F?6
$-F"6$FCT$F9FGFLC'>T%FR>T'FR?&T)-FX6$F4FbqFZ@%-Fgn6$FiqFbq>Fgq6$Fgq-F"F^r>Feq6$
FeqFiq>Feq-FN6#Feq-Fbo6$-FH6$*&FeqFEFKFEFKFgq/-%%nopsG6#F4FE@%55Fio3F]p4-FbpF[r
FcpFGF4-F"F[rF/F/6*F'FFF+FQF,FTF*FVF4F/F/F/F/
M7R0
I8JanetOre/invred_lc_polyf*6*%"fG%"TG%'no_rhsG%.return_coeffsG%%seqvG%(mulprocG
%'lmprocG%(loc_varG68%"aG%"cG%#caG%#cbG%"hG%#h2G%"iG%"kG%#lmG%"nG%"qG%"rG%$divG
%'n_entrG%(termo_hG%*zero_listG%#lvG%#nlG%"HG%"eG%#meG%#hiG6#%\pCopyright~(C)~2
000-2010~by~Carlos~F.~Cid~and~Daniel~Robertz.~All~rights~reserved.G6"C0>81-%%no
psG6#&9$6#""">837#-%"$G6$""!FI>8(FM@$49&>8)&FN6#""#@$09+7"C'>84<#-%$seqG6$&9(6#
&F^o6#8*/F\p;FP-FK6#F^o>85-FK6#Fbo>86F_o>FY-%7JanetOre/cancel_locvarG6%FYFhoF^o
@$Fen>Fhn-Fip6%FhnFhoF^o>8--FK6#9%>8/FR>8%7#-FU6$FWF`q>8.FP>8,-9*6#FY?(FFFPFPFF
0&F^r6$F[oFPFWC)>F\pFP>80%&falseG>82*&FdrFP&F^r6$F[oF[oFP@$F]o>87,&-%$maxG6#-Fe
o6$-%'degreeG6$&FY6#8+Fbo/F^t;FPFIFP-%$addG6$&&F^r6$FPFP6#&F^oF]t/F^t;FPFbp!""?
(FFFPFPFF31F\pF`q4Fir@%-%5JanetOre/pinv_divideG6%&Fcq6$F\p""$&Fcq6$F\p""&&F^rFO
C$@%F]oC,>88,&-Fes6#-Feo6$-Fjs6$&&Fcq6%F\pFPFPF]tFboF_tFP-Fbt6$&&Fcq6%F\pFfuFPF
gtFitF[u>89FW>F^tFP?(FFFPFPFF32FWF_v1F^t-FK6#FfpC$@$332&&FfpF]t6#FfuF_v/&&&F^xF
jnFOFjn&FjuFjn-%8JanetOre/conv_divisibleG6$FbxFjuC$>F`wF^t>F_vF]x>F^t,&F^tFPFPF
P@$3Fdw0FeqFR[@$2FbsF_v>Ffp7$-%#opGFgw7%7$FYFhnF^rFbs@%/F`wFWC$>FY-%'expandG6#,
&*&&Fcq6%F\p""'FPFPFYFPFP*(F\sFP&Fcq6%F\pFdzF[oF[uFhvFPF[u@$Fen>Fhn-F^z6#,&*&Fb
zFPFhnFPFP*(F\sFPFfzF[u&Fcq6%F\pFPF[oFPF[uC$>FY-F^z6#,&*&&&&&Ffp6#F`wFjnFjnFOFP
FYFPFP*(F\sFP&Fh[lFjnF[u&&Fj[lFOFOFPF[u@$Fen>Fhn-F^z6#,&*&Fg[lFPFhnFPFP*(F\sFPF
]\lF[u&F_\lFjnFPF[u>FYFhp@$Fen>FhnF]q@$0%0JanetOre/characGFWC$>FY-%$modG6$FYF]]
l@$Fen>Fhn-Fa]l6$FhnF]]l@%/F]]lFWC&-%$gcdG6&FdrFbz.8&.8'>F^t-%'normalG6#*(F^^lF
PF^sFPFfzF[u>FY-Fc^l6#,&-%$mapG6$f*6#F.FF6$%)operatorG%&arrowGFF*&T#FPFNFPFFFF6
$F1F`^lFYFP-F[_l6$f*F^_lFFF__lFF-T&6$Fc_lFNFFFF6&F5F^tF*9)FhvF[u@$Fen>Fhn-Fc^l6
#,&-F[_l6$f*F^_lFFF__lFFFb_lFFFFFd_lFhnFP-F[_l6$f*F^_lFFF__lFFFh_lFFFFF[`lF_[lF
[uC&-Fa]l6$-%$GcdGF\^lF]]l>F^t-Fa]l6$-%'NormalGFd^lF]]l>FY-Fa]l6$-Faal6#,&-F[_l
6$f*F^_lFFF__lFFFb_lFFFFFd_lFYFP-F[_l6$f*F^_lFFF__lFFFh_lFFFFF[`lFhvF[uF]]l@$Fe
n>Fhn-Fa]l6$-Faal6#,&-F[_l6$f*F^_lFFF__lFFFb_lFFFFFd_lFhnFP-F[_l6$f*F^_lFFF__lF
FFh_lFFFFF[`lF_[lF[uF]]l>Fir%%trueG>F\p,&F\pFPFPFP@%F_u@%Fh]lC$>Feq-%'subsopG6$
/&F^r6$FPF[o-Fc^l6#,&&Feq6#FgclFPF\sFPFeq>FY-Fdcl6$/Fgcl-Fc^l6#,&&FYF]dlFPF\sF[
uFYC$>Feq-Fdcl6$/Fgcl-Fa]l6$-FaalFjclF]]lFeq>FY-Fdcl6$/Fgcl-Fa]l6$-FaalFcdlF]]l
FYC%@%Fh]l>Feq*&F`^lFPFeqFP>Feq-Fa]l6$FhelF]]l>F\r*&F`^lFPF\rFP@$9'@%Fh]l>Fgq-F
dcl6$/F\p,&&FgqF[pFP*(F\sFPF\rF[uFfzF[uFPFgq>Fgq-Fa]l6$FbflF]]l>F^rF_r@$3F_y0F\
rFP@%Fh]l>Feq-Fc^l6#*&FeqFPF\rF[u>Feq-Fa]l6$-FaalFbglF]]l@$3FenF^gl@%Fh]l>Fhn-F
c^l6#*&FhnFPF\rF[u>Fhn-Fa]l6$-FaalF]hlF]]l7$7$FeqFhnFgqFFFFFFFF
M7R0
I6JanetOre/jcriteria123f*6#'%"qG%%listG6(%"iG%"jG%"lG%"dG%#hgG%#hpG6#%jnCopyrig
ht~(C)~2005-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C%@$/&9$6#""#&F66#""
$-%'RETURNG6#%&falseG?(8$"""FB%*jnumber_tG%%trueG@$-%5JanetOre/pinv_divideG6%&%
)J_T_ListG6$FAF;&FJ6$FA""&F9C)@$/-%%nopsG6#&FJ6%FBFBFBFBC$>8&7$,&&F66$F8FBFB&FJ
6%FAF8FBFB&F66$F8F8@$-%8JanetOre/conv_divisibleG6$FYF9C$>%)_jocrit1G,&FboFBFBFB
-F=6#FD>FY-%.JanetOre/pLCMG6$F5&FJ6$FAF8@$0FY&F96#;FBF8C$>%)_jocrit2G,&FcpFBFBF
BFdo>8'-%(convertG6$&FY6#FB%"+G>8%FB?(F1FBFBF131F^qFC2-Fhp6$&FJ6%F^qF;FBF\qFfpC
$@$/&FJ6%F^qF;F8&F66$F;F8C%>8)-Fho6$&FJ6$F^qF;F5>8(-Fho6$FcrFjo@$333-F^o6$F`rFY
0-Fhp6$&F`rF[qF\qFfp-F^o6$FfrFY0-Fhp6$&FfrF[qF\qFfpC$>%)_jocrit3G,&F[tFBFBFBFdo
>F^q,&F^qFBFBFBF<F?F16%FboFcpF[tF1F1
M7R0
I5JanetOre/jtransfer_Tf*6$%&m_ordG%&N_OrdG6'%"iG%"jG%"kG%'n_entrG%"JG6#%jnCopyr
ight~(C)~2000-2010~by~Daniel~Robertz.~All~rights~reserved.G6"@$2"""%*jnumber_tG
C(@%0%2JanetOre/divisionG""!>%)J_T_ListG-%%sortG6$F:%8JanetOre/pplexdivision3G@
$309$F20FB""$>F:-F<6$F:%0JanetOre/pplex3G>8'-%%nopsG6#&F:6%F2F2F2>8(7#-%$seqG6$
7"/8%;F2FJ?(8$F2F2-FL6#F:%%trueGC$>8&&F:6%FenFD""#>FQ-%'subsopG6$/F[o7$-%#opG6#
&FQ6#F[oFenFQ@%F6-%$mapG6$f*6#F)F/6$%)operatorG%&arrowGF/-%3JanetOre/jupdate_TG
6#&T#6#FBF/F/6$F,FQ7#-%"$G6#FY@%32F^o9#-%%typeG6$&9"6#FD%%listG-F\p6$f*F_pF/F`p
F/-%<JanetOre/jupdate_T_exteriorG6$FfpFeqF/F/FipFjp-F\p6$f*F_pF/F`pF/-%7JanetOr
e/jupdate_T_stdGFepF/F/FipFjp>F:-F<6$F:9%F/FgnF/F/
M7R0
I3JanetOre/jupdate_Tf*6#%"LG6)%"iG%"jG%"lG%"nG%"vG%$conG%(allmultG6#%jnCopyrigh
t~(C)~2000-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C$>8'-%%nopsG6#9$@$2"
"!F3C&>8*7#-%"$G6$%)infinityG%'_jnvarG>%)J_T_ListG-%'subsopG6$/&F76#F37)&&FE6#F
J6#"""&FN6#""#&FN6#""$7#-F@6$F:FCF=&FN6#""'7"FE>8(FQ?(8$,&F3FQ!""FQF^oFQ%%trueG
C'>8%Fjn?(F0FQFQF031FboFC/&&FE6%&F76#,&F\oFQFQFQFWFQ6#&%2JanetOre/divisionG6#Fb
o&&FE6%&F76#F\oFWFQF]p>Fbo,&FboFQFQFQ>8)-FG6$-%$seqG6$/8&F:/F`q;FgpFC&&FE6#Fdp6
#""%@$3/FboFjn/FapF:>Fjn,&FjnFQFQFQ>FE-FG6$/Fdp-FG6$/FgqFipFdqFEF06#FEF0F0
M7R0
I3JanetOre/cppJBasisf*64'%"FG%%listG%$varG%+sigmadeltaG%'n_entrG%'no_rhsG%"cG%$
POTG%'vardegG%'tupdegG%-inv_tup_permG%%fextG%+time_boundG%#trG%*quietmodeG%%vof
fG%*donotreadG%+tracedenomG%,whichoutputG6)%%fileG%&fnameG%"iG%"jG%"rG%%nvarG%'
std_wsG6#%jnCopyright~(C)~2000-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C
I@%9(@$2"&++"9'-%&ERRORG6#%@length~of~tuples~exceeds~10000.G@$2FI,&FJ"""-%%nops
G6#&&9$6#FR6#""#FRFK@'2""!-%+searchtextG6$Q&linuxFC-%+kerneloptsG6#%(versionGC$
@%/-F^o6#%)wordsizeG"#k@$2"+[O[Z@9)-FL6#%?characteristic~must~be~<~2^31.G@$2"&o
F$F[p-FL6#%?characteristic~must~be~<~2^15.G@%/-%*substringG6$-%(convertG6$-%*in
terfaceG6#.F`o%'stringG;FR"#GQ=Standard~Worksheet~InterfaceFCC$>8%-%AJanetOre/s
tdinterface_gettmpnameGFC>8*%%trueGC'>8(-%(ssystemG6#%hnif~test~-d~/tmp/$USER~;
~then~echo~true~;~else~echo~false~;~fiG@$4-%&parseG6#&F_rFZC$>F_r-Far6#%1mkdir~
/tmp/$USERG@$0FirQ!FC-FL6#%Ecannot~write~temporary~file~to~/tmp.G>Fgq-Far6#%Eec
ho~/tmp/$USER/JanetOre-$PPID-$USERG@%2Fhn-Fjn6$Q"$FC&FgqFZ>FgqQ./tmp/JanetOreFC
>Fgq-%;JanetOre/remove_whitespaceG6#F^t>F[r%&falseG2Fhn-Fjn6$Q&APPLEFCF]oC%@$F`
pFbp>FgqFhq>F[rF\rC%@$F`pFbp>FgqQ/\TEMP\JanetOreFC>F[rFft>Fgq-%$catG6$Fgq9.>8$-
%&fopenG6$Fgq%&WRITEG>8)-FT6#9%-%(fprintfG6$FjuQ@Computation~of~involutive~basi
sFC@$52FRFJ4FF-Fev6$FjuQ,~for~moduleFC-Fev6$FjuQ-;|+variables~FC?(8&FRFR,&F`vFR
!""FRF\rC$-Fev6$Fju-F[q6$&Fcv6#FcwFaq-Fev6$FjuQ$~>~FC-Fev6$Fju-F[q6$&Fcv6#F`vFa
q-Fev6$FjuQ#;|+FC@$09+7#-%"$G6$FRF`vC&-Fev6$FjuQ2variable~degrees~FC?(FcwFRFRFd
wF\rC$-Fev6$Fju-F[q6$&F[yF\xFaq-Fev6$FjuQ#,~FC-Fev6$Fju-F[q6$&F[yFexFaqFfx@$09,
7#-F^y6$FhnFJC&-Fev6$FjuQ/tuple~degrees~FC?(FcwFRFR,&FJFRFewFRF\rC$-Fev6$Fju-F[
q6$&FezF\xFaqF[z-Fev6$Fju-F[q6$&Fez6#FJFaqFfx-Fev6$FjuQ'order~FC-Fev6$FjuQ,deg_
rev_lexFC@$F[wC$-Fev6$FjuQ';|+rhs~FC-Fev6$Fju-F[q6$,&FJFRFRFRFaq-Fev6$FjuQ1;|+d
ivision~JanetFC@'0F[pFhnC%-Fev6$FjuQ*;|+over~Z[FC-Fev6$Fju-F[q6$F[pFaq-Fev6$Fju
Q"]FC%2JanetOre/ratcoeffG-Fev6$FjuQ);|+over~QFCC$-Fev6$FjuQ2;|+over~Z;|+absrem~
FC@%%0JanetOre/absremG-Fev6$FjuQ%trueFC-Fev6$FjuQ&falseFC-Fev6$FjuQ';|+POT~FC@%
9*Fe^lFh^l?(FcwFRFRF`vF\r?(8'FRFRF`vF\rC$@$0&&9&FY6#,&*&,&FcwFRFewFRFRF`vFRFRFb
_lFR&Fcv6#Fb_lC(-Fev6$FjuQ5;|+commutation~sigma~FCFgwF[z-Fev6$Fju-F[q6$F]`lFaq-
Fev6$FjuQ$~=~FC-Fev6$Fju-F[q6$Ff_lFaq@$0&&Fh_lFZFi_lFhnC(-Fev6$FjuQ5;|+commutat
ion~delta~FCFgwF[zFc`lFg`l-Fev6$Fju-F[q6$F`alFaq@$F[w-Fev6$FjuQ5;|+compatibilit
y~trueFC@(/-%'removeG6%%$hasG%1JanetOre/invcritG7$""$""%7"-Fev6$FjuQ0;|+criteri
a~noneFC/F`bl7#FR-Fev6$FjuQ-;|+criteria~1FC/F`bl7#Fen-Fev6$FjuQ-;|+criteria~2FC
@$095Fhbl-Fev6$Fju-Ffu6$Q*;|+output~FCFhcl@&90C$-Fev6$FjuQ2;|+trace~relationsFC
@$94-Fev6$FjuQ/,~denominatorsFCFedl-Fev6$FjuQ5;|+trace~denominatorsFC@$2Fhn9/C$
-Fev6$FjuQ+;|+seconds~FC-Fev6$Fju-F[q6$F^elFaq-Fev6$FjuQ+;|+expandedFC@$59192-F
ev6$FjuQ.;|+verbose~offFC-Fev6$FjuQ+;|+|+begin|+|+FC?(FcwFRFR-FT6#FXF\rC$@%FF@%
/FJFR-Fev6$Fju-F[q6$-%#opG6#&FX6$FcwFRFaq-Fev6$Fju-F[q6$FbglFaq-Fev6$Fju-F[q6$-
%$mapG6$F`gl&FXF\xFaq-Fev6$FjuQ$;|+|+FC-Fev6$FjuQ(end;|+|+|+FC-%'fcloseG6#Fju@%
F\fl@%F[rC%>F_r-Far6#-Ffu6%Q*runJBOre~FCFgqQ/~_IBORE_RESULTFC@$/F_r%%NULLG-FL6#
%Bcould~not~run~program~'runJBOre'.G>F_r&F_rFYC$>F_r-Far6#-Ffu6%Q'JBOre~FCFgqQ;
~_IBORE_RESULT~>~/dev/nullFC@%3/FjilFhn/FirFas>F_rFhn>F_rFRC$>F_r-%'systemG6#-F
fu6%FajlFgqFbil@$Fdil-FL6#%?could~not~run~program~'JBOre'.G@$0F_rFhn-FL6#%cppro
gram~JBOre~not~found~or~interrupted~(e.g.~by~the~user~or~because~of~memory~shor
tage).G@$FgnC%>F_r-Far6#-Ffu6'Q&if~[~FCFgqQ,.janet~-ot~FCFgqQ:~];~then~echo~-n~
true;~fiFC@$2Fhn-%'lengthGFhr-FL6#%fpoutput~file~of~JBOre~is~older~than~input~f
ile~(probably,~program~JBOre~stopped~abnormally).G@$493C$>F_r-Far6#-Ffu6%Q*file
size~FCFgqQ'.janetFC@$FejlC$>Fcw-%'sscanfG6$FirQ#%dFC@$32Fhn-FTF\x2"'++I&FcwFY-
%(WARNINGG6#Q\oresulting~involutive~basis~is~big;~reading~it~may~take~a~while..
.FC@$F\]m-%'RETURNG6#FhblA-Ffu6$FgqFd]m@$3-%)assignedG6#%9_IBORE_RESULTout_of_t
imeGFc_m-Fd^m6#%[ocomputation~of~involutive~basis~stopped~due~to~time~restricti
on.G@+5/FhclFhbl/-Fhp6$Fhcl;FR"#dQZinvbasis,invbasislm,invbasisanc,multvar,fact
ormodulebasisFCC'@$54333-Fa_m6#%._IBORE_RESULTG-Fa_m6#%0_IBORE_RESULTlmG-Fa_m6#
%1_IBORE_RESULTancG-Fa_m6#%5_IBORE_RESULTmultvarG3F[^l43-Fa_m6#%4_IBORE_RESULTf
actorG-Fa_m6#%;_IBORE_RESULTfactormultvarG-FL6#%Cerror~in~computation~or~interf
ace.G@$F[^lC%@%09-7#-F^y6#;FRFJ>%._JBOre_factorG-F]hl6$f*6#F<FC6$%)operatorG%&a
rrowGFC7#-%$seqG6$&FX6#&T$6#T%/Fjcm;FRT(FCFC6(F0FcbmF=Fb_lF*FJFham>FibmFham>%6_
JBOre_factor_multvarGF[bm>%+_JBOre_varGFcv@$-Fa_m6#%3_IBORE_RESULTcompaG>%-_JBO
re_compaG-F]hl6$f*F]cmFCF^cmFC&FX6#;,&FhcmFRFRFRFewFCFC6$F*FJFgdm@$FedlC%A-Ffu6
$FgqQ'.denomFC@$4-Fa_m6#%3_IBORE_RESULTdenomGF\bm>%-_JBOre_denomGF\fm-Fi^m6#7&7
#-Fccm6$&Fi`m6#,&-FTFh`mFRFcwFew/Fcw;Fhn,&FhfmFRFewFR7#-Fccm6$&F_am6#,&-FTF^amF
RFcwFew/Fcw;Fhn,&FbgmFRFewFR7#-Fccm6$&F\am6#,&-FTF[amFRFcwFew/Fcw;Fhn,&F\hmFRFe
wFR7#-Fccm6$&Fbam6#,&-FTFaamFRFcwFew/Fcw;Fhn,&FfhmFRFewFR/-Fhp6$Fhcl;FR"#RQHinv
basis,invbasislm,invbasisanc,multvarFCC%@$Fc`mF\bm@$FedlC%AFeem@$FiemF\bm>F^fmF
\fmF_fm/FhclQ)invbasisFCC%@$4Fg`mF\bm@$FedlC%AFeem@$FiemF\bm>F^fmF\fm-Fi^m6#7&F
bfmFhblFhblFhbl/FhclQ2factormodulebasisFCC'@$FdamF\bm@%Fbbm>Fibm-F]hl6$f*F]cmFC
F^cmFCFacmFCFCF^dmFham>FibmFham>FadmF[bm>FcdmFcv@$FedlC%AFeem@$FiemF\bm>F^fmF\f
m-FL6#%4error~in~interface.GFC6'FibmFadmFcdmFidmF^fmFCFC
M7R0
I0JanetOre/JBasisf*6#%"LG6#%"JG6#%jnCopyright~(C)~2000-2010~by~Daniel~Robertz.~
All~rights~reserved.G6"C&@$0%5JanetOre/initializedG.%%trueG-%.JanetOre/initGF*>
8$-%4JanetOre/JInvoBasisG6#9"@$/F6%4JanetOre/JBasisFastG-%6JanetOre/AssertJBasi
sG6$F4&F86#;""#9#-%'RETURNG6#F4F*F*F*F*
M7R0
I7JanetOre/setupJ_T_Listf*6+%"LG%'n_entrG%)rhs_entrG%'lmprocG%&B_OrdG%)tup_perm
G%$varG%'no_rhsG%._var_exteriorG62%"iG%"jG%"kG%"lG%"nG%#lmG%#suG%$conG%"FG%"GG%
"JG%%seqvG%(seq_varG%-inv_tup_permG%(allmultG%-var_exteriorG6#%jnCopyright~(C)~
2003-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C8>%'_jnvarG-%%nopsG6#9*>8/
7#-%$seqG6$-%$catG6$%#_xG8%/FS;"""FD>827#-%"$G6$%)infinityGFD@%32"")9#-%%typeG6
$&9"6#""*%%listG>839,>Ffo7">8,9$@$0FJFH>F[p-%$mapG6$f*6#%"aGFA6$%)operatorG%&ar
rowGFA-%%subsG6$7#-FM6$/&T&6#T#-FP6$FRFcq/FcqFUF\pFAFA6&F/8$F+FHF[p@$09)7#-Fen6
#;FV9%>F[p-Fap6$f*6#F/6#F0FAFA-%'subsopG6$/FV7#-FM6$&&F\p6#FV6#&T$6#Fhq/Fhq;FVF
aqF\pFAFA6&F*F[rF&F`rF[p>%*jnumber_tG-FF6#F[p>%)J_T_ListGFio>8.7#-FM6$Fio/FSF_r
?(FhqFVFVFis%%trueGC&>8)-9'6#&F[p6$FhqFV@$4%2JanetOre/ratcoeffG>Fht-Fhr6$/FV7$-
%#opG6#&FhtF`s&&Fht6#""#F`sFht>8&&Fht6$FVF]v@%/FfoFio>F_t-Fhr6$/F_v7$-Fgu6#&F_t
6#F_v7)&F[pFdsFiuFiu7#-Fen6$""!FDFXF[vFioF_t>F_t-Fhr6$/F_v7$Fiv7)F^wFiuFiuF_w-%
:JanetOre/allmult_exteriorG6$FiuFfoF[vFioF_t?(F_vFVFVF`rFetC%>F[pF[w>8(Fjs@$2Fb
wF`xC&>F[p-%%sortG6$F[p%0JanetOre/pplex3G@%Fcv>F[p-Fhr6$/F`x7)&F[p6$F`xFV&F[p6$
F`xF]v&F[p6$F`x""$F_wFX&F[p6$F`x""'FioF[p>F[p-Fhr6$/F`x7)F_yFayFcyF_w-Fjw6$FcyF
foFfyFioF[p?(Fhq,&F`xFV!""FVFbzFVFetC(@%Fcv>8*FX>Ffz-Fjw6$&F[p6$FhqFeyFfo>8+&F[
p6$Fhq""%>FSFV?(FAFVFVFA31FSFD/,&&F[p6&,&FhqFVFVFVFeyFVFSFV&F[p6&FhqFeyFVFSFbzF
bwC%>Ffz-Fhr6$/FS&F[p6%Fi[l""&FSFfz@%2&Ffz6#FSFgn>F][l-Fhr6$/FS,&Ff\lFVFVFVF][l
>F][l-Fhr6$/FSFbwF][l>FS,&FSFVFVFV@$Fd[lC$@%%3JanetOre/janetlikeGC%>8'Ff[l>Ffz-
Fhr6$/FS,&Fi]lFVFbzFVFfz>F][l-Fhr6$/FSFi]lF][lC$>Ffz-Fhr6$F`]lFfz>F][l-Fhr6$/FS
FVF][l>F][l-Fhr6$-FM6$/Fi]lFbw/Fi]l;Fb]lFDF][l>F[p-Fhr6$/Fhq-Fhr6$/F`[lF][l-Fhr
6$/Fc\lFfzF^wF[p>F]t7$-Fgu6#F]t-FguF[t>F]t-Ffx6$F]t9(>8--Fap6$f*FerFAFfpFA&F\p6
$FVFVFAFAFAF]t>807#-FM6$/-FP6$FRFhq&FHFds/FhqFU@$F^p>Fg`l-Fap6$f*FdpFAFfpFA-Fjp
6$FcqF\pFAFA6$F;F^alFg`l@$FjqC$>81-Fap6$f*FerFfrFAFAC$-%'memberG6%F\pFcs.FhqFhq
FAFA6$F*F[rF\r>Fg`l-Fap6$f*FerFfrFAFA7#-FM6$&F\p6#&FcqFdsFesFAFA6&F<FbblF&F`rFg
`l@$/F`rFV>Fg`l-Fap6$f*FdpFAFfpFA-Fgu6#F\pFAFAFAFg`l@$49+@%F^p@%/9&FV>Fg`l7#-FM
6$/&Fg`lFds-Fgu6#-Fjp6$F^al&F]t6%FhqFVF]v/Fhq;FVFis>Fg`l7#-FM6$/F[elF^elFbel@%F
ddl>Fg`l7#-FM6$/F[el-Fgu6#F`elFbel>Fg`l7#-FM6$/F[elF`elFbel@%Fhcl>%)JTab_VarG7#
-FM6$7%F[el-%3JanetOre/jmult_varG6$&F]t6$FhqFc\lFH-Fjp6$F^al*&&F]t6%FhqFhyFVFV&
F]t6%FhqFhyF]vFVFbel>Fhfl7#-FM6$7%F[elF]gl7$Fbgl&F[r6#&F]t6%FhqFeyF]vFbel>%&J_H
OMGFioFg`lFA6'F]tFisFhflFdhlFDFAFA
M7R0
I6JanetOre/AssertJBasisf*6$'%"LG%%listG'%%varsGF'6F%"aG%"gG%"hG%"iG%"kG%"lG%"nG
%"qG%"rG%#lmG%"FG%"GG%"JG%$varG%(var_ordG%'vt_degG%(deg_ordG%)tup_permG%#suG%&m
_ordG%'lmprocG%%seqvG%&N_OrdG%&B_OrdG%'n_entrG%)rhs_entrG%.force_collectG%,forc
e_evalaG%+trans_elemG%/default_lmprocG%)entr_posG%'no_rhsG%"pG%&ib_gbG%(mulproc
G%-var_exteriorG6#%jnCopyright~(C)~2000-2010~by~Daniel~Robertz.~All~rights~rese
rved.G6"CX@$0%5JanetOre/initializedG.%%trueG-%.JanetOre/initGFQ>8.-%3JanetOre/p
rocinputG6#9$>8<&Fen6#""">8=&Fen6#""#>8C&Fen6#""$>8?&Fen6#""&>8@&Fen6#""(>81-%2
JanetOre/procvarsG6$9%F[o>82&FdpFbo>83&FdpFgo>84&Fdp6#""%>85&FdpF\p>8B&Fdp6#""'
>Fdp&FdpF]o>%'_jnvarG-%%nopsG6#Fdp>897#-%$seqG6$-%$catG6$%#_xG8'/F]s;F^oF_r>Fjp
-%%subsG6$7#-Fgr6$/&Fdp6#F]sFirF^sFjp>Fen-%(collectG6%&FenFbqFdp%,distributedG>
8F-%(unapplyG6%*&%#_aGF^o%#_bGF^oFftFgt>8,Fho@%31Fho9#-%%typeG6$&9"FgoF'@'/Fau7
"C$>8GFeu>FitFcq45-F_u6$Fau-F'6#%(integerG-F_u6$Fau-F'6#F'C(>Fat-%1JanetOre/pro
copsG6%FdpFauFdr>Fhu&FatF\p@$0&Fat6#"")Feu>FjoFW>F_p7$-%#opG6#F_p-Few6#&Fat6#""
*>Fat&FatFgo>FitFcq>FhuFeu>FhuFeu>%/_jvar_exteriorGFhu>8>-%&evalbG6#0-%&minusG6
$<#Fdw<#-FewFbr<">8A4Fjo@%/FjpFeu>87Fcq>Ffy7#-%"$G6$Fcq-Far6#Fjp?(F]sFitF^oF]uF
W@'/&FbuFisQ"SFQ>Fay%&falseG5-F_u6$FazF`v-F_u6$FazF'>FfyFaz-%&ERRORG6#%0invalid
~option.G>8)-%1JanetOre/procordG6*FfyFdpFjpF]qF`qFdrFhqFay>8:&F`[lFbo>8;&F`[lFg
o@$&F`[lFbq>FhqFeu@$/&F]q6#;,&F_rF^oF^oF^o,&F_rF^oF[oF^o7#-Fjy6$""!F[o>F]qFg\l>
88-%&parseG6#-Fjr6/Q<g->`JanetOre/j_lead_mon`(g,FQ-%(convertG6$F[o%'stringGQ",F
Q-Fb]l6$FdrFd]lFe]l-Fb]l6$&F`[lF]oFd]lFe]l-Fb]l6$FhqFd]lFe]l-Fb]l6$&F`[lF\pFd]l
Fe]l-Fb]l6$F]qFd]lQ")FQ>%*_jonnformGFg\l>%)_joreducGFg\l>%)_jocrit1GFg\l>%)_joc
rit2GFg\l>%)_jocrit3GFg\l>%)_jocrit4GFg\l>%*_jinv_denG.F`_l>%._JBOre_factorG.Fc
_l>%6_JBOre_factor_multvarG.Ff_l>%+_JBOre_varG.Fi_l@%/FhuFeu>8/-%7JanetOre/setu
pJ_T_ListG6*FenF[oF`oFj\lFh[lFeqFdpFeo>F^`l-F``l6+FenF[oF`oFj\lFh[lFeqFdpFeoFhu
>8D-%8JanetOre/JHilbertSeriesGFQ@$-F_u6$Ff`l%(polynomGC&>Ff`l7#-%'coeffsG6#Ff`l
>F]sF^o?(FQF^oF^oFQ31F]s-FarFbal1Fg\l&Ff`lFis>F]s,&F]sF^oF^oF^o@$Ffal-F\[l6#%aq
the~given~list~L~is~not~an~involutive~basis~w.r.t.~the~given~variables.~You~hav
e~to~call~JBasis~again.G>8EF^o>F]sF^o?(FQF^oF^oFQ3/FablF^o1F]s-Far6#%)J_T_ListG
C%>8(F^o?(FQF^oF^oFQ3Febl1F\clF_rC$@$2&Fibl6%F]sF]pF\cl%)infinityGC&>FitF[bl>8-
7%Fg\lFg\l-%'subsopG6$/F^o-F\dl6$/F\cl,(&Fibl6&F]sFhoF^oF\clF^oFcclF^oF^oF^o&Fi
bl6%F]sFhoF^o&Fibl6$F]sFho?(FQF^oF^oFQ31FitFgbl-Fe[l6$&Fibl6#FitFicl>Fit,&FitF^
oF^oF^o@$/&FiclFgo&Fibl6$,&FitF^o!""F^oFho>FablFg\l>F\cl,&F\clF^oF^oF^o>F]sF[bl
>%'_jpvarGFhp>%*_jpno_rhsGFeo>%1_jpforce_collectGFdx>%/_jpforce_evalaGFjo>%*_JO
StatssG7*Fd^lFf^lFh^lFj^lF\_lF^_lFablFg\lF^`lFQ67F_rF^flF`flFbflFdfl%)JTab_VarG
%&J_HOMGFd^lFf^lFh^lFj^lF\_lF^_l%*jnumber_tGFiblFfflF`_lFc_lFf_lFi_lFbxFQFQ
M7R0
I5JanetOre/JResolutionf*6#%"LG6R%#_aG%"eG%"iG%"jG%"kG%"lG%#lmG%"nG%"pG%"tG%#L2G
%"MG%#MsG%#MVG%$MV2G%"BG%#BBG%"FG%#RRG%"SG%"TG%#IBG%(mulprocG%%varsG%'n_entrG%(
var_ordG%$varG%)new_varsG%'vt_degG%(deg_ordG%+deg_or_matG%'lmprocG%$lmpG%&param
G%%seqvG%&m_ordG%*m_ord_POTG%#trG%&opvarG%*cmp_basisG%.force_collectG%,force_ev
alaG%)simp_optG%)tup_permG%+trans_elemG%)entr_posG%(comm_lcG%'N_FormG6#%jnCopyr
ight~(C)~2000-2010~by~Daniel~Robertz.~All~rights~reserved.G6"CI@$0%5JanetOre/in
itializedG.%%trueG-%.JanetOre/initGFY>85-%3JanetOre/procinputG6#9$@$4&F]o6#""$-
%&ERRORG6#%Fexpecting~L~without~right~hand~sides.G>8<&F]o6#""">8M&F]o6#""&>8P&F
]o6#""(>8;&9"6#""#>8>-%2JanetOre/procvarsG6$F[qF\p>8=&FaqF^q>8@&FaqFeo>8A&Faq6#
""%>8O&FaqFcp>8Q&Faq6#""'>Faq&FaqF^p>%'_jnvarG-%%nopsG6#Faq>8F7#-%$seqG6$-%$cat
G6$%#_xG8'/Fis;F_pF[s>8L-%&evalbG6#0-%&minusG6$<#-%#opG6#Ffp<#-FgtF^s<">8:-%(un
applyG6%*&8$F_p%#_bGF_pFbuFcu>8RFin>8J%%NULLG>8(Ffo@$3331Ffo9#-%%typeG6$&F]qFeo
%%listG4-Fbv6$Fdv-Fev6#%(integerG4-Fbv6$Fdv-Fev6#Fev@%/Fdv7">FjuF_rC'>FguFdv>F]
u-%1JanetOre/procopsG6%FaqFguFaq>Feu&F]uF^r>F]u&F]uFeo>FjuF_r>8BF_p>8,""!>8IFdx
>89Fhu>8GF_q>8K%&falseG?(FisFjuF_pF`vFinC$>87&F]q6#Fis@)-Fbv6$Fay%'stringG?(8&F
_pF_p-%'lengthG6#FayFin@2/&Fay6#FiyQ"CFY>F\yFin/F_zQ"DFY>FaxFdx/F_zQ"GFYC$>FcxF
_q>8E-Ffs6$-%*substringG6$Fay;F_p,&FiyF_p!""F_p-F_[l6$Fay;,&FiyF_pF_pF_pFjy/F_z
Q"MFY>FaxF_p/F_zQ"OFY>FcxF_p/F_zQ"SFY>FapFin/F_zQ"TFY>FjxF_r0F_zQ!FY-Fho6#%frop
tions~must~be~given~by~a~string~consisting~of~letters~in~|fr"C",~"D",~"G",~"M",
~"O",~"S"|hr,~not~containing~both~"D"~and~"M".G-Fbv6$Fay%'posintG>FfxFay3-Fbv6$
Fay%)equationG/-Fgt6$F_pFayQ%TRELFY>Fhx-Fgt6$F_qFay-Fho6#%0invalid~option.G@$3/
FjxF_r0FcxF_q>FcxFfo@%0FfqFcwC$>Fjx7#-%"$G6$Fjx-F]s6#Ffq>8H7#-Ff^l6$F_qFh^l>F[_
lF_q@%Fap>8NF_\l>Fb_lFe\l@)/FcxFdxC)>8)-%1JanetOre/procordG6*F[_lFaqFfqFiqF\rFa
qFdr4Fap>8C&Fh_lF^p@%Feu@'Fap@%%2JanetOre/ratcoeffG>8S%9JanetOre/invred_evala_l
cG@%%0JanetOre/absremG>Fe`l%;JanetOre/simp_invred_Z_absG>Fe`l%>JanetOre/simp_in
vred_Z_nonnegGF]t@%Fc`l>Fe`l%;JanetOre/invred_collect_lcG@%Fh`l>Fe`lFj`l>Fe`lF\
al@%Fc`l>Fe`l%3JanetOre/invred_lcG@%Fh`l>Fe`l%6JanetOre/invred_Z_absG>Fe`l%9Jan
etOre/invred_Z_nonnegG-Fho6#%5not~implemented~yet.G>83-%0JanetOre/JBasisG6'FaoF
[qFguF_qFb_l>88-%%subsG6$7#-Fcs6$/&F`s6#Fju&FaqF]cl/FjuF[t%)J_T_ListG@%/FaxF_p@
%/%4JanetOre/matrixtypeG%'MatrixG>807#-Ffcl6%-F]s6#F_blF\p-%$mapG6$f*6#F'FYFYFY
@%-Fbv6$FaoFevFao7#FaoFYFYFYF_bl>Fhcl7#-%'matrixG6%F\dlF\pF_blC%>8/Fcw?(FiyF_pF
_pF\dlFinC&>FisF_p?(FYF_pF_pFY31FisF\p/&Fdbl6&FiyF_pF_pFisFdx>Fis,&FisF_pF_pF_p
>8*-Ffbl6$7#-Fcs6$/F^cl)8-&FiqF]clF_cl&-F^`l6#FfelF^q>F^el7$-Fgt6#F^el,&-%'degr
eeG6$F[flFcflF_p&Fiq6#,&F[sF_pFisF_pF_p>Fhcl7#F^el?(FYF_pF_pFY32FdxF\dl5/FfxFdx
2,&-F]s6#FhclF_pFc[lF_pFfxC)@%/&Fiq6#;,&F\sF_pF_pF_p,&F\sF_pF\pF_p7#-Ff^l6$FdxF
\p>8D-%&parseG6#-Ffs6-Q>_a->`JanetOre/j_lead_mon`(_a,FY-%(convertG6$F\pFgyQ",FY
-Fbil6$FaqFgyFdil-Fbil6$F_`lFgyFdil-Fbil6$7#F\pFgyFdil-Fbil6$&Fh_lFcpFgyQ%,~0)F
Y>Fjhl-F\il6#-Ffs6/F`ilFailFdilFeilFdilFgilFdilFiilFdilF\jlFdil-Fbil6$FiqFgyQ")
FY>81-F_dl6$f*FbdlFY6$%)operatorG%&arrowGFY&FaoFcpFYFYFYFdbl>82Fcw>F[flFcw>8.Fc
w?(FiyF_pF_pF\dlFin@$0&FijlF`z7#-Ff^l6$%)infinityGF[s?(FisF_pF_pF[sFin@$0&Fijl6
$FiyFisF]\mC'@%Fc`l@'Fap>86-Fe`l6*7$-F_dl6$f*6#F+FYF][mFY-%(collectG6%-T+6$)&T#
6#T%,&&T'6$T)Fi]mF_pF_pF_pFaoFg]m%,distributedGFYFY6,FAFaqF*FisF4FijlF)FiyF=F]u
&&&FdblF`zF^pF^p7#FdxFdblFinFinFaqF]uFjhl&Fh_lFfrF]t>Fg\m-Fe`l6*7$-F_dl6$f*F^]m
FYF][mFYF_]mFYFYF`^mFa^mFd^mFdblFinFinFaqF]uFjhlFe^m>Fg\m-Fe`l6*7$-%'expandG6#-
F]u6$)&FaqFcy,&Fa\mF_pF_pF_pFa^mFd^mFdblFinFinFaqF]uFjhlFe^m@'Fap>Fg\m-Fe`l6*7$
-F_dl6$f*F^]mFYF][mFYF_]mFYFYF`^mFa^mFd^mFdblFinFinFaqF]uFjhlFe^mF]t>Fg\m-Fe`l6
*7$-F_dl6$f*F^]mFYF][mFYF_]mFYFYF`^mFa^mFd^mFdblFinFinFaqF]uFjhlFe^m>Fg\mF^_m@$
0&&Fg\mF^pF^pFfhl-Fho6#%-wrong~basis!G@%Fap@%0%0JanetOre/characGFdx>Fe[m7$-Fgt6
#Fe[m-%$modG6$-%)simplifyG6#,&-%'subsopG6$/FiyFf_m7#-Ff^l6$FdxF\dlF_p&Fg\mF^qFc
[lFcam>Fe[m7$FfamF[bm@%Fbam>Fe[m7$Ffam-Fiam6$F^bmFcam>Fe[m7$FfamF^bm>Fb[m7$-Fgt
6#Fb[m7$-Fgt6#&Fi[m6#;F_p,&FisF_pFc[lF_p-Ff^l6$F]\m,(F[sF_pFisFc[lF_pF_p@%Fc`l>
F[fl7$-Fgt6#F[fl7$7$-F`bm6$/FisFh_m7#-Ff^l6$FdxF[sFiy7$F_pFf_m>F[fl7$Fadm7$7%Fe
dmFiyF_pF[em@%2Fdx-F]sFgamC'>F\pF\dl>Fdbl-%%sortG6$7#-Fcs6$7)7$&Fe[mF`zFd^m&F[f
l6$FiyF_pF_fmFhdm&Fb[mF`z&F[fl6$FiyF_qFcw/Fiy;F_pFbem%5JanetOre/pdegrevlex3G>F_
bl-F_dl6$f*FbdlFYF][mFY&&FaoF^pF^pFYFYFYFdbl@%/FaxFdxC%>F^elFcw?(FiyF_pF_pF\dlF
inC&>FisF_p?(FYF_pF_pFYFcel>FisFiel>F[flF\fl>F^el7$Fjfl,&F]glF_p&Fhcl6$F_pFisF_
p>Fhcl7$F^el-FgtF]hlC$@%Fdcl>F^el-Ffcl6%F\dlF\p-F_dl6$f*FbdlFYFYFY@%FddlFaoFfdl
FYFYFYF_bl>F^elFidl>Fhcl7$-%%copyGF[glF^hm>Fiq7$&-Fgt6#Fiq6#F[tFghl>F_blFcw/Fcx
F_pC+>Fh_l-Fj_l6*FjxFaqFfqFiqF\rFaqFdrF\`l>F^`lF_`l>F_bl-%8JanetOre/JGroebnerBa
sisG6'-F_dl6$f*6#F)FYF][mFYF\gmFYFYFY&F]oF^rF[qFguFjxFb_l>Fh_lF\dl@%Fbcl@%Fdcl>
Fhcl7#-Ffcl6%Fh_lF\p-F_dl6$f*FbdlFYFYFY@%FddlFaoFfdlFYFYFYF_bl>Fhcl7#-Fjdl6%Fh_
lF\pF_blC%>F^elFcw?(FiyF_pF_pFh_lFinC(>8%&F_blF`z@$/F\pF_p>Fg[n7#Fg[n>FisF_p?(F
YF_pF_pFY3Fdel/&Fg[nFcyFdx>FisFiel>F[fl-Ffbl6$F^fl&-F^`l6#Fa\nF^q>F^elFifl>Fhcl
Fdgl>Fe[m7#-Fcs6$/Fh[n-F`bm6$/FiyF_p7#-Ff^l6$FdxFh_l/Fiy;F_pFh_l-F\jm6'Fe[mF[qF
guFjxFb_l>Fay-%3JanetOre/JSyzygiesGFi]n?(FYF_pF_pFY32Fdx-F]sF\zFhglC)>F\pFbem>F
_bl-F\jm6'FayF[qFguFjxFb_l>Fh_lF\dl@%F^gmC%>F^elFcw?(FiyF_pF_pFh_lFinC(>Fg[nFh[
n@$Fj[n>Fg[nF\\n>FisF_p?(FYF_pF_pFYF_\n>FisFiel>F[flFd\n>F^elFhgm>FhclF]hmC$@%F
dcl>F^el-Ffcl6%Fh_lF\p-F_dl6$f*FbdlFYFYFY@%FddlFaoFfdlFYFYFYF_bl>F^elF`[n>FhclF
jhm>Fe[mF\]nFh]n>FayF[^n/FcxF_qC+>Fh_lFgim>F^`lF_`l@%Fap>F]o-F_dl6$f*FajmFYF][m
FYF\gmFYFYFY-F`]m6%-%&evalaG6#FbjmFaqF_^m>F]o-F_dl6$f*FajmFYF][mFYF\gmFYFYFY-F`
]m6%FbjmFaqF_^m@%FbclC$@%Fdcl>Fhcl7#-Ffcl6%-F]s6#F]oF\p-F_dl6$f*FbdlFYFYFY@%Fdd
lFaoFfdlFYFYFYF]o>Fhcl7#-Fjdl6%F]bnF\pF]o>8?F[qC&>F^elFcw?(FiyF_pF_pF]bnFinC'>F
g[n&F]oF`z>FisF_p?(FYF_pF_pFY31Fis-F]s6#Fg[nF`\n>FisFiel>F[flFd\n>F^elFifl>Fhcl
Fdgl>Fhbn7$-Fcs6$/&FaqF`z&FiqF`z/FiyF[t-Fcs6$/Fiy&F^elF`z/Fiy;F_pF]bn>Fe[m-%1Ja
netOre/JAddRhsGF^bn@$0FhxFhu>Fe[m7$Ffam-Fgt6#-F_dl6$f*FbdlFYF][mFY/Fao7#-Ff^l6$
Fdx-F]s6#Fg]mFYFY6$F8F]oFhx-FablFi]n>F_blF[^n@$0F_blFcw@%/FfxF_pC%>84-Fabl6'F_b
lF[qFguFjxFb_l@$54F\y2-F]s6#FbfnF\dl>F_blFbfn@%Fbcl@%Fdcl>Fhcl7$-Ffcl6%F\dlF]bn
-F_dl6$f*FbdlFYFYFY@%FddlFaoFfdlFYFYFYF_blF^hm>Fhcl7$-Fjdl6%F\dlF]bnF_blF^hmC%>
F^elFcw?(FiyF_pF_pF\dlFinC'>Fg[nFh[n>FisF_p?(FYF_pF_pFYFacn>FisFiel>F[flFd\n>F^
elFhgm>FhclF]hmC$@$2FdxFfx>F[[l6$F[[l,&FfxF_pFc[lF_p>Fhcl7$-Fgt6#-F"6&F_blFhbnF
guF[[lF^hmC/>Fh_lFgim>F^`lF_`l@%Fap>Fe[m-F_dl6$f*FajmFYF][mFYF\gmFYFYFYF[an>Fe[
m-F_dl6$f*FajmFYF][mFYF\gmFYFYFYFdan>F_bl7#-Fcs6$/F^fm-F`bm6$Fb]n7#-Ff^l6$FdxFb
emFdfm>F_blFcfn>FcxF]y@$5Fgfn2F\dlFbemC$>FcxFin>Fe[m-F_dl6$f*FajmFYF][mFY-%$lhs
GF`oFYFYFYF_bl@%Fbcl@%Fdcl>Fhcl7#-Ffcl6%FbemF\p-F_dl6$f*FbdlFYFYFY@%FddlFaoFfdl
FYFYFYFe[m>Fhcl7#-Fjdl6%FbemF\pFe[mC%>F^elFcw?(FiyF_pF_pFbemFinC(>Fg[nF^fm@$Fj[
n>Fg[nF\\n>FisF_p?(FYF_pF_pFYF_\n>FisFiel>F[flFd\n>F^elFifl>FhclFdgl>Fh_lFbem>F
e[m7#-Fcs6$/F^fmF`]nFf]n@$FcxFjen>FayF[^n?(FYF_pF_pFYF^^nC->F\p-F]s6#&FayF^p>Fe
[mFay>F_blF^jn>F_blFcfn>FcxF]y@$FjjnC$>FcxFin>Fe[m-F_dl6$f*FajmFYF][mFYFb[oFYFY
FYF_bl@%F^gmC%>F^elFcw?(FiyF_pF_pFbemFinC(>Fg[nF^fm@$Fj[n>Fg[nF\\n>FisF_p?(FYF_
pF_pFYF_\n>FisFiel>F[flFd\n>F^elFhgm>FhclF]hmC$@%Fdcl>F^el-Ffcl6%FbemFh_l-F_dl6
$f*FbdlFYFYFY@%FddlFaoFfdlFYFYFYFe[m>F^el-Fjdl6%FbemFh_lFe[m>FhclFjhm>Fh_lFbem>
Fe[mFa]o@$FcxFjen>FayF[^n>F`cl.F`cl>%)JTab_VarG.Fj`o>%*_JOStatssG.F]ao>%._JBOre
_factorG.F`ao>%6_JBOre_factor_multvarG.Fcao-%'RETURNGF]hlFY6)F[sF`clFj`o%*jnumb
er_tGF]aoF`aoFcaoFYFY
M7R0
I1JanetOre/JKernelf*6&%#_MG%#_AG%#_NG'%$varG%%listG6+%"iG%"MG%"AG%"NG%$kerG%$re
sG%"BG%$opsG%"SG6#%[oCopyright~(C)~2003-2010~by~Mohamed~Barakat.~All~rights~res
erved.G6"C->8%-%$mapG6$f*6#%"aGF76$%)operatorG%&arrowGF7&9$6#"""F7F7F7&-%3Janet
Ore/procinputG6#FE6#""%>8&-F<6$f*F?F7FAF7FDF7F7F7&-FJ6#9%FL>8'-F<6$f*F?F7FAF7FD
F7F7F7&-FJ6#9&FL>8+%%NULLG>8,Q$CGTF7?(8$""&FG9#%%trueG@'-%%typeG6$&9"6#FaoF*>F[
oFio-Fgo6$Fio%'stringG>F^oFio-%&ERRORG6#%0invalid~option.G>8)-%5JanetOre/JResol
utionG6(FO9'F[o/Q%TRELF7FXF^oFG@%2FG-%%nopsG6#Ffp>8*&Ffp6#!"#>Fcq7#7#-%"$G6$""!
-&%'linalgG6#%'rowdimG6#&Ffp6#!"">8(-%4JanetOre/JSubFactorG6&FcqF:FjpF[o@$32FMF
co-Fgo6$&FjoFer%'symbolG@%/%4JanetOre/matrixtypeG%'MatrixG-%'assignG6$&Fjo6#Fbo
-%(convertG6$-%4JanetOre/jets_mkmatG6#-F<6$f*F?F7FAF7-%$rhsGFKF7F7F7&FhrFFFfs-F
hs6$Fjs-F`t6#-F<6$f*F?F7FAF7FetF7F7F7FgtFhrF7F7F7F7
M7R0
I.JanetOre/JHomf*6%%#_MG%#_NG'%%varsG%%listG6,%"MG%"NG%#l0G%#l1G%$_l0G%"AG%"BG%
&alphaG%%betaG%$varG6#%[oCopyright~(C)~2003-2010~by~Mohamed~Barakat.~All~rights
~reserved.G6"C.@$2""$9#-%&ERRORG6#%SJHom~is~implemented~for~the~commutative~cas
e~only.G>8$-%4JanetOre/jets_mkmatG6#-%$mapG6$f*6#%"aGF76$%)operatorG%&arrowGF7&
9$6#"""F7F7F7&-%3JanetOre/procinputG6#FP6#""%>8%-FD6#-FG6$f*FJF7FLF7FOF7F7F7&-F
U6#9%FW>8&-&%'linalgG6#%'coldimG6#FB>8'-&Fbo6#%'rowdimGFeo>8(-Fao6#FZ>8)-%6Jane
tOre/jets_diagmatG6#-%"$G6$FZF_o>8*-Fcp6#-Ffp6$FZFgo>8-&-%2JanetOre/procvarsG6$
9&*&F_oFRF]pFRFQ>8+-&Fbo6#%*transposeG6#-%;JanetOre/jets_kroneckermatG6$FB-&Fbo
6#%%diagG6#-Ffp6$FRF]p-%1JanetOre/JKernelG6&FapFgqFipFdq7&-FG6$f*FJF7FLF7/-%$lh
sGFV-%'matrixG6%T#T%-%$rhsGFVF7F76&F-F_oF/F]p&%"%GFQ&Fjs6#""#&Fjs6#F;-%:JanetOr
e/JCartanCharacterG6#7#-Ffp6#;FR-%%nopsG6#F_qF7F7F7F7
M7R0
I?homalg/JanetOre/NormalizeInputf*6#%"MG6"6#%jnCopyright~(C)~2004-2010~by~Danie
l~Robertz.~All~rights~reserved.GF&-%$mapG6$f*6#%"aGF&6$%)operatorG%&arrowGF&&9$
6#"""F&F&F&&-%3JanetOre/procinputG6#F36#""%F&F&F&F&
M7R0
I>homalg/JanetOreZeroSets/Basisf*6$%#_MG'%$varG%%listG6-%"MG%"iG%"jG%"oG%"vG%$v
erG%$ordG%%elimG%$POTG%'n_entrG%$retG6#%joCopyright~(C)~2004-2010~by~Arne~Loren
z~and~Daniel~Robertz.~All~rights~reserved.G6"C,>8+%&falseG>8,F;?(8'""$"""9#%%tr
ueG@%-%%typeG6$&9"6#F?%)equationG@'/-%$lhsG6#FHQ3POSITION_OVER_TERMF7@%-FF6$-%$
rhsGFP%(booleanG>F=FU-%&ERRORG6#%Yexpecting~boolean~value~for~"POSITION_OVER_TE
RM"~option.G/FNQ,ELIMINATIONF7@%FS>F:FU-FZ6#%Rexpecting~boolean~value~for~"ELIM
INATION"~option.G-FZ6#%0unknown~option.G-FZ6#%0invalid~option.G@%F=>8*FA>FfoF@@
$4F:>Ffo,&FfoFAFAFA>8(-%5homalg/NormalizeRingG6$9%%)JanetOreG@%0&F]p6#""#7"C%>8
$-%6homalg/NormalizeInputG6$9$Fbp>8-&-%3JanetOre/procinputG6#F_q6#FA@%/FaqFA>F[
q7$-%#opG6#F[q-F\r6#Fep>F[q7$F[r-%$seqG6$-Fcr6$-%'subsopG6$/8%&F]p6%Fgp8&FA7#-%
"$G6$""!Faq/F[s;FAFaq/F^s;FA-%%nopsGF_r>F[qF_q@%52-Fis6#F]pF@/&F]p6#F@Fhp>8.-%0
JanetOre/JBasisG6%F[q&F]pFfqFfo>Fdt-Fft6&F[qFhtFatFfo@%-%)assignedG6#%+_JZeroSe
tsG>F`u7$-F\rF_u-F\r6#-%3JanetOre/JZeroSetsGF7>F`u-%2JanetOre/ZeroSetsGF7OFdtF7
F_uF7F7
M7R0
I8JanetOre/pdegrevlex_POTf*6$%"aG%"bG6%%"iG%$tdaG%$tdbG6#%jnCopyright~(C)~2004-
2010~by~Daniel~Robertz.~All~rights~reserved.G6"C&@&2&9$6#""#&9%F3-%'RETURNG6#%&
falseG2F5F1-F86#%%trueG>8%-%(convertG6$&F26#"""%"+G>8&-FB6$&F6FEFG@'2F@FIF>2FIF
@F:C$?(8$-%%nopsG6#FD!""FFF>@&2&FL6#FR&FDFZF<2FenFYF7F>F-F-F-F-
M7R0
I5JanetOre/block_ord_Zf*6&%"aG%"bG%$sepG%+termordersG6#%"iG6#%jnCopyright~(C)~2
004-2010~by~Daniel~Robertz.~All~rights~reserved.G6"@'4-&9'6#"""6$7$&&9$F36#;F4&
9&F3&F96#""#7$&&9%F3F:&FDF?%&falseG/F7FBC%?(8$F@F4-%%nopsG6#F=%%trueG@&4-&F26#F
J6$7$&F86#;,&&F=6#,&FJF4!""F4F4F4F4&F=FSF>7$&FCFWFE-%'RETURNG6#FF0FVFjn-F\o6#FN
@&2-%$absG6#&FD6#""$-Fdo6#&F9FgoF[o2FioFcoF_o@%2F>FEFFFNFNF-F-F-F-
M7R0
I>JanetOre/block_ord_entr_blockf*6&%"aG%"bG%$sepG%+termordersG6#%"iG6#%jnCopyri
ght~(C)~2006-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C$@&2&%-_jentrblock
sG6#&9$6#""#&F26#&9%F6-%'RETURNG6#%&falseG2F8F1-F=6#%%trueG@'4-&9'6#"""6$7$&&F5
FI6#;FJ&9&FIF47$&&F;FIFOF:F?/FMFTC$?(8$F7FJ-%%nopsG6#FRFC@&4-&FH6#FY6$7$&FN6#;,
&&FR6#,&FYFJ!""FJFJFJFJ&FRF[oF47$&FUF_oF:F<0F^oFhoFA@%2F4F:F?FCFCF-F-F-F-
M7R0
IIJanetOre/jnormal_form_collect_lc_poly_lmf*6)%"fG%"FG%%seqvG%(mulprocG%'lmproc
G%'ppprocG%(loc_varG66%"aG%#caG%#cbG%"hG%"iG%"kG%#lmG%$divG%#stG%'n_entrG%)rhs_
entrG%*zero_listG%.rhs_zero_listG%#lvG%#nlG%#nvG%"HG%"eG%#meG%#hiG6#%jnCopyrigh
t~(C)~2000-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C.>%*_jonnformG,&FF""
"FHFH>8'9$>8,""!>8--%%nopsG6#&FJ6#FH>8.-FR6#&FJ6#""#@$09*7"C'>81<#-%$seqG6$&9&6
#&Fin6#8(/Fgo;FH-FR6#Fin>82-FR6#F]o>83-%'removeG6%%$hasGFcoF]o>84Fjn>FJ7$-%7Jan
etOre/cancel_locvarG6%FTFcoFin-F[q6%FZFcoFin>8/7#-%"$G6$FNFP>807#-Fcq6$FNFX>8+%
%trueG>8*-9(FS?(FCFHFHFC3F[r0&F^r6$FfnFHFNC&>FgoFH>F[r%&falseG@$Fhn>85,&-%$maxG
6#-F`o6$-%'degreeG6$&FT6#8)F]o/Fhs;FHFPFH-%$addG6$&&F^r6$FHFH6#&FinFgs/Fhs;FHF]
p!""?(FCFHFHFC31Fgo-FR6#9%4F[rC$@$30FTF`q-%5JanetOre/pinv_divideG6%&F[u6$Fgo""$
&F[u6$Fgo""&&F^rFUC'>%)_joreducG,&F]vFHFHFH>FM,&FMFHFHFH@%FhnC+>86,&-F_s6#-F`o6
$-Fds6$&&F[u6%FgoFHFHFgsF]oFisFH-F\t6$&&F[u6%FgoFfuFHFatFctFet>87FN>Fhs-FR6#Fgp
?(FCFHFHFC32FNFdv2FNFhsC$@$332&&FgpFgs6#FfuFdv/&&&FcxFenFUFen&FjuFen-%8JanetOre
/conv_divisibleG6$FgxFjuC$>FewFhs>FdvFbx>Fhs,&FhsFHFetFH@$2F\sFdvC$>Fhs-9)6%FTF
co7$FZ&&F^rFenFU>Fgp7$-%#opGFhw7%7$&FhsFU&&FhsFenFU7$Fju-%'subsopG6$/FH&FdzFenF
[zF\s@%/FewFN>FJ-%)simplifyG6#7$,&-%$mapG6$f*6#F-FC6$%)operatorG%&arrowGFC**&T#
FerFH&F]\l6$FfnFfnFH&T&6%T'""'FfnFetFKFHFCFC6(F3F^rF&F[uF1FgoF]wFet-Fd[l6$f*Fg[
lFCFh[lFC*&&T$6%T%Fd\lFHFHFKFHFCFC6&F&F[uF1FgoFTFH,&-Fd[l6$f*Fg[lFCFh[lFCF[\lFC
FCFe\l&F[u6%FgoFHFfnFet-Fd[l6$f*Fg[lFCFh[lFCFi\lFCFCF^]lFZFH>FJ-F_[l6#7$,&-Fd[l
6$f*Fg[lFCFh[lFC**F\\lFHF^\lFH&&&&F]]l6#Fc\lFenFenFenFetFKFHFCFC6(F3F^rF=FgpF@F
ew&&&Fgp6#FewFUFUFet-Fd[l6$f*Fg[lFCFh[lFC*&&&&&F]\l6#F]]lFenFenFUFHFKFHFCFC6&F=
FgpF@FewFTFH,&-Fd[l6$f*Fg[lFCFh[lFCF`^lFCFCFf^l&Fh^lFenFet-Fd[l6$f*Fg[lFCFh[lFC
F^_lFCFCFd_lFZFH>FJ-Fgy6%FTFcoFZ>FJFip@$0%0JanetOre/characGFN>FJ-%$modG6$FJFc`l
@%/Fc`lFNC&-%$gcdG6&Fdr&F[u6%FgoFd\lFH.8%.8&>Fhs-%'normalG6#*(FaalFH&F^rF_\lFH&
F[u6%FgoFd\lFfnFet>FJ-%(collectG6%7$-Ffal6#,&-Fd[l6$f*Fg[lFCFh[lFC*&F]\lFHFKFHF
CFC6$F/FcalFTFH-Fd[l6$f*Fg[lFCFh[lFC-Fa\l6$F]\lFKFCFC6&F2FhsF(9'F]wFet-Ffal6#,&
-Fd[l6$f*Fg[lFCFh[lFCFgblFCFCFhblFZFH-Fd[l6$f*Fg[lFCFh[lFCF\clFCFCF^clFc]lFetFc
o%,distributedG@$1FiuFMC$>FJF^`l>FMFNC&-Ff`l6$-%$GcdGF]alFc`l>Fhs-Ff`l6$-%'Norm
alGFgalFc`l>FJ-F^bl6%7$-Ff`l6$-Fhdl6#,&-Fd[l6$f*Fg[lFCFh[lFCFgblFCFCFhblFTFH-Fd
[l6$f*Fg[lFCFh[lFCF\clFCFCF^clF]wFetFc`l-Ff`l6$-Fhdl6#,&-Fd[l6$f*Fg[lFCFh[lFCFg
blFCFCFhblFZFH-Fd[l6$f*Fg[lFCFh[lFCF\clFCFCF^clFc]lFetFc`lFcoFicl@$1"#7FMC$>FJF
^`l>FMFN>F[rF\r>F^rF_r>Fgo,&FgoFHFHFH@'3/FTF`q0FZFfqC%@$2FNFM>FZ&-Fgy6%FZFcoFjn
FU@$4-%5JanetOre/member_multG6%FZ%&J_HOMGFco>F]hl7$-F_z6#F]hlFZ7$FTFfqF_gl7$F`q
FZ@%FcglF^`lFJFC6%F]hlFFF]vFCFC
M7R0
IAJanetOre/jnormal_form_evala_polyf*6)%"fG%"FG%%seqvG%(mulprocG%'lmprocG%'pppro
cG%(loc_varG68%"aG%#caG%#cbG%"gG%"hG%"iG%"kG%"rG%#lgG%#lmG%(termo_hG%$divG%'n_e
ntrG%*zero_listG%.rhs_zero_listG%#lvG%#nlG%#nvG%"HG%"eG%#meG%#hiG6#%\pCopyright
~(C)~2000-2010~by~Carlos~F.~Cid~and~Daniel~Robertz.~All~rights~reserved.G6"C,>%
*_jonnformG,&FH"""FJFJ>8(9$>80-%%nopsG6#&FL6#FJ@$09*7"C'>83<#-%$seqG6$&9&6#&FW6
#8)/F_o;FJ-FQ6#FW>84-FQ6#Fen>85-%'removeG6%%$hasGF[oFen>86FX>FL7$-%7JanetOre/ca
ncel_locvarG6%FSF[oFW-Fcp6%&FL6#""#F[oFW>817#-%"$G6$""!FO>827#-F^q6$F`q-FQ6#Fgp
>8+7$F[qFbq>8--9(FR?(FEFJFJFE0&F\r6$FipFJF`qC)>F_oFJ>8/%&falseG>8.*&FarFJ&F\r6$
FipFipFJ@$FV>87,&-%$maxG6#-Fhn6$-%'degreeG6$&FS6#8*Fen/F[t;FJFOFJ-%$addG6$&&F\r
6$FJFJ6#&FWFjs/F[t;FJFeo!""?(FEFJFJFE31F_o-FQ6#9%4Ffr@%-%5JanetOre/pinv_divideG
6%&F^u6$F_o""$&F^u6$F_o""&&F\rFTC%>%)_joreducG,&F]vFJFJFJ@%FVC,>88,&-Fbs6#-Fhn6
$-Fgs6$&&F^u6%F_oFJFJFjsFenF\tFJ-F_t6$&&F^u6%F_oFfuFJFdtFftFht>89F`q>F[t-FQ6#F_
p?(FEFJFJFE32F`qFbv2F`qF[tC$@$331&&F_pFjs6#FfuFbv/&&&FaxFhpFTFhp&FjuFhp-%8Janet
Ore/conv_divisibleG6$FexFjuC$>FcwF[t>FbvF`x>F[t,&F[tFJFhtFJ@$3Fiw0&FiqFTF[q[@$2
F_sFbvC$>F[t-9)6%FSF[o7$Fgp&&F\rFhpFT>F_p7$-%#opGFfw7%7$&F[tFT&&F[tFhpFT7$Fju-%
'subsopG6$/FJ&FgzFhpF^zF_s@%/FcwF`q>FL-%)simplifyG6#7$,&-%$mapG6$f*6#F-FE6$%)op
eratorG%&arrowGFE*(T#FJ&T&6%T'""'FipFhtFMFJFEFE6(F7FirF&F^uF2F_oF[wFht-Fg[l6$f*
Fj[lFEF[\lFE*&&T$6%T%Fd\lFJFJFMFJFEFE6&F&F^uF2F_oFSFJ,&-Fg[l6$f*Fj[lFEF[\lFEF^\
lFEFEFe\l&F^u6%F_oFJFipFht-Fg[l6$f*Fj[lFEF[\lFEFi\lFEFEF^]lFgpFJ>FL-Fb[l6#7$,&-
Fg[l6$f*Fj[lFEF[\lFE*(F_\lFJ&&&&F]]l6#Fc\lFhpFhpFhpFhtFMFJFEFE6(F7FirF?F_pFBFcw
&&&F_p6#FcwFTFTFht-Fg[l6$f*Fj[lFEF[\lFE*&&&&&F_\l6#F]]lFhpFhpFTFJFMFJFEFE6&F?F_
pFBFcwFSFJ,&-Fg[l6$f*Fj[lFEF[\lFEF`^lFEFEFf^l&Fh^lFhpFht-Fg[l6$f*Fj[lFEF[\lFEF^
_lFEFEFd_lFgpFJ>FL-Fjy6%FSF[oFgp>FLFap@$0%0JanetOre/characGF`q>FL-%$modG6$FLFc`
l@%/Fc`lF`qC'>F[t-%'normalG6#-%&evalaG6#*&F[sFJ&F^u6%F_oFd\lFipFht>8'-%(collect
G6%-F]al6#-F`al6#7$-Fg[l6$f*Fj[lFEF[\lFE-Fa\l6$F_\lFMFEFE6&F3F[tF(9'F[w-Fg[l6$f
*Fj[lFEF[\lFEFbblFEFEFdblFc]lF[o%,distributedG>8,-F^r6#&FfalFT-%$gcdG6&Far&F[cl
Fbr.8%.8&>FL-Fhal6&,&*&FfclFJFLFJFJ*&FdclFJFfalFJFhtF[oFiblF`alC'>F[t-Ff`l6$-%'
NormalGF^alFc`l>Ffal-Fhal6%7$-Fg[l6$f*Fj[lFEF[\lFE-Ff`l6$-Fbdl6#-F`al6#FbblFc`l
FEFEFdblF[w-Fg[l6$f*Fj[lFEF[\lFEFjdlFEFEFdblFc]lF[oFibl>F[clF\cl-Ff`l6$-%$GcdGF
aclFc`l>FL-Fhal6&-Ff`l6$FjclFc`lF[oFiblF`al>Ffr%%trueG>F_o,&F_oFJFJFJ@%F_uC$>Fi
q7$-Fjz6$/&F\r6$FJFip-Fhal6%,&&Fcy6#FhflFJFjrFJF[oFiblFcy&FiqFhp>FL7$-Fjz6$/Fhf
l-Fhal6%,&&FSF^glFJFjrFhtF[oFiblFSFgp@%Fi`l>Fiq-Fhal6%7$-F]al6#-F`al6#-Fg[l6$f*
Fj[lFEF[\lFE*&F_\lFJFMFJFEFE6$F/FfclFcy-F]al6#-F`al6#-Fg[l6$f*Fj[lFEF[\lFEFehlF
EFEFfhlF_glF[oFibl>Fiq-Fhal6%7$-Ff`l6$-Fbdl6#-F`al6#-Fg[l6$f*Fj[lFEF[\lFEFehlFE
FEFfhlFcyFc`l-Ff`l6$-Fbdl6#-F`al6#-Fg[l6$f*Fj[lFEF[\lFEFehlFEFEFfhlF_glFc`lF[oF
ibl>F\rF]r@'3/FcyF[q0FgpFbqC%>Fgp&-Fjy6%FgpF[oFXFT@$4-%5JanetOre/member_multG6%
Fgp%&J_HOMGF[o>Fc[m7$-Fbz6#Fc[mFgp7$FcyFbqFgjl7$F[qFgp-Fjy6%FcyF[oFgpFE6%Fc[mFH
F]vFEFE
M7R0
I=JanetOre/simp_jnormal_form_Zf*6)%"fG%"FG%%seqvG%(mulprocG%'lmprocG%'ppprocG%(
loc_varG6,%"aG%"hG%"iG%"lG%"rG%#lmG%$divG%'n_entrG%*zero_listG%.rhs_zero_listG6
#%jnCopyright~(C)~2004-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C+>%*_jon
nformG,&F<"""F>F>>8%9$>8+-%%nopsG6#&F@6#F>>8,7#-%"$G6$""!FC>8-7#-FM6$FO-FE6#&F@
6#""#>8(7$FJFQ>8)-9(FF?(F9F>F>F90&Fhn6$FYF>FOC'>8&F>>8*%&falseG?(F9F>F>F931Fao-
FE6#9%4FcoC$@$-%5JanetOre/pinv_divideG6%&Fjo6$Fao""$&Fjo6$Fao""&&FhnFHC%>%)_jor
educG,&FjpF>F>F>>8'-%%iquoG6$F]o&Fjo6%Fao""'F>@$0F]qFOC$>F@-%(collectG6%7$-%'no
rmalG6#,&FGF>-%$mapG6$f*6#F-F96$%)operatorG%&arrowGF9**T#F>&T%6$FYFYF>&T(6%T)Fc
qFY!""FAF>F9F96*F0F]qF2FhnF&FjoF/Fao&Fjo6%FaoF>F>Fas-F]r6#,&FWF>-Far6$f*FdrF9Fe
rF9FhrF9F9Fbs&Fjo6%FaoF>FYFas9&%,distributedG>Fco%%trueG>Fao,&FaoF>F>F>@$F[pC$>
Fen7$-%'subsopG6$/&Fhn6$F>FY-Fiq6%,&&&FenFH6#F[uF>*&F]oF>&FhnF\sF>F>F]tF^tFau&F
enFX>F@7$-Fht6$/F[u-Fiq6%,&&FGFbuF>FcuFasF]tF^tFGFW>FhnFin@'3/FauFJ0FWFQC$@$4-%
5JanetOre/member_multG6%FW%&J_HOMGF]t>Fjv7$-%#opG6#FjvFW7$FauFQFbv7$FJFW7$FauFW
F96%FjvF<FjpF9F9
M7R0
I6JanetOre/invred_evalaf*6*%"fG%"TG%'no_rhsG%.return_coeffsG%%seqvG%(mulprocG%'
lmprocG%(loc_varG68%"aG%"cG%"gG%"hG%#h2G%"iG%"kG%#lgG%#lmG%"nG%"qG%"rG%$divG%'n
_entrG%(termo_hG%*zero_listG%#lvG%#nlG%"HG%"eG%#meG%#hiG6#%\pCopyright~(C)~2000
-2010~by~Carlos~F.~Cid~and~Daniel~Robertz.~All~rights~reserved.G6"C0>81-%%nopsG
6#&9$6#""">837#-%"$G6$""!FI>8'FM@$49&>8(&FN6#""#@$09+7"C'>84<#-%$seqG6$&9(6#&F^
o6#8)/F\p;FP-FK6#F^o>85-FK6#Fbo>86F_o>FY-%7JanetOre/cancel_locvarG6%FYFhoF^o@$F
en>Fhn-Fip6%FhnFhoF^o>8--FK6#9%>8/FR>8%7#-FU6$FWF`q>8.FP>8,-9*6#FY?(FFFPFPFF0&F
^r6$F[oFPFWC)>F\pFP>80%&falseG>82*&FdrFP&F^r6$F[oF[oFP@$F]o>87,&-%$maxG6#-Feo6$
-%'degreeG6$&FY6#8*Fbo/F^t;FPFIFP-%$addG6$&&F^r6$FPFP6#&F^oF]t/F^t;FPFbp!""?(FF
FPFPFF31F\pF`q4Fir@%-%5JanetOre/pinv_divideG6%&Fcq6$F\p""$&Fcq6$F\p""&&F^rFOC$@
%F]oC,>88,&-Fes6#-Feo6$-Fjs6$&&Fcq6%F\pFPFPF]tFboF_tFP-Fbt6$&&Fcq6%F\pFfuFPFgtF
itF[u>89FW>F^tFP?(FFFPFPFF32FWF_v1F^t-FK6#FfpC$@$332&&FfpF]t6#FfuF_v/&&&F^xFjnF
OFjn&FjuFjn-%8JanetOre/conv_divisibleG6$FbxFjuC$>F`wF^t>F_vF]x>F^t,&F^tFPFPFP@$
3Fdw0FeqFR[@$2FbsF_v>Ffp7$-%#opGFgw7%7$FYFhnF^rFbs@%/F`wFWC$>FY-%)simplifyG6#,&
-%$mapG6$f*6#F.FF6$%)operatorG%&arrowGFF*&&T$6%T%""'FPFPFNFPFFFF6&F&FcqF3F\pFYF
P-Fbz6$f*FezFFFfzFF*(T#FP&T&6%T'F^[lF[oF[uFNFPFFFF6(F<F\sF&FcqF3F\pFhvF[u@$Fen>
Fhn-F^z6#,&-Fbz6$f*FezFFFfzFFFizFFFFF_[lFhnFP-Fbz6$f*FezFFFfzFFFc[lFFFFFi[l&Fcq
6%F\pFPF[oF[uC$>FY-F^z6#,&-Fbz6$f*FezFFFfzFF*&&&&&Fd[l6#F][lFjnFjnFOFPFNFPFFFF6
&F@FfpFCF`wFYFP-Fbz6$f*FezFFFfzFF*(Fd[lFP&&&&F][l6#Fh[lFjnFjnFjnF[uFNFPFFFF6(F<
F\sF@FfpFCF`w&&&Ffp6#F`wFOFOF[u@$Fen>Fhn-F^z6#,&-Fbz6$f*FezFFFfzFFF_]lFFFFFe]lF
hnFP-Fbz6$f*FezFFFfzFFFi]lFFFFF_^l&Fa^lFjnF[u>FYFhp@$Fen>FhnF]q@$0%0JanetOre/ch
aracGFWC$>FY-%$modG6$FYFe_l@$Fen>Fhn-Fi_l6$FhnFe_l@%/Fe_lFWC'>F^t-%'normalG6#-%
&evalaG6#*(FdrFPF^sFP&Fcq6%F\pF^[lF[oF[u>8&-%(collectG6%-Fd`l6#-Fg`l6#-Fbz6$f*F
ezFFFfzFF-Ff[l6$Fd[lFNFFFF6&F4F^tF*9)FhvFho%,distributedG>8+-F`r6#F]al>FY-F_al6
&-Fd`l6#,&-Fbz6$f*FezFFFfzFF*(&Fd[lFerFP&F][lFerF[uFNFPFFFF6&F5F^blF6F^rFYFPF]a
lF[uFhoF\blFg`l@$FenC$>F]al-F_al6%-Fd`l6#-Fg`l6#-Fbz6$f*FezFFFfzFFFhalFFFFFjalF
e\lFhoF\bl>Fhn-F_al6&-Fd`l6#,&-Fbz6$f*FezFFFfzFFFjblFFFFF]clFhnFPF]alF[uFhoF\bl
Fg`lC'>F^t-Fi_l6$-%'NormalGFe`lFe_l>F]al-F_al6%-Fi_l6$-Fhdl6#-Fg`l6#-Fbz6$f*Fez
FFFfzFFFhalFFFFFjalFhvFe_lFhoF\bl>F^blF_bl>FY-F_al6&-Fi_l6$-Fhdl6#,&-Fbz6$f*Fez
FFFfzFFFjblFFFFF]clFYFPF]alF[uFe_lFhoF\blFg`l@$FenC$>F]al-F_al6%-Fi_l6$-Fhdl6#-
Fg`l6#-Fbz6$f*FezFFFfzFFFhalFFFFFjalFe\lFe_lFhoF\bl>Fhn-F_al6&-Fi_l6$-Fhdl6#,&-
Fbz6$f*FezFFFfzFFFjblFFFFF]clFhnFPF]alF[uFe_lFhoF\blFg`l>Fir%%trueG>F\p,&F\pFPF
PFP@%F_u@%F``lC$>Feq-%'subsopG6$/&F^r6$FPF[o-F_al6%,&&Feq6#FfhlFPF\sFPFhoF\blFe
q>FY-Fchl6$/Ffhl-F_al6%,&&FYF\ilFPF\sF[uFhoF\blFYC$>Feq-Fi_l6$FbhlFe_l>FY-Fi_l6
$F^ilFe_lC%@%F``l>Feq-F_al6%-Fd`l6#-Fbz6$f*FezFFFfzFFFjblFFFFF]clFeqFhoF\bl>Feq
-F_al6%-Fi_l6$-Fhdl6#-Fbz6$f*FezFFFfzFFFjblFFFFF]clFeqFe_lFhoF\bl>F\r*(F\rFP&F^
blFerFPFdrF[u@$9'@%F``l>Fgq-Fchl6$/F\p,&&FgqF[pFP*(F\sFPF\rF[uFj`lF[uFPFgq>Fgq-
Fi_l6$Fg[mFe_l>F^rF_r@$3F_y0F\rFP@%F``l>Feq-Fd`l6#*&FeqFPF\rF[u>Feq-Fi_l6$-Fhdl
Fg\mFe_l@$3FenFc\m@%F``l>Fhn-Fd`l6#*&FhnFPF\rF[u>Fhn-Fi_l6$-FhdlFb]mFe_l7$7$Feq
FhnFgqFFFFFFFF
M7R0
I9JanetOre/invred_evala_lcf*6*%"fG%"TG%'no_rhsG%.return_coeffsG%%seqvG%(mulproc
G%'lmprocG%(loc_varG66%"aG%"cG%"hG%#h2G%"iG%"kG%#lmG%"nG%"qG%"rG%$divG%'n_entrG
%(termo_hG%*zero_listG%#lvG%#nlG%"HG%"eG%#meG%#hiG6#%\pCopyright~(C)~2000-2010~
by~Carlos~F.~Cid~and~Daniel~Robertz.~All~rights~reserved.G6"C0>8/-%%nopsG6#&9$6
#""">817#-%"$G6$""!FG>8&FK@$49&>8'&FL6#""#@$09+7"C'>82<#-%$seqG6$&9(6#&F\o6#8(/
Fjo;FN-FI6#F\o>83-FI6#F`o>84F]o>FW-%7JanetOre/cancel_locvarG6%FWFfoF\o@$FY>Ffn-
Fgp6%FfnFfoF\o>8+-FI6#9%>8-FP>8%7#-FS6$FUF^q>8,FN>8*-9*6#FW?(FDFNFNFD0&F\r6$Fin
FNFUC)>FjoFN>8.%&falseG>80*&FbrFN&F\r6$FinFinFN@$F[o>85,&-%$maxG6#-Fco6$-%'degr
eeG6$&FW6#8)F`o/F\t;FNFGFN-%$addG6$&&F\r6$FNFN6#&F\oF[t/F\t;FNF`p!""?(FDFNFNFD3
1FjoF^q4Fgr@%-%5JanetOre/pinv_divideG6%&Faq6$Fjo""$&Faq6$Fjo""&&F\rFMC$@%F[oC,>
86,&-Fcs6#-Fco6$-Fhs6$&&Faq6%FjoFNFNF[tF`oF]tFN-F`t6$&&Faq6%FjoFduFNFetFgtFit>8
7FU>F\tFN?(FDFNFNFD32FUF]v1F\t-FI6#FdpC$@$332&&FdpF[t6#FduF]v/&&&F\xFhnFMFhn&Fh
uFhn-%8JanetOre/conv_divisibleG6$F`xFhuC$>F^wF\t>F]vF[x>F\t,&F\tFNFNFN@$3Fbw0Fc
qFP[@$2F`sF]v>Fdp7$-%#opGFew7%7$FWFfnF\rF`s@%/F^wFUC$>FW-%)simplifyG6#,&-%$mapG
6$f*6#F.FD6$%)operatorG%&arrowGFD*&&T$6%T%""'FNFNFLFNFDFD6&F&FaqF2FjoFWFN-F`z6$
f*FczFDFdzFD*(T#FN&T&6%T'F\[lFinFitFLFNFDFD6(F:FjrF&FaqF2FjoFfvFit@$FY>Ffn-F\z6
#,&-F`z6$f*FczFDFdzFDFgzFDFDF][lFfnFN-F`z6$f*FczFDFdzFDFa[lFDFDFg[l&Faq6%FjoFNF
inFitC$>FW-F\z6#,&-F`z6$f*FczFDFdzFD*&&&&&Fb[l6#F[[lFhnFhnFMFNFLFNFDFD6&F>FdpFA
F^wFWFN-F`z6$f*FczFDFdzFD*(Fb[lFN&&&&F[[l6#Ff[lFhnFhnFhnFitFLFNFDFD6(F:FjrF>Fdp
FAF^w&&&Fdp6#F^wFMFMFit@$FY>Ffn-F\z6#,&-F`z6$f*FczFDFdzFDF]]lFDFDFc]lFfnFN-F`z6
$f*FczFDFdzFDFg]lFDFDF]^l&F_^lFhnFit>FWFfp@$FY>FfnF[q@$0%0JanetOre/characGFUC$>
FW-%$modG6$FWFc_l@$FY>Ffn-Fg_l6$FfnFc_l@%/Fc_lFUC%>F\t-%'normalG6#-%&evalaG6#*(
FbrFNF\sFN&Faq6%FjoF\[lFinFit>FW-%(collectG6%-Fb`l6#-Fe`l6#,&-F`z6$f*FczFDFdzFD
FgzFDFDF][lFWFN-F`z6$f*FczFDFdzFD-Fd[l6$Fb[lFLFDFD6&F3F\tF*9)FfvFitFfo%,distrib
utedG@$FY>Ffn-F\al6%-Fb`l6#-Fe`l6#,&-F`z6$f*FczFDFdzFDFgzFDFDF][lFfnFN-F`z6$f*F
czFDFdzFDFialFDFDF[blFc\lFitFfoF]blC%>F\t-Fg_l6$-%'NormalGFc`lFc_l>FW-F\al6%-Fg
_l6$-Fbcl6#-Fe`l6#,&-F`z6$f*FczFDFdzFDFgzFDFDF][lFWFN-F`z6$f*FczFDFdzFDFialFDFD
F[blFfvFitFc_lFfoF]bl@$FY>Ffn-F\al6%-Fg_l6$-Fbcl6#-Fe`l6#,&-F`z6$f*FczFDFdzFDFg
zFDFDF][lFfnFN-F`z6$f*FczFDFdzFDFialFDFDF[blFc\lFitFc_lFfoF]bl>Fgr%%trueG>Fjo,&
FjoFNFNFN@%F]u@%F^`lC$>Fcq-%'subsopG6$/&F\r6$FNFin-F\al6%,&&Fcq6#F`flFNFjrFNFfo
F]blFcq>FW-F]fl6$/F`fl-F\al6%,&&FWFfflFNFjrFitFfoF]blFWC$>Fcq-Fg_l6$F\flFc_l>FW
-Fg_l6$FhflFc_lC%@%F^`l>Fcq-F\al6%-Fb`l6#-Fe`l6#-F`z6$f*FczFDFdzFDFgzFDFDF][lFc
qFfoF]bl>Fcq-F\al6%-Fg_l6$-Fbcl6#-Fe`l6#-F`z6$f*FczFDFdzFDFgzFDFDF][lFcqFc_lFfo
F]bl>Fjq*&&Faq6%FjoF\[lFNFNFjqFN@$9'@%F^`l>Feq-F]fl6$/Fjo,&&FeqFioFN*(FjrFNFjqF
itFh`lFitFNFeq>Feq-Fg_l6$FfilFc_l>F\rF]r@$3F]y0FjqFN@%F^`l>Fcq-Fb`l6#*&FcqFNFjq
Fit>Fcq-Fg_l6$-FbclFfjlFc_l@$3FYFbjl@%F^`l>Ffn-Fb`l6#*&FfnFNFjqFit>Ffn-Fg_l6$-F
bclFa[mFc_l7$7$FcqFfnFeqFDFDFDFD
M7R0
I>JanetOre/invred_evala_lc_polyf*6*%"fG%"TG%'no_rhsG%.return_coeffsG%%seqvG%(mu
lprocG%'lmprocG%(loc_varG68%"aG%"cG%#caG%#cbG%"hG%#h2G%"iG%"kG%#lmG%"nG%"qG%"rG
%$divG%'n_entrG%(termo_hG%*zero_listG%#lvG%#nlG%"HG%"eG%#meG%#hiG6#%\pCopyright
~(C)~2000-2010~by~Carlos~F.~Cid~and~Daniel~Robertz.~All~rights~reserved.G6"C0>8
1-%%nopsG6#&9$6#""">837#-%"$G6$""!FI>8(FM@$49&>8)&FN6#""#@$09+7"C'>84<#-%$seqG6
$&9(6#&F^o6#8*/F\p;FP-FK6#F^o>85-FK6#Fbo>86F_o>FY-%7JanetOre/cancel_locvarG6%FY
FhoF^o@$Fen>Fhn-Fip6%FhnFhoF^o>8--FK6#9%>8/FR>8%7#-FU6$FWF`q>8.FP>8,-9*6#FY?(FF
FPFPFF0&F^r6$F[oFPFWC)>F\pFP>80%&falseG>82*&FdrFP&F^r6$F[oF[oFP@$F]o>87,&-%$max
G6#-Feo6$-%'degreeG6$&FY6#8+Fbo/F^t;FPFIFP-%$addG6$&&F^r6$FPFP6#&F^oF]t/F^t;FPF
bp!""?(FFFPFPFF31F\pF`q4Fir@%-%5JanetOre/pinv_divideG6%&Fcq6$F\p""$&Fcq6$F\p""&
&F^rFOC$@%F]oC,>88,&-Fes6#-Feo6$-Fjs6$&&Fcq6%F\pFPFPF]tFboF_tFP-Fbt6$&&Fcq6%F\p
FfuFPFgtFitF[u>89FW>F^tFP?(FFFPFPFF32FWF_v1F^t-FK6#FfpC$@$332&&FfpF]t6#FfuF_v/&
&&F^xFjnFOFjn&FjuFjn-%8JanetOre/conv_divisibleG6$FbxFjuC$>F`wF^t>F_vF]x>F^t,&F^
tFPFPFP@$3Fdw0FeqFR[@$2FbsF_v>Ffp7$-%#opGFgw7%7$FYFhnF^rFbs@%/F`wFWC$>FY-%)simp
lifyG6#,&-%$mapG6$f*6#F.FF6$%)operatorG%&arrowGFF*&&T$6%T%""'FPFPFNFPFFFF6&F&Fc
qF4F\pFYFP-Fbz6$f*FezFFFfzFF*(T#FP&T&6%T'F^[lF[oF[uFNFPFFFF6(F<F\sF&FcqF4F\pFhv
F[u@$Fen>Fhn-F^z6#,&-Fbz6$f*FezFFFfzFFFizFFFFF_[lFhnFP-Fbz6$f*FezFFFfzFFFc[lFFF
FFi[l&Fcq6%F\pFPF[oF[uC$>FY-F^z6#,&-Fbz6$f*FezFFFfzFF*&&&&&Fd[l6#F][lFjnFjnFOFP
FNFPFFFF6&F@FfpFCF`wFYFP-Fbz6$f*FezFFFfzFF*(Fd[lFP&&&&F][l6#Fh[lFjnFjnFjnF[uFNF
PFFFF6(F<F\sF@FfpFCF`w&&&Ffp6#F`wFOFOF[u@$Fen>Fhn-F^z6#,&-Fbz6$f*FezFFFfzFFF_]l
FFFFFe]lFhnFP-Fbz6$f*FezFFFfzFFFi]lFFFFF_^l&Fa^lFjnF[u>FYFhp@$Fen>FhnF]q@$0%0Ja
netOre/characGFWC$>FY-%$modG6$FYFe_l@$Fen>Fhn-Fi_l6$FhnFe_l@%/Fe_lFWC&-%$gcdG6&
Fdr&Fcq6%F\pF^[lFP.8&.8'>F^t-%'normalG6#-%&evalaG6#*(Fh`lFPF^sFP&Fcq6%F\pF^[lF[
oF[u>FY-%(collectG6%-F]al6#-F`al6#,&-Fbz6$f*FezFFFfzFF*&Fd[lFPFNFPFFFF6$F1Fj`lF
YFP-Fbz6$f*FezFFFfzFF-Ff[l6$Fd[lFNFFFF6&F5F^tF*9)FhvF[uFho%,distributedG@$Fen>F
hn-Fgal6%-F]al6#-F`al6#,&-Fbz6$f*FezFFFfzFFFablFFFFFbblFhnFP-Fbz6$f*FezFFFfzFFF
fblFFFFFhblFe\lF[uFhoFjblC&-Fi_l6$-%$GcdGFd`lFe_l>F^t-Fi_l6$-%'NormalGF^alFe_l>
FY-Fgal6%-Fi_l6$-Fcdl6#-F`al6#,&-Fbz6$f*FezFFFfzFFFablFFFFFbblFYFP-Fbz6$f*FezFF
FfzFFFfblFFFFFhblFhvF[uFe_lFhoFjbl@$Fen>Fhn-Fgal6%-Fi_l6$-Fcdl6#-F`al6#,&-Fbz6$
f*FezFFFfzFFFablFFFFFbblFhnFP-Fbz6$f*FezFFFfzFFFfblFFFFFhblFe\lF[uFe_lFhoFjbl>F
ir%%trueG>F\p,&F\pFPFPFP@%F_u@%F``lC$>Feq-%'subsopG6$/&F^r6$FPF[o-Fgal6%,&&Feq6
#FaglFPF\sFPFhoFjblFeq>FY-F^gl6$/Fagl-Fgal6%,&&FYFgglFPF\sF[uFhoFjblFYC$>Feq-Fi
_l6$F]glFe_l>FY-Fi_l6$FiglFe_lC%@%F``l>Feq-Fgal6%-F]al6#-F`al6#-Fbz6$f*FezFFFfz
FFFablFFFFFbblFeqFhoFjbl>Feq-Fgal6%-Fi_l6$-Fcdl6#-F`al6#-Fbz6$f*FezFFFfzFFFablF
FFFFbblFeqFe_lFhoFjbl>F\r*&Fj`lFPF\rFP@$9'@%F``l>Fgq-F^gl6$/F\p,&&FgqF[pFP*(F\s
FPF\rF[uFcalF[uFPFgq>Fgq-Fi_l6$FejlFe_l>F^rF_r@$3F_y0F\rFP@%F``l>Feq-F]al6#*&Fe
qFPF\rF[u>Feq-Fi_l6$-FcdlFe[mFe_l@$3FenFa[m@%F``l>Fhn-F]al6#*&FhnFPF\rF[u>Fhn-F
i_l6$-FcdlF`\mFe_l7$7$FeqFhnFgqFFFFFFFF
M7R0
I:JanetOre/pairstoequationsf*6'%"GG%'no_rhsG%'n_entrG%)rhs_entrG%)tup_permG6#%"
iG6#%jnCopyright~(C)~2007-2010~by~Daniel~Robertz.~All~rights~reserved.G6"@%9%@%
/9&"""-%$mapG6$f*F*F.6$%)operatorG%&arrowGF.-%#opG6#&9$6#F4F.F.F.F@-F66$f*F*6#%
"jGF.F.7#-%$seqG6$&F?6#&T$6#8$/FP;F4T&F.F.6&F)9(F'F3F@@%F2@%/9'F4-F66$f*F*F.F9F
./F<-F=6#&F@6#""#F.F.F.F@-F66$f*F*F.F9F./F<FjnF.F.F.F@@%FX-F66$f*F*FEF.F./FGFhn
F.F.FTF@-F66$f*F*FEF.F./FGFjnF.F.FTF@F.F.F.F.
M7R0
I4JanetOre/JEulerCharf*6$%"LG'%%varsG%%listG6%%"dG%"iG%"nG6#%jnCopyright~(C)~20
03-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C%>8$-%8JanetOre/JResolutionD
imG6#9">8&-%%nopsG6#F2-%$addG6$*&)!"",&8%"""FAFDFD&F26#,(F8FDFCFAFDFDFD/FC;FDF8
F/F/F/F/
M7R0
I8JanetOre/monomcoefflistf*6%%"pG%$varG%$basG6)%"aG%"cG%"iG%"nG%"rG%"xG%$posG6#
%jnCopyright~(C)~2006-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C&>8'-%%no
psG6#9&@$/F5""!-%'RETURNG6#7">8(-%(collectG6%9$9%%,distributedG@'-%%typeG6$FB%"
+GC$>8%7#-%"$G6$F<F5?&8&FB%%trueG@%-FK6$FV%"*GC$>8)-%'selectG6%%0JanetOre/hasva
rGFVFG@'/Fhn%%NULLG>FP-%'subsopG6$/""",&&FP6#FeoFeoFVFeoFP-%'memberG6%FhnF9.8*>
FP-Fbo6$/F]p,&&FP6#F]pFeo*&FVFeoFhn!""FeoFP-F>6#Fhn@%-%$hasG6$FVFG@%-Fjo6%FVF9F
\p>FP-Fbo6$/F]pFeoFP-F>6#FV>FPFao-FK6$FBFenC$>Fhn-Fjn6%F\oFBFG@'F^o7$FB-FS6$F<,
&F5FeoFfpFeoFio-Fbo6$/F]p*&FBFeoFhnFfpFQFhn@%-F[q6$FBFG@%-Fjo6%FBF9F\p-Fbo6$Fcq
FQFBF^rF2F2F2F2
M7R0
I2JanetOre/findconef*6&%"mG%$varG%$basG%%multG6%%"iG%"jG%"qG6#%jnCopyright~(C)~
2007-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C%>8$-%%nopsG6#9&?(F/"""F8F
/1F8F2C$?(F/F8F8F/3F94-%'divideG6%9$&F66#F2.8&>F2,&F2F8!""F8@$F9C$@$-%(convertG
6$-%$mapG6$f*6#F+F/6$%)operatorG%&arrowGF/1-%'degreeG6$T#&T&6#FA&&T(6#T)FhnF/F/
6*F,FEF&9%F(9'F*F27#-%"$G6#;F8-F46#F_o%$andG-%'RETURNGFC>F2FG-Fjo6#""!F/F/F/F/
M7R0
I1JanetOre/JRepresf*6#'%"mG%(polynomG6B%"aG%"iG%"jG%"lG%"pG%"rG%"FG%#FBG%"MG%&m
_ordG%.force_collectG%,force_evalaG%(mulprocG%%varsG%$varG%(var_ordG%'vt_degG%(
deg_ordG%)tup_permG%%seqvG%'seqvarG%'lmprocG%(loc_varG%'n_entrG%$cmpG%%multG%$o
psG%,as_listlistG%)entr_posG%+trans_elemG%,given_basisG%2tmp_J_T_List_dataG6#%j
nCopyright~(C)~2000-2010~by~Daniel~Robertz.~All~rights~reserved.G6"CE@$0%5Janet
Ore/initializedG.%%trueG-%.JanetOre/initGFK@$4%2JanetOre/ratcoeffG-%&ERRORG6#%f
nnot~implemented~yet~for~involutive~bases~over~the~integers.G>8>%%NULLG@%33332"
"$9#4-%%typeG6$&9"6#""%%'stringG4-Fbo6$Fdo%(integerG54-Fbo6$Fdo-%%listG6#F\p/Fd
o7#"""54-Fbo6$Fdo-Fbp6#Fap-%$hasG6$Fdo""!C$>8BFQ@'/&%$argGFfo7"C$>8+&Feo6#""&>8
&""'33-Fbo6$FdoFbp4-Fbo6$Fdo-Fbp6#F'4-Fbo6$Fdo-Fbp6#FirC%>FfnFdo>F[rF\r>F`rFarC
$>F[rFdo>F`rF^rC%>Fcq%&falseG>F[r&Feo6#""#>F`rF^o@$5/F[rFhq/F[rF`q-FX6#%Gfactor
~module~basis~must~not~be~empty.G>8-Fgn>8.Fis>8/Fis>8?Fis?(8%F`rFfpF_oFQ@)55-Fb
o6$&Feo6#F_uF\p-Fbo6$FeuFap-Fbo6$FeuF[q>FgtFeu/FeuQ"SFK>F[uFQ/FeuQ)listlistFK>F
]uFQ-FX6#%Omissing~factor~module~basis~or~invalid~option.G@%FcqC*>8*-%3JanetOre
/procinputG6#F[t>8;&Fhv6#Ffp>F[u5F[u&FhvF]r>8A&Fhv6#""(>6$8C82-%5JanetOre/setup
_basisG6%F[t&Feo6#F^oFgt>Fit5Fit-%&evalbG6#0-%&minusG6$<#-%#opG6#Fdw<#-F\y6#F[x
<">81F_x>Fcy-%2JanetOre/procvarsG6$FcyF]wC(@$5543-%)assignedG6#%)J_T_ListG-Fbo6
$FazFbp/FazFhq4-Fbo6$&FazF_wFbp-FX6#%Lmissing~involutive~basis;~run~JBasis~firs
t.G>F]w-%%nopsG6#&Faz6%FfpFfpFfp>Fcy%'_jpvarG>F[xFcy>Fit5Fit%1_jpforce_collectG
>F[u5F[u%/_jpforce_evalaG>83&FcyF\t>84&FcyF`x>85&FcyFfo>86&FcyF]r>8@&Fcy6#Far>F
[x&FcyF_w>%'_jnvarG-F^[lF`y>877#-%$seqG6$-%$catG6$%#_xGF_u/F_u;FfpF^]l>887#-Fd]
l6$/&F[xFfu&Fa]lFfuFj]l>F\\l-%%subsG6$7#-Fd]l6$/Fb^lFf]lFj]lF\\l@%/FfnFgn>80-%(
unapplyG6%*&%#_aGFfp%#_bGFfpFd_lFe_l>F__l&-%1JanetOre/procopsG6%F[xFfnFa]lF`x@$
/FgtFgn@%/F\\lFhq>FgtFgo>Fgt7#-%"$G6$Fgo-F^[l6#F\\l>8'-%1JanetOre/procordG6*Fgt
F[xF\\lF_\lFb\lFa]lFh\l4F[u>8<&Fh`lF]r>8:&Fh`lFj\l@'4-Fbo6$F[rFbpC%@%-Fbo6$F[r%
"+G>Fhv-%%sortG6$-%$mapG6$f*6#F*FK6$%)operatorG%&arrowGFK7$-%&numerG6#9$-%'inde
tsG6#-%&denomGF[clFKFKFK-%(convertG6$-Ff^l6$F]^lF[rFbpf*6$F*F+FKFeblFK-T#6$&F\c
lF_w&9%F_wFKFK6$FAF^al>Fhv7#-Ff^l6$F]^l7$-Fjbl6#F[r-F^cl6#-FaclFfdl>8=-Fabl6$f*
FdblFKFeblFK-Fabl6$f*6#F+FKFeblFK@%-F^q6$&T$F\tF\cl%)infinityGF`qFKFK6$F*F\clFj
clFKFK6$F<Fa]lFhv>Fhv-Fabl6$f*FdblFKFeblFK@%/-F\y6$FfpF\dl!"",$F\dlFcflF\dlFKFK
FKFhv45-Fbo6$&F[rF_wFbp-Fbo6$FiflF'C%>FhvFhq>F[elFhq?(8$FfpFfp-F^[lFfdlFQC%@%-F
bo6$&F[r6#F`glF[bl>Fhv7$-F\y6#Fhv-F^bl6$-Fabl6$f*FdblFKFeblFKFhblFKFKFK-Fccl6$-
Ff^l6$F]^lFfglFbpf*FhclFKFeblFKFiclFKFKF_dl>Fhv7$Fjgl7#-Ff^l6$F]^l7$-Fjbl6#Ffgl
-F^cl6#-FaclF]il>F[el7$-F\y6#F[el-Fabl6$f*FdblFKFeblFK-Fabl6$f*FbelFKFeblFK@%Fd
elFhelF`qFKFKFielFjclFKFKFjel&Fhv6#Fcfl>Fhv-%'subsopG6$/Fcfl-Fabl6$f*FdblFKFebl
FK@%F`flFdflF\dlFKFKFKF\jlFhvC$>F[elFgn>FhvFecl@$4-F^q6$F\clF[xC$@$Fcq-%9JanetO
re/restoreJ_T_ListG6#Fjw-%'RETURNG6#-%4JanetOre/matrixtypeG6%FaglFaglf*FhclFKFK
FK@%/F\clF^dlFgelF`qFKFK6$F&F\cl@$/&F_\l6#;,&F^]lFfpFfpFfp,&F^]lFfpF]wFfp7#-Fc`
l6$F`qF]w>F_\lF`q>89-%&parseG6#-Fg]l6/Q<g->`JanetOre/j_lead_mon`(g,FK-Fccl6$F]w
FhoQ",FK-Fccl6$Fa]lFhoFb]m-Fccl6$&Fh`lF_wFhoFb]m-Fccl6$Fh\lFhoFb]m-Fccl6$F_alFh
oFb]m-Fccl6$F_\lFhoQ")FK>8(-Ff^l6$F]^lF\cl>F]^l7#-Fd]l6$/Fc^lFb^lFj]l>8,Fhq@%/F
]wFfp?(F_uFfpFfp-F^[lF[hlFQC%@'F[u>8)&&&-%6JanetOre/invred_evalaG6*7$7#-%(colle
ctG6%-F__l6$F`^m&FhvFfuFa]l%,distributedG7#F`qFazFQFisFa]lF__lFi\mFaalF_wF_wF_w
Fit>Fa_m&&&-%8JanetOre/invred_collectGFg_mF_wF_wF_w>Fa_m&&&-%0JanetOre/invredGF
g_mF_wF_wF_w@%/F[elFgn>Fi^m7$-F\y6#Fi^m-%8JanetOre/monomcoefflistG6%Fa_mFa]lFhv
>Fi^m7$Fbam-Ff^l6$F]^l-%<JanetOre/monomcoefflistmultG6&Fa_mFa]lFhvF[el@$4-Fbo6$
&Fi^mF]jlFbp-FX6#%hqthe~given~vector~space~basis~is~not~the~factor~module~basis
~for~the~residue~class~module~under~consideration.GC%>Fh`l7#-Fd]l6$,&F]wFfpF_uF
cfl/F_u;F`q,&F]wFfpFcflFfp@%F_amC%>F[r7#-Fc`l6$FhqF]w>F`rF]w?(F_uFfpFfpF]_mFQC%
?(FKFfpFfpFK31FfpF`r/&F_`m6#F`rF`q>F`r,&F`rFfpFcflFfp@$2F`rFfp-FX6#%`oexpecting
~factor~module~basis~to~be~the~result~of~JFactorModuleBasis.G>F[r-F`jl6$/F`r7$-
F\y6#&F[rF]dmF\dmF[rC$>F[rFhv>Fhv7#-Fd]l6$-F\y6#-Fabl6$f*FbelFKFeblFK-F`jl6$/&F
jcl6#T%F\cl7#-Fc`l6$F`qT'FKFK6(F,Fh`lF*F_uF@F]w&Fhv6#&Fh`lFfu/F_u;FfpF]_m?(F_uF
fpFfpF]_mFQC$@'F[u>Fa_m&&-Ff_m6*7$-F[`m6%-Fabl6$f*6#F)FKFeblFK-F]fm6$FjclF\clFK
FK6&F-F`^mF5F__lF_`mFa]lF``mFa`mFazFQFisFa]lF__lFi\mFaalF_wF_wFit>Fa_m&&-Fg`m6*
7$-F[`m6%-Fabl6$f*FfgmFKFeblFKFggmFKFKFigmF_`mFa]lF``mFa`mFazFQFisFa]lF__lFi\mF
aalF_wF_w>Fa_m&&-F]am6*7$-%'expandG6#F]`mFa`mFazFQFisFa]lF__lFi\mFaalF_wF_w@%F_
amC%>Fa_m-%6JanetOre/tupcoefflistG6&Fa_mFa]lF[rFh`l@$4-Fbo6$Fa_m-Fbp6#Fbp-FX6#%
fqthe~given~vector~space~basis~is~not~the~factor~module~basis~for~the~residue~c
lass~ring~under~consideration.G>Fi^m7$Fbam-Fabl6$F\yFa_mC%>Fa_m-%:JanetOre/tupc
oefflistmultG6'Fa_mFa]lF[rF[elFh`l@$FeimFcbm>Fi^m7$Fbam-Ff^l6$F]^lF_jm@'F]u7#-F
d]l6$-Fabl6$f*6#F,FKFeblFK-F\yFhgmFKFK6$F*F_uFi^mFffm/Fg[m%'MatrixG-&%.LinearAl
gebraG6#%*TransposeG6#-Ff[nFcam-&%'linalgG6#%*transposeG6#-%&evalmGFcamFK6#F^]l
FKFK
M7R0
I6JanetOre/pdegrevlex_Zf*6$%"aG%"bG6%%"iG%$tdaG%$tdbG6#%jnCopyright~(C)~2004-20
10~by~Daniel~Robertz.~All~rights~reserved.G6"C'>8%-%(convertG6$&9$6#"""%"+G>8&-
F26$&9%F6F8@'2F0F:-%'RETURNG6#%%trueG2F:F0-FB6#%&falseG?(8$-%%nopsG6#F4!""F7FD@
&2&F=6#FJ&F4FRFA2FSFQFF@&2-%$absG6#&F>6#""$-FX6#&F5FenFF2FgnFWFA@%2&F56#""#&F>F
^oFHFDF-F-F-F-
M7R0
I7JanetOre/block_ord_POTf*6&%"aG%"bG%$sepG%+termordersG6#%"iG6#%jnCopyright~(C)
~2004-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C$@&2&9$6#""#&9%F3-%'RETUR
NG6#%&falseG2F5F1-F86#%%trueG@'4-&9'6#"""6$7$&&F2FD6#;FE&9&FDF17$&&F6FDFJF5F:/F
HFOC$?(8$F4FE-%%nopsG6#FMF>@&4-&FC6#FT6$7$&FI6#;,&&FM6#,&FTFE!""FEFEFEFE&FMFfnF
17$&FPFjnF5F70FinFcoF<F>F>F-F-F-F-
M7R0
I5JanetOre/jbinary_hasf*6&%"aG%"FG%"sG%"nG6#%"pG6#%jnCopyright~(C)~2005-2010~by
~Daniel~Robertz.~All~rights~reserved.G6"C%@$/9&9'@%-%$hasG6$&9%6#F19$-%'RETURNG
F9-F<6#""!>8$-%%iquoG6$,(F1"""F2FFFFFF""#@%-F56$&F86#;FA!""F:-F"6&F:F8FAF2-F"6&
F:F8F1,&FAFFFNFFF-F-F-F-
M7R0
I7JanetOre/simp_invred_Zf*6*%"fG%"TG%'no_rhsG%.return_coeffsG%%seqvG%(mulprocG%
'lmprocG%(loc_varG65%"aG%"cG%"eG%"hG%#h2G%"iG%"jG%"kG%"lG%#lmG%"nG%"rG%$divG%'n
_entrG%(termo_hG%*zero_listG%#lvG%#nlG%"HG6#%\pCopyright~(C)~2000-2010~by~Carlo
s~F.~Cid~and~Daniel~Robertz.~All~rights~reserved.G6"C,>81-%%nopsG6#&9$6#""">837
#-%"$G6$""!FF>8'-%'expandGFI@$49&>8(&FK6#""#>8.-FH6#9%>8/FO>8%7#-FR6$FTF\o>8--9
*6#FV?(FCFMFMFC0&Fho6$FjnFMFTC*>8)FM>80%&falseG>8*&Fho6$FMFjn>82-%'subsopG6$/Fg
p&Fho6$FjnFjnFO?(FCFMFMFC31FbpF\o4FdpC$@$-%5JanetOre/pinv_divideG6%&F_o6$Fbp""$
&F_o6$Fbp""&&FhoFLC$>8,-%%iquoG6$F^p&F_o6%Fbp""'FM@$0FdrFTC%>FV-%)simplifyG6#,&
FVFM-%$mapG6$f*6#F.FC6$%)operatorG%&arrowGFC-T,6$*(T#FM&T%FaqFM&T(6%T)FjrFjn!""
FKFCFC6,F6FdrF7FhoF&F_oF3FbpF*9)&F_o6%FbpFMFMFft@$FZ>Fgn-F`s6#,&FgnFM-Fds6$f*Fg
sFCFhsFCF[tFCFCFgt&F_o6%FbpFMFjnFft>Fdp%%trueG>Fbp,&FbpFMFMFM@%FeqC$>Fao-F`s6#,
&FaoFM*&F^pFMF[qFMFM>FV-F`s6#,&FVFMF_vFft@$9'C$>Fbp,&FbpFMFftFM>Fco-F]q6$/Fbp,&
&Fco6#FbpFM*(FdrFMF`qFM&F_o6%FbpFjrFjnFftFMFco>FV-FXF[p>FhoFio7$7$FaoFgnFcoFCFC
FCFC
M7R0
IAJanetOre/JSubmoduleHilbertSeriesf*6"6(%"iG%"jG%"sG%,given_basisG%/args_withou
t_sG%$resG6#%jnCopyright~(C)~2007-2010~by~Daniel~Robertz.~All~rights~reserved.G
F$C)@$4%2JanetOre/ratcoeffG-%&ERRORG6#%fnnot~implemented~yet~for~involutive~bas
es~over~the~integers.G>8&%%NULLG>8(F8@%19#"""C$>8'%&falseG@$/F=F>C$@%3-%%typeG6
$&9"6#F>%)equationG5/-%#opG6$F>FKQ$varF$/FQQ%subsF$>F7-FR6$""#FK>F7FK@$4-FI6$F7
%%nameG-F36#%_oexpecting~an~indeterminate~for~the~Hilbert~series~as~first~argum
ent.GC$@%5555-FI6$&FL6#FZFN-FI6$Ffo%(integerG-FI6$Ffo-%%listG6#Fjo-FI6$FfoFjn3-
FI6$FfoF^p5-%(hastypeG6$Ffo%)functionG-Fgp6$Ffo%*procedureGC$>FAFB>8%F>C%>FA%%t
rueG>F`q""$>F:6$FKFfo?(8$F`qF>F=Fcq@'-FI6$&FL6#FiqFjn@%/F7F8>F7F]r-F36#%Qcannot
~determine~which~indeterminate~to~plug~in.G3-FI6$F]rFN5/-FR6$F>F]rFT/FjrFVC$@%F
`r>F7-FR6$FZF]rFbr@$Fgn-F36#%Sexpecting~an~indeterminate~for~the~Hilbert~series
.G>F:6$F:F]r@$F`r>F7.F7@%FA>8)-%9JanetOre/JSubmoduleBasisG6$F:/FVF7C$@$4-%)assi
gnedG6#%)J_T_ListG-F36#%Lmissing~involutive~basis;~run~JBasis~first.G>F]t-F_t6$
7#-%$seqG6$-%$catG6$%#_xGFiq/Fiq;F>-%%nopsG6#&Fht6%F>FeqF>Fat@%-FI6$F]tF^p-%(co
nvertG6$F]t%"+GF]tF$F$F$F$
M7R0
I@JanetOre/PresentationOnSectionsf*6&'%"PG%%listG'%$varGF''%$opsGF''%%dvarGF'6'
%"aG%"iG%"gG%"rG%%ivarG6#%jnCopyright~(C)~2007-2010~by~Daniel~Robertz.~All~righ
ts~reserved.G6"C&>8(-%'removeG6%%0JanetOre/hasvarG9%&-%1JanetOre/procopsG6%F>9&
F>6#"""@$52-%%nopsG6#9$""$0&FL6#FMQ-PresentationF6-%&ERRORG6#%Rexpecting~homalg
~presentation~as~first~parameter.G@%2""%9#@&-%%typeG6$&9"6#""&F'>8&Fhn5-Ffn6$Fh
n%'symbolG-Ffn6$Fhn%(indexedG>F]o7#-%$seqG6$-%$catG6$Fhn8%/F]p;FE-FJ6#&FLFD>F]o
7#-Fho6$-F[p6$%#_TGF]pF^p@%/F`pFEC%>F]o-%$mapG6$f*6#F0F66$%)operatorG%&arrowGF6
-FL6#-%#opG6#T#F6F66$F3F9F]o>8'-F_q6$f*FbqF6FcqF6FfqF6F6F\r9'@%-Ffn6$-%$rhsG6#&
FbpFDF'@%-Ffn6$&FL6#""#%)listlistG7%-F_q6$f*6#F/F6FcqF6/-%6JanetOre/JApplyMatri
xG6&-%$lhsGFK&T)FDT&T(&-Fhs6&7#-FgrFKF[rF^tF_tFDF6F66*F2F^rF)F>F+FCF1F]oFbp-F_q
6$f*FesF6FcqF6&-Fhs6&7#FLF[rF^tF_tFDF6F66(F1F]oF)F>F+FCF]s-Fiq6#&FL6#;FM!""7%-F
_q6$f*FesF6FcqF6FfsF6F6FetFbp-F_q6$f*FesF6FcqF6-Fhs6&FL&F[rFDF^tF_tF6F6F]uF]sF^
u@%F[s7%-F_q6$f*FesF6FcqF6/Fgs-Fhs6&FdtF]vF^tF_tF6F6FetFbp-F_q6$f*FesF6FcqF6Fit
F6F6F]uF]sF^u7%-F_q6$f*FesF6FcqF6FcvF6F6FetFbp-F_q6$f*FesF6FcqF6F[vF6F6F]uF]sF^
uC%>F]o-F_q6$f*FbqF6FcqF67#FfqF6F6F\rF]o>F^r-F_q6$f*FbqF6FcqF6FewF6F6F\rFbr@%Fd
r@%F[s7%-F_q6$f*FesF6FcqF6/&-Fhs6&7#FjsF]tF^tF_tFDF`tF6F6FetFbp-F_q6$f*FesF6Fcq
F6FitF6F6F]uF]sF^u7%-F_q6$f*FesF6FcqF6F`xF6F6FetFbp-F_q6$f*FesF6FcqF6F[vF6F6F]u
F]sF^u@%F[s7%-F_q6$f*FesF6FcqF6/Fax&FdvFDF6F6FetFbp-F_q6$f*FesF6FcqF6FitF6F6F]u
F]sF^u7%-F_q6$f*FesF6FcqF6FdyF6F6FetFbp-F_q6$f*FesF6FcqF6F[vF6F6F]uF]sF^uF6F6F6
F6
M7R0
I8JanetOre/isMinimalBasisf*6#%#lmG6$%"iG%"rG6#%jnCopyright~(C)~2002-2010~by~Dan
iel~Robertz.~All~rights~reserved.G6"C$@%/%2JanetOre/ratcoeffG%&falseGC$>8$"""?(
F+F4F4F+1F3%*jnumber_tGC$@$33/&&9$6#F46#""#&&&%)J_T_ListG6#F36#""$FA-%8JanetOre
/conv_divisibleG6$F>FD2-%$absG6#&&F?FAF@-FO6#&&FE6#""'F@-%'RETURNG6#F0>F3,&F3F4
F4F4C$>F3F4?(F+F4F4F+F6C$@$F;FY>F3Fgn-FZ6#%%trueGF+F+F+F+
M7R0
I7JanetOre/jets_depcheckf*6#%$resG6,%"iG%"vG%#vsG%#slG%#KMG%#GMG%#ncG%#nrG%#zlG
%#rkG6#%\pCopyright~(C)~2000-2010~by~Gehrt~Hartjen~and~Daniel~Robertz.~All~righ
ts~reserved.G6"C1@%32"""9#4-%%typeG6$&9"6#""#%'symbolG@'4-F<6$F>%%listG-%&ERROR
G6#%[oexpecting~either~a~symbol~or~a~list~as~optional~second~argument.G-F<6$&F>
6#F8FG>8%FN>FQF>>FQ%%NULLG>8'-%5JanetOre/jets_mklistG6#9$>8&7">8$F8?(F3F8F8F31F
in-%%nopsG6#FV@%/&FV6#Fin""!C$>Ffn7$-%#opG6#FfnFco>FV-%'subsopG6$/FinFTFV>Fin,&
FinF8F8F8>8(-%:JanetOre/jets_coeffmatrixG6$FVFQ>8+F\o>8*-&%'linalgG6#%'coldimG6
#Fbp>8)-&F\q6#%*gausselimG6$-&F\q6#%(augmentG6$Fbp-%&arrayG6%;F8FgpF_r%)identit
yGFip>8--&F\q6#%%rankG6#-&F\q6#%*submatrixG6%FaqF_r;F8Fip>8,-%6JanetOre/jets_ze
rocolG6#-Fir6%Faq;F8Fbr;,&FipF8F8F8,&FipF8FgpF8>Ffn7$Fgo-Fho6#-%$mapG6$f*6#F'F3
6$%)operatorG%&arrowGF3-%(convertG6$-%$zipG6%f*6$%"aG%"bGF3FbtF3*&FZF89%F8F3F3F
3-Fft6$-&F\q6#%*subvectorG6%T#FZ;,&T%F8F8F8,&F[vF8T'F8FGT)%"+GF3F36*F,FaqF-FipF
.FgpF*FV7#-%"$G6#;,&FbrF8F8F8Fgp>FV-F\p6$-Fho6#-F^t6$f*FatF3FbtF3/FZFTF3F3F3F_s
FV@&32FAF9-F<6$&F?6#""$FB-%'assignG6$FewFfn3F7F;-Fiw6$F>FfnFVF3F3F3F3
M7R0
I9homalg/JanetOre/Syzygiesf*6%%$_M1G%$_M2G'%$varG%%listG6*%"iG%"jG%"vG%#M1G%#M2
G%'n_entrG%$retG%"LG6#%joCopyright~(C)~2004-2010~by~Arne~Lorenz~and~Daniel~Robe
rtz.~All~rights~reserved.G6"C'>8&-%5homalg/NormalizeRingG6$9&%)JanetOreG@%0&F86
#""#7"C&>8'-%6homalg/NormalizeInputG6$9$F=>8(-FH6$9%F=@%0FLFC>8)-%%nopsG6#&FL6#
"""@%0FFFC>FS-FU6#&FFFX-%&ERRORG6#QCNo~input~to~compute~syzygies~from!F5>FL7$-%
#opG6#FL-%$seqG6$-Fdo6$-%'subsopG6$/8$&F86%FB8%FY7#-%"$G6$""!FS/F\p;FYFS/F_p;FY
-FU6#F@C$>FFFJ>FLFO>8+-%1JanetOre/JAddRhsG6#FF@%52-FU6#F8""$/&F86#FhqFC@%4-%%ty
peG6$FLF)C$-%0JanetOre/JBasisG6$7$-Fao6#F_q-Fao6#-%(convertG6$FL%)listlistG&F8F
X>8*-%3JanetOre/JSyzygiesGFdrC$-Fcr6$7$FfrF`oF^s>F`s-FbsFes@%F]rC$-Fcr6%FerF^sF
jq>F`s-FbsF\tC$-Fcr6%FfsF^sFjq>F`s-FbsFat@%55/F`s7#Fdp/F`sFC33-F_r6$F`sF]s/-FU6
#F`sFY/F`s7#7#-Fbp6$Fdp-FU6#&F`sFXFC-%?homalg/JanetOre/NormalizeInputGF`uF5F5F5
F5
M7R0
I>homalg/JanetOre/HilbertCartanf*6$%#_MG%$varG6'%"iG%"jG%"vG%"MG%'n_entrG6#%joC
opyright~(C)~2004-2010~by~Arne~Lorenz~and~Daniel~Robertz.~All~rights~reserved.G
6"@%4%2JanetOre/ratcoeffG-%'RETURNG6#%%NULLGC&>8&-%5homalg/NormalizeRingG6$9%%)
JanetOreG@%0&F96#""#7"C%>8'-%6homalg/NormalizeInputG6$9$F>@%0FGFD>8(-%%nopsG6#&
FG6#"""-%&ERRORG6#QBNo~input~to~compute~a~basis~from!F/>FG7$-%#opG6#FG-%$seqG6$
-Fjn6$-%'subsopG6$/8$&F96%FC8%FU7#-%"$G6$""!FO/Fbo;FUFO/Feo;FU-FQ6#FA>FGFK>F9-F
_o6$/FCF6F9@%2FC9#C$-%0JanetOre/JBasisG6$FG-Fgn6#F96$-%8JanetOre/JHilbertSeries
G6#&9"6#""$-%:JanetOre/JCartanCharacterG6#7#-Fho6#;FU-FQ6#&F9FTC$Fjp6$-Faq6#.%"
sGFgqF/F/F/F/
M7R0
I5homalg/JanetOre/Multf*6%%"aG%"bG%$varG6&%#rrG%"vG%$verG%$retG6#%joCopyright~(
C)~2004-2010~by~Arne~Lorenz~and~Daniel~Robertz.~All~rights~reserved.G6"C&>8%-%5
homalg/NormalizeRingG6$9&%)JanetOreG@%0&F26#""#7">8$-%0JanetOre/JBasisG6$F:-%#o
pG6#-%'subsopG6$/F<%%NULLGF2>F?F=>F2FF@%0F?F=C%>8'-%/JanetOre/JMultG6%9$9%-FD6#
F2>8&-%*substringG6$-%(convertG6$-%+kerneloptsG6#%(versionG%'stringG;""""")@)-%
%typeG6$FQ%'matrixG-%'RETURNG6#-Fgo6#-%$mapG6$f*6#F%F/6$%)operatorG%&arrowGF/-%
4JanetOre/JInvReduceG6%FUT#-FD6#T%F/F/6&F)F?F*F2-Fin6$FQ%)listlistG-FeoF^q-Fio6
#-F^p6$f*FapF/FbpF/FepF/F/F\qFQ330FZQ)Maple~V,F/0FZQ)Maple~6.F/-Feo6$FQ%'Matrix
G-Fio6#-F^r6#-F^p6$f*FapF/FbpF/FepF/F/F\qF]q-Fio6#-Ffp6%FQF?FWFRF/F/F/F/
M7R0
IDhomalg/JanetOre/involution_exteriorf*6$%"aG'%$varG%$setG6&%"cG%"dG%"jG%"vG6#%
jnCopyright~(C)~2004-2010~by~Daniel~Robertz.~All~rights~reserved.G6"@+-%%typeG6
$9$%"+G-%$mapG6%F"F59%-F36$F5%"^G)-F"6$-%#opG6$"""F5F:-FB6$""#F5-F36$F5%"*GC'>8
$%%NULLG>8'FN?&8&F5%%trueG@%-%$hasG6$FRF:>FP6$FPFR>FM6$FMFR>FP-%'expandG6#-FJ6#
FP@%-F36$FPF6*&-FJ6#FMFD-F86%F"FPF:FDC$>8%-%'degreeG6$FPF:*(F`oFD)!"",$*&FfoFD,
&FfoFDF\pFDFD#FDFGFDFPFD/F5""!FbpC$>Ffo-Fho6$F5F:*&F[pFDF5FDF0F0F0F0
M7R0
I8JanetOreZeroSets/homalg=6"%&falseGE\[l,%3ReduceRingElementsG%?homalg/JanetOre
/NormalizeInputG%,ZeroSetsVarGQ+_JZeroSetsF$%'IsUnitG%7homalg/JanetOre/IsUnitG%
.SimplifyBasisG%7JanetOre/jets_depcheckG%1PresentationInfoG%>homalg/JanetOre/Hi
lbertCartanG%(ComposeG%5homalg/JanetOre/MultG%1CollectsZeroSetsG%%trueG%+Involu
tionG%;homalg/JanetOre/InvolutionG%3SyzygiesGeneratorsG%Ahomalg/JanetOreZeroSet
s/SyzygiesG%.BasisOfModuleG%>homalg/JanetOreZeroSets/BasisG%'ReduceG%7homalg/Ja
netOre/ReduceGF$
M7R0
I9JanetOre/jjanet_divisionf*6%%"LG%%seqvG%(mulprocG6-%"aG%"iG%"jG%"lG%"FG%"QG%"
kG%"nG%#suG%$conG%(allmultG6#%\pCopyright~(C)~2000-2010~by~Carlos~F.~Cid~and~Da
niel~Robertz.~All~rights~reserved.G6"C*>8+-%%nopsG6#9$@$/F9""!-%'RETURNG6#7$F=7
">8.7#-%"$G6$%)infinityG%'_jnvarG>8(F=>8)FE>FO-%'subsopG6$/F97)&FO6$F9"""&FO6$F
9""#&FO6$F9""$7#-FJ6$F@FMFG&FO6$F9""'FEFO?(8%,&F9FZ!""FZFdoFZ%%trueGC)>8,FG>8-&
FO6$Fbo""%>8&FZ?(F6FZFZF631F_pFM/&&FO6%,&FboFZFZFZFjnFZ6#&%2JanetOre/divisionG6
#F_p&&FO6%FboFjnFZFhpC%>Fho-FT6$/F_p&&FO6$Fgp""&FhpFho@%2&FhoF[qFL@$0&FjoF[q,&F
jqFZFZFZC$>FQ7$-%#opG6#FQ7)-%(collectG6%7$-%$mapG6$f*6#F)F66$%)operatorG%&arrow
GF6-T*6$)&T$6#&Fjp6#T%,&&T'FjsFZFZFZF=F6F66*F&9%F+F_pF1FhoF'9&&FO6%FboFZFZ-F[s6
$f*F^sF6F_sF6FbsF6F6F_t&FO6%FboFZFgnF`t%,distributedG&FO6$FboFgn-FT6$/FZ-FT6$/F
ip,(F\qFZFjqFZFZFZF]q&FO6$FboFjnF[oFG7$&FO6%FboF`oFZ-Fat6$)&F`tFhpF^r&FO6%FboF`
oFgnFcu>Fjo-FT6$/F_pF^rFjo>Fjo-FT6$/F_pF@Fjo>F_p,&F_pFZFZFZ@$FbpC$@%%3JanetOre/
janetlikeGC%>8',&FdpFZF\qFdo>Fho-FT6$/F_p,&F^wFZFdoFZFho@$0F]rF^wC$>FQ7$Fbr7)-F
gr6%7$-F[s6$f*F^sF6F_sF6-Fcs6$)FfsF^tF=F6F66*F&F`tF+F_pF,F^wF'FatFbt-F[s6$f*F^s
F6F_sF6FaxF6F6FdxFgtF`tFitFjt-FT6$/FZ-FT6$/Fip,&F\qFZF^wFZF]qFcuF[oFG7$Ffu-Fat6
$)F[vF^wF\vFcu>Fjo-FT6$/F_pF^wFjoC$>Fho-FT6$FevFho@$/F]rF@C$>FQ7$Fbr7)-Fgr6%7$-
F[s6$f*F^sF6F_sF6-T(6$FfsF=F6F66(F&F`tF+F_pF'FatFbt-F[s6$f*F^sF6F_sF6FgzF6F6Fjz
FgtF`tFitFjt-FT6$/FZ-FT6$/Fip,&F\qFZFZFZF]qFcuF[oFG7$Ffu-Fat6$F[vF\vFcu>Fjo-FT6
$/F_pFZFjo>Fjo-FT6$-%$seqG6$/8*F@/Fc\l;FgvFMFjo>Fho-FT6$-F`\l6$/FipFjq/F_p;FZFM
F[o>FO-FT6$/Fbo-FT6$/F]pFjo-FT6$/FgqFho&FO6#FboFO7$FOFQF6F6F6F6
M7R0
I@JanetOre/JFactorModuleBasisFastf*6$%"LG'%%varsG%%listG6D%"cG%"iG%"jG%"lG%"rG%
"vG%%fextG%'n_entrG%)rhs_entrG%'no_rhsG%"FG%"RG%$varG%(var_ordG%'vt_degG%(deg_o
rdG%$POTG%)tup_permG%-inv_tup_permG%#IBG%&m_ordG%+time_boundG%#trG%)entr_posG%+
tracedenomG%*quietmodeG%%voffG%*donotreadG%*forcelistG%,withmultvarG%(genfuncG%
-optionstringG%)dolaunchG%+sigmadeltaG6#%jnCopyright~(C)~2008-2010~by~Daniel~Ro
bertz.~All~rights~reserved.G6"CP@$0%5JanetOre/initializedG.%%trueG-%.JanetOre/i
nitGFN@$/%2JanetOre/ratcoeffG%&falseG-%&ERRORG6#%Qno~factor~module~basis~define
d~over~the~integersG>8.-%3JanetOre/procinputG6#9$>8+&Fjn6#""">8,&Fjn6#""#>8-&Fj
n6#""$@$&Fjn6#""&-Ffn6#%_oJFactorModuleBasisFast~cannot~compute~in~algebraic~fi
eld~extensions.G>Fjn-%'expandG6#&Fjn6#""%>80-%2JanetOre/procvarsG6$9%F`o>81&F]q
Fgo>82&F]qF\p>83&F]qFjp>85&F]qF`p>8;&F]q6#""'>F]q&F]qFbo>%'_jnvarG-%%nopsG6#F]q
@$0-%&minusG6$-%'indetsG6#Fjn<#-%#opGFir<"-Ffn6#%Qno~parameters~allowed~in~JFac
torModuleBasisFast.G>8$%0JanetOre/characG@%/Fcq7">88F[q>F`t7#-%"$G6$F[q-Fhr6#Fc
q>8*Q!FN>89""!>8:FZ>8)-%(convertG6$-%+kerneloptsG6#%(versionG%'stringG>8=-%&eva
lbG6#552F]u-%+searchtextG6$Q&APPLEFNFau/-%*substringG6$-Fcu6$-%*interfaceG6#.Fh
uFiu;Fco"#GQ=Standard~Worksheet~InterfaceFN/%4JanetOre/JInvoBasisG%:JanetOre/JB
asisFastAssertG>8>FT>8?FZ>8<FZ>8@FZ>8AFZ>8BFZ>8CFjt>8DFZ@$30-Fhv6$Fau;Fco""(Q(M
aple~VFN4-%%typeG6$Fjn-%)listlistG6#-F(6#-%(polynomG6$%)rationalGF]q-Ffn6#-%$ca
tG6&%Mexpecting~list~of~(lists~of)~polynomials~in~G-Fds6#-%$mapG6$f*6#F.FN6$%)o
peratorG%&arrowGFN-F^z6$-Fcu6$F^oFiuQ",FNFNFNFN&F]q6#;Fco!"#-Fcu6$&F]q6#!""Fiu%
".G@%331F]p9#-F`y6$&9"F\pF(54-F`y6$Fa\l-F(6#%(integerG/Fa\lF^tC$>8E-%2JanetOre/
proccommG6$F]qFa\l>8(F[qC$>F]]l-F_]l6$F]qF^t>Fb]lF]p@$0&F]]lF\pF^tFbp@$0&F]]lFj
pF^tFfs>F]]l&F]]l6#;FcoFho?(8%Fb]lFcoF^\lFT@)5-F`y6$&Fb\l6#Fc^lFi\l-F`y6$Fh^lF(
>F`tFh^l-F`y6$Fh^lFiu@+/Fh^lQ/tracerelationsFN>F_uFT/Fh^lQ*donotreadFN>FiwFT/Fh
^lQ&denomFN>F[xFT/Fh^lQ'launchFNFNC$>8'Fh^l?(8&FcoFco-%'lengthG6#F]`lFT@,/&F]`l
6#F_`lQ"CFNC$>F]xFT>Fcx-F^z6$FcxFg`l/Fe`lQ"GFNC$>FaxFT>Fcx-F^z6$FcxF^al/Fe`lQ"L
FNFN/Fe`lQ"MFNC$>F_xFT>Fcx-F^z6$FcxFgal0Fe`lFjt-Ffn6#%fooptions~must~be~given~b
y~a~string~consisting~of~letters~in~|fr"C",~"G",~"M"|hr.G-F`y6$Fh^l%)equationG@
5/-Fds6$FcoFh^lQ%NameFNC$@$4-F`y6$-Fds6$FhoFh^lFiu-Ffn6#%Fexpecting~a~string~fo
r~option~"Name".G>FitF^cl/FfblQ%charFNC$@$4-F`y6$F^cl%*nonnegintG-Ffn6#%Qexpect
ing~0~or~a~prime~number~for~option~"char".G>FjsF^cl/FfblQ%timeFNC$@$Fhcl-Ffn6#%
Sexpecting~time~bound~in~seconds~for~option~"time".G>F\uF^cl/FfblQ&quietFNC$@$4
-F`y6$F^cl%(booleanG-Ffn6#%Lexpecting~boolean~value~for~option~"quiet".G>F[vF^c
l/FfblQ(verboseFN@'/F^clQ#onFN>FgwFZ/F^clQ$offFN>FgwFT-Ffn6#%?expecting~string~
"on"~or~"off"G/FfblFd_lC$@$F\el-Ffn6#%Pexpecting~boolean~value~for~option~"dono
tread".G>FiwF^cl/FfblQ)GroebnerFNFN/FfblFg_lC$@$F\el-Ffn6#%Lexpecting~boolean~v
alue~for~option~"denom".G>F[xF^cl/FfblQ.tailreductionFNFN-Ffn6#%0invalid~option
.GFbgl@$5530F`tFho0F`tF[q2Fco-Fhr6#F_r3/F\hlFco0&F_rFboF`oC$-%0JanetOre/JBasisG
6#Fb\l-%'RETURNG6#-%<JanetOre/JFactorModuleBasisG6$F]qFcx@$0FcqF^t-Ffn6#%^oUp~t
o~now,~only~degrevlex~is~implemented~in~JFactorModuleBasisFast.G>F]`l-%1JanetOr
e/procordG6*F`tF]qFcqFfqFiqF]qF_rFT>84&F]`lFjp@%0F\r7#-Fdt6#;FcoF`oC$>86-Fdz6$f
*6#F+6#F,FNFNC$-%'memberG6%F^oT#.FjsFjsFNFN6$F;F\rFjil>Fjn-Fdz6$f*FdjlFejlFNFN-
%'subsopG6$/Fco7#-%$seqG6$&&F^oFbo6#&Fjjl6#Fjs/Fjs;FcoT%F^oFNFN6&F;F\rF1F`oFjn>
F`jlF\r>87-%3JanetOre/cppJBasisG64FjnF]qF]]lF`oFjoFjsFfil&Ffq6#;FcoFfr&Ffq6#;,&
FfrFcoFcoFco,&FfrFcoF`oFcoF`jlFitF\uF_uF[vFgwFiwF[xQ2factormodulebasisFN@$5FiwF
ex-Fghl6#-Fds6#Fd\m@%5Fax-%$hasG6$%6_JBOre_factor_multvarGFco@%F]x@%F_x-Fghl6#-
Fdz6$f*Fdjl6$F,%"mGFNFNC$>Fc^l-%'selectG6$f*FejlFNFhzFN2F]u&&F\^m6#T$F]oFNFN6$F
+F^o7#-Fdt6#;Fco-Fhr6#%+_JBOre_varG7$&%._JBOre_factorGF]o-Fdz6$f*FejlFNFhzFN&Fh
_mF]oFNFNFNFc^lFNFNFN7#-Fdt6#;Fco-Fhr6#F[`m-FghlFe`m-Fghl6#-Fgp6#-%$addG6$*&&F[
`mFi^lFco-%$mulG6$),&FcoFco&Fh_mFf`lFh[l&&F\^mFi^lFf`l/F_`lFe_mFh[l/Fc^lFc`mF[`
mFN6#FfrFNFN
M7R0
I7JanetOre/pnegdegrevlexf*6$%"aG%"bG6%%"iG%$tdaG%$tdbG6#%jnCopyright~(C)~2004-2
010~by~Daniel~Robertz.~All~rights~reserved.G6"C&>8%-%(convertG6$&9$6#"""%"+G>8&
-F26$&9%F6F8@'2F0F:-%'RETURNG6#%&falseG2F:F0-FB6#%%trueG?(8$-%%nopsG6#F4!""F7FH
@&2&F=6#FJ&F4FRFF2FSFQFA@%2&F56#""#&F>FXFDFHF-F-F-F-
M7R0
IEJanetOre/jnormal_form_simplify_lc_lmf*6)%"fG%"FG%%seqvG%(mulprocG%'lmprocG%'p
pprocG%(loc_varG66%"aG%#caG%#cbG%"hG%"iG%"kG%#lmG%$divG%'n_entrG%)rhs_entrG%*ze
ro_listG%.rhs_zero_listG%#lvG%#nlG%#nvG%"HG%"eG%#meG%#hiG%#stG6#%jnCopyright~(C
)~2000-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C.>%*_jonnformG,&FF"""FHF
H>8'9$>87""!>8,-%%nopsG6#&FJ6#FH>8--FR6#&FJ6#""#@$09*7"C'>80<#-%$seqG6$&9&6#&Fi
n6#8(/Fgo;FH-FR6#Fin>81-FR6#F]o>82-%'removeG6%%$hasGFcoF]o>83Fjn>FJ7$-%7JanetOr
e/cancel_locvarG6%FTFcoFin-F[q6%FZFcoFin>8.7#-%"$G6$FNFP>8/7#-Fcq6$FNFX>8+%%tru
eG>8*-9(FS?(FCFHFHFC3F[r0&F^r6$FfnFHFNC&>FgoFH>F[r%&falseG@$Fhn>84,&-%$maxG6#-F
`o6$-%'degreeG6$&FT6#8)F]o/Fhs;FHFPFH-%$addG6$&&F^r6$FHFH6#&FinFgs/Fhs;FHF]p!""
?(FCFHFHFC31Fgo-FR6#9%4F[rC$@$30FTF`q-%5JanetOre/pinv_divideG6%&F[u6$Fgo""$&F[u
6$Fgo""&&F^rFUC'>%)_joreducG,&F]vFHFHFH>FM,&FMFHFHFH@%FhnC+>85,&-F_s6#-F`o6$-Fd
s6$&&F[u6%FgoFHFHFgsF]oFisFH-F\t6$&&F[u6%FgoFfuFHFatFctFet>86FN>Fhs-FR6#Fgp?(FC
FHFHFC32FNFdv2FNFhsC$@$332&&FgpFgs6#FfuFdv/&&&FcxFenFUFen&FjuFen-%8JanetOre/con
v_divisibleG6$FgxFjuC$>FewFhs>FdvFbx>Fhs,&FhsFHFetFH@$2F\sFdvC$>Fhs-9)6%FTFco7$
FZ&&F^rFenFU>Fgp7$-%#opGFhw7%7$&FhsFU&&FhsFenFU7$Fju-%'subsopG6$/FH&FdzFenF[zF\
s@%/FewFN>FJ-%)simplifyG6#7$,&-%$mapG6$f*6#F-FC6$%)operatorG%&arrowGFC**&T#FerF
H&F]\l6$FfnFfnFH&T&6%T'""'FfnFetFKFHFCFC6(F3F^rF&F[uF1FgoF]wFet-Fd[l6$f*Fg[lFCF
h[lFC*&&T$6%T%Fd\lFHFHFKFHFCFC6&F&F[uF1FgoFTFH,&-Fd[l6$f*Fg[lFCFh[lFCF[\lFCFCFe
\l&F[u6%FgoFHFfnFet-Fd[l6$f*Fg[lFCFh[lFCFi\lFCFCF^]lFZFH>FJ-F_[l6#7$,&-Fd[l6$f*
Fg[lFCFh[lFC**F\\lFHF^\lFH&&&&F]]l6#Fc\lFenFenFenFetFKFHFCFC6(F3F^rF<FgpF?Few&&
&Fgp6#FewFUFUFet-Fd[l6$f*Fg[lFCFh[lFC*&&&&&F]\l6#F]]lFenFenFUFHFKFHFCFC6&F<FgpF
?FewFTFH,&-Fd[l6$f*Fg[lFCFh[lFCF`^lFCFCFf^l&Fh^lFenFet-Fd[l6$f*Fg[lFCFh[lFCF^_l
FCFCFd_lFZFH>FJ-Fgy6%FTFcoFZ>FJFip@$0%0JanetOre/characGFN>FJ-%$modG6$FJFc`lC$@%
/Fc`lFN-%$gcdG6&Fdr&F[u6%FgoFd\lFH.8%.8&-Ff`l6$-%$GcdGF]alFc`l>FJ-F_[l6#7$,&-Fd
[l6$f*Fg[lFCFh[lFC*&F]\lFHFKFHFCFC6$F/FcalFTFH-Fd[l6$f*Fg[lFCFh[lFC-T,6$*(F]\lF
H&F]]lF_\lFH&T(6%T)Fd\lFfnFetFKFCFC6,F.FaalF3F^rF&F[uF1FgoF(9'F]wFet,&-Fd[l6$f*
Fg[lFCFh[lFCF`blFCFCFablFZFH-Fd[l6$f*Fg[lFCFh[lFCFeblFCFCF^clFc]lFet>F[rF\r>F^r
F_r>Fgo,&FgoFHFHFH@'3/FTF`q0FZFfqC%@$2FNFM>FZ&-Fgy6%FZFcoFjnFU@$4-%5JanetOre/me
mber_multG6%FZ%&J_HOMGFco>F[el7$-F_z6#F[elFZ7$FTFfqF]dl7$F`qFZ@%FadlF^`lFJFC6%F
[elFFF]vFCFC
M7R0
I8JanetOre/mac_gettmpnamef*6"6&%"iG%"jG%"rG%"SG6#%jnCopyright~(C)~2007-2009~by~
Daniel~Robertz.~All~rights~reserved.GF$C$>8'-%(ssystemG6#Q$envF$@'/F.%%NULLG%./
tmp/JanetOreG0&F.6#"""""!F6C%>F.&F.6#""#@%/-%*substringG6$F.;F:""&Q&USER=F$C$>8
$F:>8%-%+searchtextG6%Q"|+F$F.;""'!""C$>FK-FO6$Q'|+USER=F$F.>FM-FO6%FQF.;,&FKF:
FSF:FT@%5/FKF;/FMF;F6C&>F.-FD6$F.;Fhn,(FKF:""%F:FMF:>8&-F06#-%$catG6$%.test~-d~
/tmp/GF.@$0&FeoF9F;C$>Feo-F06#-Fio6$%,mkdir~/tmp/GF.@$F]p-%&ERRORG6#%Ecannot~wr
ite~temporary~file~to~/tmp.G-Fio6&%&/tmp/GF.%+/JanetOre-GF.F$F$F$F$
M7R0
I.JanetOre/pLCMf*6$%"aG%"bG6$%"iG%"LG6#%inCopyright~(C)~2000-2002~by~Carlos~F.~
Cid.~All~rights~reserved.G6"C%@$0&9$6#""#&9%F2-%&ERRORG6#%Oinput~for~pLCM~must~
be~in~the~same~list~entry.G>8%7#-%$seqG6$-%$maxG6$&F16$"""8$&F5FD/FF;FE%'_jnvar
G-%'RETURNG6#7$F;F0F,F,F,F,
M7R0
I4JanetOre/JBasisFastf*6$%"LG'%%varsG%%listG6@%%fextG%"cG%"iG%"jG%"lG%"rG%"vG%'
n_entrG%)rhs_entrG%'no_rhsG%"FG%$varG%(var_ordG%'vt_degG%(deg_ordG%$POTG%)tup_p
ermG%-inv_tup_permG%#IBG%&m_ordG%(do_normG%+time_boundG%#trG%)entr_posG%*quietm
odeG%%voffG%+trans_elemG%*donotreadG%+tracedenomG%+sigmadeltaG6#%jnCopyright~(C
)~2000-2010~by~Daniel~Robertz.~All~rights~reserved.G6"Cen@$0%5JanetOre/initiali
zedG.%%trueG-%.JanetOre/initGFJ?(8&"""FU9#FP@$3-%%typeG6$&9"6#FT%)equationG/-%#
opG6$FUFfnQ)GroebnerFJC$@$4-FZ6$-F\o6$""#Ffn%(booleanG-%&ERRORG6#%Oexpecting~bo
olean~value~for~option~"Groebner".G@$/FdoFP-%'RETURNG6#-%<JanetOre/JGroebnerBas
isFastG6#Fgn>8.-%3JanetOre/procinputG6#9$>8+&Fep6#FU>8,&Fep6#Ffo>8-&Fep6#""$@$&
Fep6#""&-Fio6#%YJBasisFast~cannot~compute~in~algebraic~field~extensions.G>8>&Fe
p6#""(>Fep-%'expandG6#&Fep6#""%>8/-%2JanetOre/procvarsG6$9%F[q>80&F[sFaq>81&F[s
Feq>82&F[sFhr>84&F[sFiq>8;&F[s6#""'>F[s&F[sF]q>%'_jnvarG-%%nopsG6#F[s@$0-%&minu
sG6$<#-F\o6#F_r<#-F\oFgt<"-Fio6#%Eno~parameters~allowed~in~JBasisFast.G>8*-%(co
nvertG6$-%+kerneloptsG6#%(versionG%'stringG@$30-%*substringG6$Fgu;FUFbrQ(Maple~
VFJ4-FZ6$Fep-%)listlistG6#-F(6#-%(polynomG6$%)rationalGF[s-Fio6#-%$catG6&%Mexpe
cting~list~of~(lists~of)~polynomials~in~G-F\o6#-%$mapG6$f*6#F/FJ6$%)operatorG%&
arrowGFJ-Fgw6$-Fiu6$FipF_vQ",FJFJFJFJ&F[s6#;FU!"#-Fiu6$&F[s6#!""F_v%".G>8%%0Jan
etOre/characG@%/Fas7">87Fir>Fjy7#-%"$G6$Fir-Fft6#Fas>88FP>8$Q!FJ>89""!>8:%&fals
eG>8<-%&evalbG6#52Fiz-%+searchtextG6$Q&APPLEFJFgu/-Fdv6$-Fiu6$-%*interfaceG6#.F
^vF_v;FU"#GQ=Standard~Worksheet~InterfaceFJ>8=FP>8?F\[l>8@F\[l@%331FfqFV-FZ6$&F
gnFeqF(54-FZ6$F`]l-F(6#%(integerG/F`]lFhyC$>8A-%2JanetOre/proccommG6$F[sF`]l>8)
FirC$>F[^l-F]^l6$F[sFhy>F`^lFfq@$0&F[^lFeqFhyF[r@$0&F[^lFhrFhyFcu>F[^l&F[^l6#;F
UFfo?(FTF`^lFUFVFP@)5-FZ6$FfnFg]l-FZ6$FfnF(>FjyFfn-FZ6$FfnF_v@)/FfnQ/tracerelat
ionsFJ>F[[lFP/FfnQ*donotreadFJ>Fg\lFP/FfnQ&denomFJ>Fi\lFPC$>8(Ffn?(8'FUFU-%'len
gthG6#Ff`lFP@&/&Ff`l6#Fh`lQ"NFJ>FczF\[l0F^alFfz-Fio6#%0invalid~option.GFY@5/F[o
Q%NameFJC$@$4-FZ6$FdoF_v-Fio6#%Fexpecting~a~string~for~option~"Name".G>FezFdo/F
[oQ%charFJC$@$4-FZ6$Fdo%*nonnegintG-Fio6#%Qexpecting~0~or~a~prime~number~for~op
tion~"char".G>FdyFdo/F[oQ%timeFJC$@$Ffbl-Fio6#%Sexpecting~time~bound~in~seconds
~for~option~"time".G>FhzFdo/F[oQ&quietFJC$@$Fao-Fio6#%Lexpecting~boolean~value~
for~option~"quiet".G>F^[lFdo/F[oQ(verboseFJ@'/FdoQ#onFJ>Fe\lF\[l/FdoQ$offFJ>Fe\
lFP-Fio6#%?expecting~string~"on"~or~"off"G/F[oF_`lC$@$Fao-Fio6#%Pexpecting~bool
ean~value~for~option~"donotread".G>Fg\lFdo/F[oFb`lC$@$Fao-Fio6#%Lexpecting~bool
ean~value~for~option~"denom".G>Fi\lFdoFjnFJ/F[oQ.tailreductionFJFJFcalFcal@$553
0FjyFfo0FjyFir2FU-Fft6#F]t3/FaflFU0&F]tF]qF[q-F_p6#-%1JanetOre/JIBasisGFcp@$0Fa
sFhy-Fio6#%XUp~to~now,~only~degrevlex~is~implemented~in~JBasisFast.G>Ff`l-%1Jan
etOre/procordG6*FjyF[sFasFdsFgsF[sF]tFP>83&Ff`lFhr@%0Fjs7#-F^z6#;FUF[qC$>85-F]x
6$f*6#F,6#F-FJFJC$-%'memberG6%FipT#.FezFezFJFJ6$F:FjsFigl>Fep-F]x6$f*FchlFdhlFJ
FJ-%'subsopG6$/FU7#-%$seqG6$&&FipF]q6#&Fihl6#Fez/Fez;FUT%FipFJFJ6&F:FjsF1F[qFep
>F_hlFjs>%*_jinv_denGFhy>%&J_HOMGFhy>86-%3JanetOre/cppJBasisG64FepF[sF[^lF[qFcq
FdyFegl&Fds6#;FUFdt&Fds6#;,&FdtFUFUFU,&FdtFUF[qFUF_hlFezFhzF[[lF^[lFe\lFg\lFi\l
Fhy@$Fg\l-F_pFJ@$Fi\l>Fcjl%-_JBOre_denomG>%*_jonnformGFiz>%)_joreducGFiz>%)_joc
rit1GFiz>%)_jocrit2GFiz>%)_jocrit3GFiz>%)_jocrit4GFiz@%330&FgjlF]q7#Fiz52FU-Fft
6#Fh\m0-F]x6$f*FchlFJFaxFJ-%'removeG6%%$hasGFipFizFJFJFJFh\m7#FhyFcz@%%2JanetOr
e/ratcoeffGC$@$Fi\l>Fcjl7$-F\o6#Fcjl-F\o6#-F]x6$f*FchlFJFaxFJ@$0&FiilF]qFUFf^mF
JFJFJ&FgjlFeq@%/FdyFiz>Fgjl7#-Ffil6$-Fer6#*&&Fh\mFhnFU&&&Fg^mFhnF]qF]qFay/FT;FU
F\]m>Fgjl7#-Ffil6$-Fer6#*&-%$modG6$*$Fb_mFayFdyFUFa_mFUFe_m>Fgjl-%$zipG6%f*6$F,
F-FJFaxFJ@%-FZ6$&&F_sF]qF]q%'negintG-Fer6#,$FipFayFipFJFJFJFh\mFg^m>FgjlFh\m@$F
hglC$>Fjs-F]x6$f*FchlFdhlFJFJC$FfhlFezFJFJF[ilFigl>Fgjl-F]x6$f*FchlFdhlFJFJ7$-F
fil6$&FipFjilF]jl-Ffil6$&FipF\jl/Fez;,&F_jlFUFUFU-FftFhpFJFJF`jlFgjl@$4Fcq@%/F[
qFU@%/F_qFUC&>Fep-F]x6$f*FchlFJFaxFJ@%/FiilFiz@%0&Fip6#,&FihlFUFUFUFizFUFizFayF
JFJ6$F1F[qFgjl>Fejl-F]x6$f*FchlFJFaxFJ@$/&FihlFhpFU&&F_jlFhp6#,&T'FUFUFUFJFJ6(F
4FepF<FgjlF1F[q7#-F^z6#;FU-Fft6#Fep>Fgjl-F]x6$f*FchlFJFaxFJ@$/FadmFay/&FcdmF]qF
bdmFJFJFgdmFhdm@$/FgjlFhy>Fgjl7#/FizFizC&>Fep-F]x6$f*FchlFJFaxFJ@%Fdcm@%0&Fip6#
;Ficm,&FihlFUF_jlFU7#-F^z6$FizF_jlFUFizFayFJFJ6&F1F[qF2F_qFgjl>Fejl-F]x6$f*Fchl
FJFaxFJ@$F`dm&Fcdm6#;Fedm,&FfdmFUT)FUFJFJ6*F4FepF<FgjlF1F[qF2F_qFhdm>Fgjl-F]x6$
f*FchlFJFaxFJ@$Fcem/FeemF`gmFJFJFegmFhdm@$Fgem>Fgjl7#/Fiz7#-F^z6$FizF_q@%F]cmC&
>Fep-F]x6$f*FchlFJFaxFJ@%/&Fip6#;FUFihl7#-F^z6$FizFihl@%FfcmFUFizFayFJFJFjcmFgj
l>Fejl-F]x6$f*FchlFJFaxFJ@$F`dmFbdmFJFJFgdmFhdm>Fgjl-F]x6$f*FchlFJFaxFJ@$Fcem/&
Fcdm6#;FUFfdmFbdmFJFJFgdmFhdm@$Fgem>Fgjl7#/7#-F^z6$FizF[qFizC&>Fep-F]x6$f*FchlF
JFaxFJ@%Fjhm@%FbfmFUFizFayFJFJFjfmFgjl>Fejl-F]x6$f*FchlFJFaxFJ@$F`dmF`gmFJFJFeg
mFhdm>Fgjl-F]x6$f*FchlFJFaxFJ@$Fcem/F]jmF`gmFJFJFegmFhdm@$Fgem>Fgjl7#/FdjmF`hm@
$-%)assignedG6#%-_JBOre_compaG@%F]cm>Fejl7$-F\o6#Fejl-F\o6#-F]x6$F\oFa\n>Fejl7$
Fe\n-F\oF`\n@$4Fi\l>Fcjl.FcjlFgjlFJ6+FdtF[\mFi[mF]\mF_\mFa\mFc\mFejlFcjlFJFJ
M7R0
I9JanetOre/restoreJ_T_Listf*6#%%dataG6"6#%jnCopyright~(C)~2006-2010~by~Daniel~R
obertz.~All~rights~reserved.GF&@$09$7"C3>%)J_T_ListG&F+6#""">%*jnumber_tG&F+6#"
"#>%)JTab_VarG&F+6#""$>%'_jnvarG&F+6#""%>%'_jpvarG&F+6#""&>%)_jvardegG&F+6#""'>
%)_jtupdegG&F+6#""(>%-_jentrblocksG&F+6#"")>%&J_HOMG&F+6#""*>%*_jpno_rhsG&F+6#"
#5>%*_jinv_denG&F+6#"#8>%1_jpforce_collectG&F+6#"#6>%/_jpforce_evalaG&F+6#"#7>%
._JBOre_factorG&F+6#"#9>%6_JBOre_factor_multvarG&F+6#"#:>%+_JBOre_varG&F+6#"#;>
%-_JBOre_compaG&F+6#"#<F&63F>FCFHFMF/F4F9FRFWFfnF`oFeoF[oFjoF_pFdpFipF&F&
M7R0
I4JanetOre/JSyzModulef*6$%"LG'%%varsG%%listG65%"aG%"iG%"jG%"lG%"rG%"vG%#L2G%"MG
%"SG%'optstrG%(do_simpG%$varG%&m_ordG%*zero_listG%'n_entrG%)rhs_entrG%&opvarG%#
GBG%'methodG6#%jnCopyright~(C)~2000-2010~by~Daniel~Robertz.~All~rights~reserved
.G6"C5@$0%5JanetOre/initializedG.%%trueG-%.JanetOre/initGF?>8*-%3JanetOre/proci
nputG6#9$@$4&FI6#""$-%&ERRORG6#%Fexpecting~L~without~right~hand~sides.G>82&FI6#
""">817#-%"$G6$""!FX>83-%%nopsG6#&FI6#""%>8(7#-Fjn6$F\oF^o>FI7#-%$seqG6$7$-%#op
G6#&&Fbo6#8%FZ-Fap6#-%'subsopG6$/FfpFenFfo/Ffp;FenF^o@%/FXFen>86Fen>Fbq""#>8-%%
NULLG>80Fdo>8+7">8.Fgq>85Fgq>FfoFR>84Fgq@$31FR9#-%%typeG6$&9"FQF(@&/F[sF\r>FfoF
do4-Fir6$F[s-F(6#%(integerGC$>FcrF[s>FfoFdo?(FfpFfoFenFgrFE@)5-Fir6$&F\sFepFes-
Fir6$F^tF(>FiqF^t-Fir6$F^t%'stringGC$>8'F^t?(8&FenFen-%'lengthG6#FgtFE@(/&Fgt6#
FitQ"NF?@%/FfqFgq>FfqFau>Ffq-%$catG6$FfqFau/F_uQ"SF?C$>F^rFju@%Fcu>FfqFju>Ffq-F
gu6$FfqFju0F_uQ!F?-FT6#%0invalid~option.G-Fir6$F^t%)equationG@)/-Fap6$FenF^tQ$m
odF?C&>F[r-Fap6$FdqF^t>8)-%*substringG6$-%(convertG6$-%+kerneloptsG6#%(versionG
Fdt;Fen"")@$5-Fir6$F[r%'matrixG330FdwQ)Maple~V,F?0FdwQ)Maple~6.F?-Fir6$F[r%'Mat
rixG>F[r-Fiw6$F[r%)listlistG@$0F[rF\rC%>8,-FK6#F[r@$4&FgyFQ-FT6#%gnexpecting~ar
gument~to~option~"mod"~without~right~hand~sides.G>FI7$-Fap6#FI-Fap6#-%$mapG6$f*
6#F*F?6$%)operatorG%&arrowGF?7$-Fap6#&FMFZ-Fjn6$F\oT#F?F?6$F9F^o&FgyFco/F\wQ)Gr
oebnerF?C$@$4-Fir6$Faw%(booleanG-FT6#%Oexpecting~boolean~value~for~option~"Groe
bner".G@$/FawFE>F`r/Fh[lFE/F\wQ'methodF?C$@$4-Fir6$FawFdt-FT6#%enexpecting~a~st
ring~as~right~hand~side~for~option~"method".G@)/FawQ$POTF?>FbqFen/FawQ&blockF?>
FbqFdq/FawQ)SyzygiesF?>FbqFR-FT6#%2undefined~method.GFdvFdv@)/FbqFenC&>8/-%2Jan
etOre/procvarsG6$9%FX>FI-%1JanetOre/JIBasisG6'FI&Fa^lFZFcrFdqF`r>Fgy-Fgz6$f*Fjz
F?F[[lF?&FM6#;,&Fd[lFenFenFen,&Fd[lFenT%FenF?F?6&F8FXF9F^o-%'selectG6$f*FjzF?F[
[lF?-%&evalbG6#/&FM6#;FenFd_lFd[lF?F?6&F7FgnF8FXFI@%/FgyF\r@%/F^oFen7#F\o7#Fgo@
%5550&Fa^l6#FdqF\r0&Fa^lFQ7$-Fjn6$Fen-F`o6#Fj^lFin0&Fa^l6#""'7#FX0FiqFdq-Fh^l6'
FgyFe^lFcrFiqF`r@%Fe`l-Fgz6$FapFgyFgy/FbqFdqC&>Fa^lFb^l>FI-Fh^l6&FI7%-FapFeal7#
-Fjn6#;FenFX7#-Fjn6#;,&FXFenFenFen,&FXFenF^oFenFcrF`r>Fgy-Fgz6$f*FjzF?F[[lF?F__
lF?F?Fe_l-Fg_l6$f*FjzF?F[[lF?Fj_lF?F?Fa`lFI@%Fc`l@%Fe`lFf`lFg`l@%5Fj`l0FiqFdoF\
bl@%Fe`lF_blFgy/FbqFRC&>FI-%1JanetOre/JAddRhsGFL@%Fdy-%0JanetOre/JBasisG6'7$Fbz
-FapFiyFe^lFcrFiqFfq-Fgdl6'FIFe^lFcrFiqFfq>Fgy-%3JanetOre/JSyzygiesG6'FIFe^lFcr
FiqF^r@%Fc`l-Fgdl6(7#FgnFe^lFcrFiqFfqF`r-Fgdl6(FgyFe^lFcrFiqFfqF`rFj]lF?F?F?F?
M7R0
I;JanetOre/JSyzygyModuleFastf*6$%"LG'%%varsG%%listG6@%"aG%"cG%"iG%"jG%"lG%"rG%"
vG%'n_entrG%)rhs_entrG%"FG%"MG%&m_ordG%%fextG%$varG%%nvarG%$POTG%)entr_posG%(va
r_ordG%'vt_degG%(deg_ordG%)tup_permG%#GBG%#IBG%*zero_listG%(do_normG%+time_boun
dG%%voffG%+sigmadeltaG%*quietmodeG%+tracedenomG6#%jnCopyright~(C)~2002-2010~by~
Daniel~Robertz.~All~rights~reserved.G6"CP@$0%5JanetOre/initializedG.%%trueG-%.J
anetOre/initGFJ>8--%3JanetOre/procinputG6#9$>8+&FT6#"""@$4&FT6#""$-%&ERRORG6#%F
expecting~L~without~right~hand~sides.G@$&FT6#""&-F^o6#%jnJSyzygyModuleFast~cann
ot~compute~in~algebraic~field~extensions.G>FT-%'expandG6#&FT6#""%>8,-%%nopsG6#F
T>8)7#-%"$G6$""!F`p>FT7#-%$seqG6$-%'subsopG6$/Fgn7$-%#opG6#&FT6$8&Fgn-Ffq6#-Faq
6$/FjqFgnFep&FT6#Fjq/Fjq;FgnFap>81-%2JanetOre/procvarsG6$9%FZ>85&Fer6#""#>86&Fe
rF[o>87&FerF]p>88&FerFco>84&Fer6#""'>Fer&FerFfn>82-Fbp6#Fer@$0-%&minusG6$-%'ind
etsGFcp<#-FfqFbt<"-F^o6#%Lno~parameters~allowed~in~JSyzygyModuleFast.G@%331F\o9
#-%%typeG6$&9"F[oF(54-Ffu6$Fhu-F(6#%(integerG/Fhu7"C$>8?-%2JanetOre/proccommG6$
FerFhu>FepF^pC$>Fev-Fgv6$FerFbv>FepF\o@$0&FevF[oFbvFeo@$0&FevF]pFbvF]u>Fev&Fev6
#;FgnF^s>8%%0JanetOre/characG>80Q!FJ>8<FP@%/F[sFbv>8/F^p>Fdx7#-Fhp6$F^p-Fbp6#F[
s>8=Fjp>89%&falseG>8*-%(convertG6$-%+kerneloptsG6#%(versionG%'stringG>8@-%&eval
bG6#552Fjp-%+searchtextG6$Q&APPLEFJFay/-%*substringG6$-Fcy6$-%*interfaceG6#.Fhy
Fiy;Fgn"#GQ=Standard~Worksheet~InterfaceFJ/%4JanetOre/JInvoBasisG%:JanetOre/JBa
sisFastAssertG>8>FP>8AF_y?(FjqFepFgnFduFP@)5-Ffu6$&FiuFarF`v-Ffu6$F_\lF(>FdxF_\
l-Ffu6$F_\lFiy@%/F_\lQ&denomFJ>Fi[lFPC$>8(F_\l?(8'FgnFgn-%'lengthG6#F[]lFP@&/&F
[]l6#F]]lQ"NFJ>F`xF_y0Fc]lF^x-F^o6#%0invalid~option.G-Ffu6$F_\l%)equationG@3/-F
fq6$FgnF_\lQ%NameFJC$@$4-Ffu6$-Ffq6$F^sF_\lFiy-F^o6#%Fexpecting~a~string~for~op
tion~"Name".G>F]xFh^l/F`^lQ$modFJC%>Fay-Fhz6$Fay;Fgn"")>8.Fh^l@%55-Ffu6$Fg_lF(-
Ffu6$Fg_l%'matrixG330FayQ)Maple~V,FJ0FayQ)Maple~6.FJ-Ffu6$Fg_l%'MatrixG@$0Fg_lF
bvC'>Fg_l-FV6#Fg_l@$4&Fg_lF[o-F^o6#%gnexpecting~argument~to~option~"mod"~withou
t~right~hand~sides.G@$&Fg_lFcoFeo>Fg_l-%$mapG6$f*6#F*FJ6$%)operatorG%&arrowGFJ-
Faq6$/Fgn7$-Ffq6#&FXFfn-Fhp6$FjpT#FXFJFJ6$F2F`p&Fg_lF]p>FT7$-FfqFcp-FfqF^al-F^o
6#%Wexpecting~list~or~matrix~as~argument~for~option~"mod".G/F`^lQ%charFJC$@$4-F
fu6$Fh^l%*nonnegintG-F^o6#%Qexpecting~0~or~a~prime~number~for~option~"char".G>F
jwFh^l/F`^lQ%timeFJC$@$Fgcl-F^o6#%Sexpecting~time~bound~in~seconds~for~option~"
time".G>F\yFh^l/F`^lQ)GroebnerFJC$@$4-Ffu6$Fh^l%(booleanG-F^o6#%Oexpecting~bool
ean~value~for~option~"Groebner".G>F^yFh^l/F`^lQ&quietFJC$@$F[el-F^o6#%Lexpectin
g~boolean~value~for~option~"quiet".G>F[zFh^l/F`^lFg\lC$@$F[el-F^o6#%Lexpecting~
boolean~value~for~option~"denom".G>Fi[lFh^l/F`^lQ(verboseFJ@'/Fh^lQ#onFJ>Fg[lF_
y/Fh^lQ$offFJ>Fg[lFP-F^o6#%?expecting~string~"on"~or~"off"GFh]lFh]l@$5530FdxF^s
0FdxF^p2Fgn-Fbp6#Fis3/FeglFgn0&FisFfnFZ-%'RETURNG6#-%4JanetOre/JSyzModuleG6#Fiu
@$0F[sFbv-F^o6#%inUp~to~now,~only~degrevlex~is~implemented~in~JSyzygyModuleFast
.G>F[]l-%1JanetOre/procordG6*FdxFerF[sF`sFcsFerFisFP>83&F[]lF]p>8;7#-Fhp6$FjpFZ
@$-%$hasG6$-Fial6$f*F\blFJF]blFJ3-Ffu6$Ffbl-F(6#-%(polynomG6$%)anythingGFibl-Ff
u6$&FXF]sF\jlFJFJ6$F7FerFTF_y-F^o6#-%$catG6%%Oexpecting~a~list~of~(lists~of)~po
lynomials~in~G-Fcy6$FerFiy%4~as~first~argument.G@$0Ffs7#-Fhp6#;FgnFZ>FT-Fial6$f
*6#F,6#F-FJFJ-Faq6$/Fgn7$-F^q6$&Ffbl6#&Fibl6#8$/Fe\m;FgnT%-F^q6$&FfblFd\m/Fe\m;
,&Fh\mFgnFgnFgn-FbpFeblFXFJFJ6&F>FfsF1FZFT>8:-%3JanetOre/cppJBasisG64FTFerFev,&
FZFgnF`pFgnFPFjwFP&F`s6#;FgnF`t7$-Ffq6#&F`s6#;,&F`tFgnFgnFgn,&F`tFgnFZFgnFgpFa[
mF]xF\yF_yF[zFg[lF_yFi[lQ)invbasisFJ@$3Fi[l-%)assignedG6#%-_JBOre_denomG>%*_jin
v_denGFh^m>Fb]m-%'selectG6$f*F\blFJF]blFJ-F]z6#/&FX6#Fg\mFiblFJFJ6&FAF^ilF1FZ&F
b]mFfn@%/Fb]mFbv@%/F`pFgn>Fb]m7#Fjp>Fb]m7#FfpC&>Fb]m-Fd]m64-Fial6$f*F\blFJF]blF
J7$&FX6#;,&FiblFgnFgnFgn,&FiblFgnFh\mFgnF\`mFJFJ6&F1FZF2F`pFb]mFerFevF`pFPFjwF[
ilFg]mFfp7#-Fhp6#;FgnF`pF]xF\yF_yF[zFg[lF_yFi[lQboinvbasis,invbasislm,invbasisa
nc,multvar,factormodulebasis,compatibilityFJ@$Fd^m>Fj^m7$-Ffq6#Fj^m-FfqFg^m@$F^
yC$>F[]l-F]_m6$f*Fi[mFJF]blFJ/&&&FiblF]sFWFfn&&&&FiblF[oFWFfnF]sFJFJ6$F@Fb]m7#-
Fhp6#;Fgn-Fbp6#Ff_m>Fb]m-Fial6$f*Fi[mFJF]blFJ7#-F^q6$&FX6#&Fibl6#Fh\m/Fh\m;Fgn-
Fbp6#FiblFJFJ6&F.F[]lF-F]]lFb]m@%F`x@%%2JanetOre/ratcoeffGC$@$Fi[l>Fj^m7$Feam-F
fq6#-Fial6$f*Fi[mFJF]blFJ@$0&FfblFfnFgnF[emFJFJFJ&Fb]mF[o@%/FjwFjp>Fb]m7#-F^q6$
-Fjo6#*&&Ff_mFarFgn&&&F\emFarFfnFfn!""/FjqFjbm>Fb]m7#-F^q6$-Fjo6#*&-%$modG6$*$F
gemFjemFjwFgnFfemFgnF[fm>Fb]m-%$zipG6%f*6$F,F-FJF]blFJ@%-Ffu6$&&FirFfnFfn%'negi
ntG-Fjo6#,$FXFjemFXFJFJFJFf_mF\em>Fb]mFf_m@$4Fi[l>Fj^m.Fj^mFb]mFJFfamFJFJ
M7R0
I7JanetOre/JMultiplicityf*6"6#%#hpG6#%^pCopyright~(C)~2007-2010~by~Thomas~Baech
ler~and~Daniel~Robertz.~All~rights~reserved.GF$C$>8$-%-JanetOre/JHPG6#9"*&-%*fa
ctorialG6#-%'degreeG6#F+"""-%'lcoeffGF6F7F$F$F$F$
M7R0
I3JanetOre/JCokernelf*6%%#_AG%#_NG'%$varG%%listG6$%"AG%"NG6#%^pCopyright~(C)~20
03-2010~by~Mohamed~Barakat~and~Daniel~Robertz.~All~rights~reserved.G6"C%>8$-%4J
anetOre/jets_mkmatG6#-%$mapG6$f*6#%"aGF/6$%)operatorG%&arrowGF/&9$6#"""F/F/F/&-
%3JanetOre/procinputG6#F@6#""%>8%-F46#-F76$f*F:F/F<F/F?F/F/F/&-FE6#9%FG-%0Janet
Ore/JBasisG6$-F76$%#opG-F76%%(convertG7$F2FJ%)listlistG&9"6#;""$!""F/F/F/F/
M7R0
I/JanetOreT/initf*6"F$6#%jnCopyright~(C)~2003-2010~by~Daniel~Robertz.~All~right
s~reserved.GF$-%.JanetOre/initG6#9"F$F$F$F$
M7R0
I@JanetOre/block_ord_Z_entr_blockf*6&%"aG%"bG%$sepG%+termordersG6#%"iG6#%jnCopy
right~(C)~2006-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C$@&2&%-_jentrblo
cksG6#&9$6#""#&F26#&9%F6-%'RETURNG6#%&falseG2F8F1-F=6#%%trueG@'4-&9'6#"""6$7$&&
F5FI6#;FJ&9&FIF47$&&F;FIFOF:F?/FMFTC$?(8$F7FJ-%%nopsG6#FRFC@&4-&FH6#FY6$7$&FN6#
;,&&FR6#,&FYFJ!""FJFJFJFJ&FRF[oF47$&FUF_oF:F<0F^oFhoFA@)2-%$absG6#&F;6#""$-F]p6
#&F5F`pF?2FbpF\pFC2F4F:F?FCFCF-F-F-F-
M7R0
I2JanetOre/pnegtdegf*6%%"aG%"bG%%seqvG6$%#d1G%#d2G6#%jnCopyright~(C)~2004-2010~
by~Daniel~Robertz.~All~rights~reserved.G6"C%>8$-%'degreeG6$9$<#-%#opG6#9&>8%-F2
6$9%F5@%52F;F03/F0F;-&%)GroebnerG6#%*testorderG6%F4F>-%%tdegG6#F6%%trueG%&false
GF-F-F-F-
M7R0
I5JanetOre/pinv_dividef*6%%"aG%"dG%"bG6#%"iG6#%\pCopyright~(C)~2000-2010~by~Car
los~F.~Cid~and~Daniel~Robertz.~All~rights~reserved.G6"C%@$0&9$6#""#&9&F2-%'RETU
RNG6#%&falseG?(8$"""F<%'_jnvarG%%trueG@$52&F56$F<F;&F1FC2&9%6#F;,&FBF<FD!""F6F>
F,F,F,F,
M7R0
I2JanetOre/procvarsf*6$'%%varsG%%listG%'n_entrG60%"aG%"iG%"jG%"lG%"vG%$varG%(va
r_ordG%(deg_ordG%(var_degG%(tup_degG%)tup_permG%(tup_numG%'blocksG%)entr_posG6#
%jnCopyright~(C)~2000-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C:>8)%%NUL
LG>8*F>>8,F>>8+F>>8-7#-%"$G6$""!9%>8.F>>817">8/7#-FI6#;"""FL>8'FX@$/9$FQ-%&ERRO
RG6#%Oexpecting~non-empty~list~of~variables~in~vars.G?(8%FXFX-%%nopsG6#Fgn%%tru
eG@%-%%typeG6$&Fgn6#F]oF'C%@$/FfoFQ-Fin6#%Punexpected~empty~list~in~the~list~of
~variables.G@%-Fdo6$&Ffo6#FX%)equationG>8&-%#opG6$FXFap>FepFap@)-Fdo6$Fep%*nonp
osintG-Fin6$%Zi-th~standard~basis~vector~does~not~exist~in~given~moduleG/.F]oFe
p-Fdo6$Fep%'posintGC)@&/FZFX>80Fao4Fjq-Fin6#%`pexpecting~either~a~sequence~of~e
ntry~numbers~or~a~sequence~of~lists~of~entry~numbers.G>8(-%$mapG6$f*6#F*F:6$%)o
peratorG%&arrowGF:@%-Fdo6$FgnFcp7$-Fgp6$FXFgn-Fgp6$""#Fgn7$FgnFKF:F:F:Ffo>Fep-%
'selectG6$f*FerF:FfrF:-%&evalbG6#52&FgnFbpFX2T$F]tF:F:6$F(FLF`r@$0FepFQ-Fin6$F`
q/Fbq&&FepFbpFbp?(FepFXFX-F_o6#F`rFao@%/&FS6#&&F`r6#FepFbpFK-Fin6#%inentry~numb
ers~are~not~allowed~to~occur~more~than~once~in~vars.GC%>FN6$FNF_u>FS-%'subsopG6
$/F_uFKFS>FF-Fju6$/F_u&F`u6#FasFF@%/FPFQ>FP7#Fit>FP7$-Fgp6#FP,&&FP6#!""FXFitFX>
FZ,&FZFXFitFX-Fdo6$Fep%%nameGC*@$2FXFZ-Fin6#%`pin~the~variable~list~the~numbers
~of~standard~basis~vectors~must~follow~the~variables.G@&/F=F>>FjqFaoF[r-Fin6#%h
oexpecting~either~a~sequence~of~variables~or~a~sequence~of~lists~of~variables.G
>F`r-Fbr6$f*FerF:FfrF:@%FjrF\s7$FgnFXF:F:F:Ffo@$0-F_o6#-Fes6%%(hastypeG-Fbr6$f*
FerF:FfrF:F]tF:F:F:F`rFcwFit-Fin6#%@variables~must~be~of~type~name.G>F=6$F=-Fgp
6#-Fbr6$f*FerF:FfrF:F]tF:F:F:F`r>FB6$FB-Fgp6#-Fbr6$f*FerF:FfrF:&FgnFbvF:F:F:F`r
>F@6$F@-Fbr6$f*FerF:FfrF:F]tF:F:F:F`r>FD6$FD-Fbr6$f*FerF:FfrF:FazF:F:F:F`rF`yC$
@%-Fdo6$FfoFcp>Fep-Fgp6$FXFfo>FepFfo@)F[qF^qFcq@$2FKFLC&@&Fhq>Fjq%&falseGFjqF\r
@$2FLFepF^q@%/&FSFauFKFbuC%>FN6$FNFep>FS-Fju6$/FepFKFS@$F^[l>FF-Fju6$/Fep-Fgp6$
FasFfoFF>FZ,&FZFXFXFXFawC'@$FfwFgw@$0F@F>-Fin6#%aovars~must~contain~names~for~v
ariables~or~lists~of~names~for~variables.G@&F[x>FjqFj[lFjq-Fin6#%\oexpecting~ei
ther~list~of~variables~or~list~of~lists~of~variables.G>F=6$F=Fep@%F^[l>FB6$FBF\
]l>FB6$FBFXF`y@%-%$hasG6$FSFK@$0-%'removeG6%Fe^lFSFKFQ-Fin6#%\rexpecting~all~en
try~numbers~to~appear~in~the~list~of~variables~for~definition~of~non-standard~o
rdering~of~tuples.G>FNFU>FB7#FB@$4-Fdo6$FB-F'6#Feq-Fin6#%Qexpecting~natural~num
ber~as~degree~for~variable.G@$4-Fdo6$FF-F'6#%(integerG-Fin6#%Wexpecting~integer
~as~degree~for~standard~basis~vector.G@$Fdv>FP7#FL>%-_jentrblocksGFQ>F]oFX?(F:F
XFXF:1F]oFLC&>FepFX?(F:FXFXF:31Fep-F_oFjv2&FPFauF]o>Fep,&FepFXFXFX@%Faal>Fi`l7$
-Fgp6#Fi`lFep[>F]o,&F]oFXFXFX>Fi`l7$Fjal-FI6#;F]oFL>%*_jovardegGFB>%*_jotupdegG
FF@$0-F_o6#7#F=-F_o6#<#F=-Fin6#%aothe~list~of~variables~contains~a~certain~vari
able~name~more~than~once.G7(F\cl7#F@7$-Fgp6#FB-Fgp6#FF7#FD7#FNFPF:6%FeblFgblFi`
lF:F:
M7R0
I<JanetOre/jnormal_form_evalaf*6)%"fG%"FG%%seqvG%(mulprocG%'lmprocG%'ppprocG%(l
oc_varG66%"aG%"gG%"hG%"iG%"kG%"rG%#lgG%#lmG%(termo_hG%$divG%'n_entrG%*zero_list
G%.rhs_zero_listG%#lvG%#nlG%#nvG%"HG%"eG%#meG%#hiG6#%\pCopyright~(C)~2000-2010~
by~Carlos~F.~Cid~and~Daniel~Robertz.~All~rights~reserved.G6"C,>%*_jonnformG,&FF
"""FHFH>8&9$>8.-%%nopsG6#&FJ6#FH@$09*7"C'>81<#-%$seqG6$&9&6#&FU6#8'/F]o;FH-FO6#
FU>82-FO6#FY>83-%'removeG6%%$hasGFinFY>84FV>FJ7$-%7JanetOre/cancel_locvarG6%FQF
inFU-Fap6%&FJ6#""#FinFU>8/7#-%"$G6$""!FM>807#-F\q6$F^q-FO6#Fep>8)7$FipF`q>8+-9(
FP?(FCFHFHFC0&Fjq6$FgpFHF^qC)>F]oFH>8-%&falseG>8,*&F_rFH&Fjq6$FgpFgpFH@$FT>85,&
-%$maxG6#-Ffn6$-%'degreeG6$&FQ6#8(FY/Fis;FHFMFH-%$addG6$&&Fjq6$FHFH6#&FUFhs/Fis
;FHFco!""?(FCFHFHFC31F]o-FO6#9%4Fdr@%-%5JanetOre/pinv_divideG6%&F\u6$F]o""$&F\u
6$F]o""&&FjqFRC%>%)_joreducG,&F[vFHFHFH@%FTC,>86,&-F`s6#-Ffn6$-Fes6$&&F\u6%F]oF
HFHFhsFYFjsFH-F]t6$&&F\u6%F]oFduFHFbtFdtFft>87F^q>Fis-FO6#F]p?(FCFHFHFC32F^qF`v
2F^qFisC$@$331&&F]pFhs6#FduF`v/&&&F_xFfpFRFfp&FhuFfp-%8JanetOre/conv_divisibleG
6$FcxFhuC$>FawFis>F`vF^x>Fis,&FisFHFftFH@$3Fgw0&FgqFRFip[@$2F]sF`vC$>Fis-9)6%FQ
Fin7$Fep&&FjqFfpFR>F]p7$-%#opGFdw7%7$&FisFR&&FisFfpFR7$Fhu-%'subsopG6$/FH&FezFf
pF\zF]s@%/FawF^q>FJ-%)simplifyG6#7$,&-%$mapG6$f*6#F-FC6$%)operatorG%&arrowGFC*(
T#FH&T&6%T'""'FgpFftFKFHFCFC6(F5FgrF&F\uF0F]oFivFft-Fe[l6$f*Fh[lFCFi[lFC*&&T$6%
T%Fb\lFHFHFKFHFCFC6&F&F\uF0F]oFQFH,&-Fe[l6$f*Fh[lFCFi[lFCF\\lFCFCFc\l&F\u6%F]oF
HFgpFft-Fe[l6$f*Fh[lFCFi[lFCFg\lFCFCF\]lFepFH>FJ-F`[l6#7$,&-Fe[l6$f*Fh[lFCFi[lF
C*(F]\lFH&&&&F[]l6#Fa\lFfpFfpFfpFftFKFHFCFC6(F5FgrF=F]pF@Faw&&&F]p6#FawFRFRFft-
Fe[l6$f*Fh[lFCFi[lFC*&&&&&F]\l6#F[]lFfpFfpFRFHFKFHFCFC6&F=F]pF@FawFQFH,&-Fe[l6$
f*Fh[lFCFi[lFCF^^lFCFCFd^l&Ff^lFfpFft-Fe[l6$f*Fh[lFCFi[lFCF\_lFCFCFb_lFepFH>FJ-
Fhy6%FQFinFep>FJF_p@$0%0JanetOre/characGF^q>FJ-%$modG6$FJFa`l@%/Fa`lF^qC'>Fis-%
'normalG6#-%&evalaG6#*(F_rFHFirFH&F\u6%F]oFb\lFgpFft>8%-%(collectG6%-F[al6#-F^a
l6#7$-Fe[l6$f*Fh[lFCFi[lFC-F_\l6$F]\lFKFCFC6&F1FisF(9'Fiv-Fe[l6$f*Fh[lFCFi[lFCF
`blFCFCFbblFa]lFin%,distributedG>8*-F\r6#&FdalFR>Fis-F[al6#-F^al6#*&&FiblF`rFHF
_rFft>FJ-Ffal6&-F[al6#-F^al6#7$,&-Fe[l6$f*Fh[lFCFi[lFC*&F]\lFHFKFHFCFC6$F1FisFQ
FHF\clFft,&-Fe[l6$f*Fh[lFCFi[lFCF`dlFCFCFadlFepFH&FdalFfpFftFinFgblF^alC'>Fis-F
d`l6$-%'NormalGF\alFa`l>Fdal-Ffal6%-Fd`l6$-F\el6#-F^al6#7$-Fe[l6$f*Fh[lFCFi[lFC
F`blFCFCFbblFiv-Fe[l6$f*Fh[lFCFi[lFCF`blFCFCFbblFa]lFa`lFinFgbl>FiblFjbl>Fis-Fd
`l6$-F\elF_clFa`l>FJ-Ffal6&-Fd`l6$-F\el6#-F^al6#7$,&-Fe[l6$f*Fh[lFCFi[lFCF`dlFC
FCFadlFQFHF\clFft,&-Fe[l6$f*Fh[lFCFi[lFCF`dlFCFCFadlFepFHFfdlFftFa`lFinFgblF^al
>Fdr%%trueG>F]o,&F]oFHFHFH@%F]uC$>Fgq7$-Fhz6$/&Fjq6$FHFgp-Ffal6%,&&Fay6#F_hlFHF
hrFHFinFgblFay&FgqFfp>FJ7$-Fhz6$/F_hl-Ffal6%,&&FQFehlFHFhrFftFinFgblFQFep@%Fg`l
>Fgq-Ffal6%7$-F[al6#-F^al6#-Fe[l6$f*Fh[lFCFi[lFCF`dlFCFCFadlFay-F[al6#-F^al6#-F
e[l6$f*Fh[lFCFi[lFCF`dlFCFCFadlFfhlFinFgbl>Fgq-Ffal6%7$-Fd`l6$-F\el6#-F^al6#-Fe
[l6$f*Fh[lFCFi[lFCF`dlFCFCFadlFayFa`l-Fd`l6$-F\el6#-F^al6#-Fe[l6$f*Fh[lFCFi[lFC
F`dlFCFCFadlFfhlFa`lFinFgbl>FjqF[r@'3/FayFip0FepF`qC%>Fep&-Fhy6%FepFinFVFR@$4-%
5JanetOre/member_multG6%Fep%&J_HOMGFin>Fh\m7$-F`z6#Fh\mFep7$FayF`qF\\m7$FipFep-
Fhy6%FayFinFepFC6%Fh\mFFF[vFCFC
M7R0
I3JanetOre/invred_lcf*6*%"fG%"TG%'no_rhsG%.return_coeffsG%%seqvG%(mulprocG%'lmp
rocG%(loc_varG66%"aG%"cG%"hG%#h2G%"iG%"kG%#lmG%"nG%"qG%"rG%$divG%'n_entrG%(term
o_hG%*zero_listG%#lvG%#nlG%"HG%"eG%#meG%#hiG6#%\pCopyright~(C)~2000-2010~by~Car
los~F.~Cid~and~Daniel~Robertz.~All~rights~reserved.G6"C0>8/-%%nopsG6#&9$6#""">8
17#-%"$G6$""!FG>8&FK@$49&>8'&FL6#""#@$09+7"C'>82<#-%$seqG6$&9(6#&F\o6#8(/Fjo;FN
-FI6#F\o>83-FI6#F`o>84F]o>FW-%7JanetOre/cancel_locvarG6%FWFfoF\o@$FY>Ffn-Fgp6%F
fnFfoF\o>8+-FI6#9%>8-FP>8%7#-FS6$FUF^q>8,FN>8*-9*6#FW?(FDFNFNFD0&F\r6$FinFNFUC)
>FjoFN>8.%&falseG>80*&FbrFN&F\r6$FinFinFN@$F[o>85,&-%$maxG6#-Fco6$-%'degreeG6$&
FW6#8)F`o/F\t;FNFGFN-%$addG6$&&F\r6$FNFN6#&F\oF[t/F\t;FNF`p!""?(FDFNFNFD31FjoF^
q4Fgr@%-%5JanetOre/pinv_divideG6%&Faq6$Fjo""$&Faq6$Fjo""&&F\rFMC$@%F[oC,>86,&-F
cs6#-Fco6$-Fhs6$&&Faq6%FjoFNFNF[tF`oF]tFN-F`t6$&&Faq6%FjoFduFNFetFgtFit>87FU>F\
tFN?(FDFNFNFD32FUF]v1F\t-FI6#FdpC$@$332&&FdpF[t6#FduF]v/&&&F\xFhnFMFhn&FhuFhn-%
8JanetOre/conv_divisibleG6$F`xFhuC$>F^wF\t>F]vF[x>F\t,&F\tFNFNFN@$3Fbw0FcqFP[@$
2F`sF]v>Fdp7$-%#opGFew7%7$FWFfnF\rF`s@%/F^wFUC$>FW-%'expandG6#,&*&&Faq6%Fjo""'F
NFNFWFNFN*(FjrFN&Faq6%FjoFbzFinFitFfvFNFit@$FY>Ffn-F\z6#,&*&F`zFNFfnFNFN*(FjrFN
FdzFit&Faq6%FjoFNFinFNFitC$>FW-F\z6#,&*&&&&&Fdp6#F^wFhnFhnFMFNFWFNFN*(FjrFN&Ff[
lFhnFit&&Fh[lFMFMFNFit@$FY>Ffn-F\z6#,&*&Fe[lFNFfnFNFN*(FjrFNF[\lFit&F]\lFhnFNFi
t>FWFfp@$FY>FfnF[q@$0%0JanetOre/characGFUC$>FW-%$modG6$FWF[]l@$FY>Ffn-F_]l6$Ffn
F[]l@%/F[]lFUC%>F\t-%'normalG6#*(FbrFNF\sFNFdzFit>FW-Fj]l6#,&-%$mapG6$f*6#F.FD6
$%)operatorG%&arrowGFD*&&T$6%T%FbzFNFNFLFNFDFD6&F&FaqF2FjoFWFN-Fb^l6$f*Fe^lFDFf
^lFD-T&6$T#FLFDFD6&F3F\tF*9)FfvFit@$FY>Ffn-Fj]l6#,&-Fb^l6$f*Fe^lFDFf^lFDFi^lFDF
DF^_lFfnFN-Fb^l6$f*Fe^lFDFf^lFDFb_lFDFDFf_lF][lFitC%>F\t-F_]l6$-%'NormalGF[^lF[
]l>FW-F_]l6$-Fh`l6#,&-Fb^l6$f*Fe^lFDFf^lFDFi^lFDFDF^_lFWFN-Fb^l6$f*Fe^lFDFf^lFD
Fb_lFDFDFf_lFfvFitF[]l@$FY>Ffn-F_]l6$-Fh`l6#,&-Fb^l6$f*Fe^lFDFf^lFDFi^lFDFDF^_l
FfnFN-Fb^l6$f*Fe^lFDFf^lFDFb_lFDFDFf_lF][lFitF[]l>Fgr%%trueG>Fjo,&FjoFNFNFN@%F]
u@%Ff]lC$>Fcq-%'subsopG6$/&F\r6$FNFin-Fj]l6#,&&Fcq6#F^clFNFjrFNFcq>FW-F[cl6$/F^
cl-Fj]l6#,&&FWFdclFNFjrFitFWC$>Fcq-F[cl6$/F^cl-F_]l6$-Fh`lFaclF[]lFcq>FW-F[cl6$
/F^cl-F_]l6$-Fh`lFjclF[]lFWC%@%Ff]l>Fcq*&F`zFNFcqFN>Fcq-F_]l6$F_elF[]l>Fjq*&F`z
FNFjqFN@$9'@%Ff]l>Feq-F[cl6$/Fjo,&&FeqFioFN*(FjrFNFjqFitFdzFitFNFeq>Feq-F_]l6$F
ielF[]l>F\rF]r@$3F]y0FjqFN@%Ff]l>Fcq-Fj]l6#*&FcqFNFjqFit>Fcq-F_]l6$-Fh`lFiflF[]
l@$3FYFefl@%Ff]l>Ffn-Fj]l6#*&FfnFNFjqFit>Ffn-F_]l6$-Fh`lFdglF[]l7$7$FcqFfnFeqFD
FDFDFD
M7R0
I2JanetOre/invred_Zf*6*%"fG%"TG%'no_rhsG%.return_coeffsG%%seqvG%(mulprocG%'lmpr
ocG%(loc_varG64%"cG%"eG%"hG%#h2G%"iG%"jG%"kG%"lG%#lmG%"nG%"rG%$divG%'n_entrG%(t
ermo_hG%*zero_listG%#lvG%#nlG%"HG6#%\pCopyright~(C)~2000-2010~by~Carlos~F.~Cid~
and~Daniel~Robertz.~All~rights~reserved.G6"C,>80-%%nopsG6#&9$6#""">827#-%"$G6$"
"!FE>8&FI@$49&>8'&FJ6#""#>8--FG6#9%>8.FN>8$7#-FQ6$FSFin>8,-9*6#FU?(FBFLFLFB0&Fe
o6$FgnFLFSC)>8(FL>8/%&falseG>8)&Feo6$FLFgn>81-%'subsopG6$/Fdp&Feo6$FgnFgnFN?(FB
FLFLFB31F_pFin4FapC$@$-%5JanetOre/pinv_divideG6%&F\o6$F_p""$&F\o6$F_p""&&FeoFKC
$>8+-%%iquoG6$F[p&F\o6%F_p""'FL@$0FarFSC%>FU-%'expandG6#,&FUFL-9)6$*(FarFLF]qFL
&F\o6%F_pFgrFgn!""&F\o6%F_pFLFLFfs@$FW>FZ-F]s6#,&FZFL-Fas6$Fcs&F\o6%F_pFLFgnFfs
>Fap%%trueG>F_p,&F_pFLFLFL@%FbqC$>F^o-F]s6#,&F^oFL*&F[pFLFhpFLFL>FU-F]s6#,&FUFL
F\uFfs@$9'C$>F_p,&F_pFLFfsFL>F`o-Fjp6$/F_p,&&F`o6#F_pFLFcsFLF`o>FeoFfo7$7$F^oFZ
F`oFBFBFBFB
M7R0
I5JanetOre/checkIBfastf*6('%"BG%%listG'%%varsGF'%"cG%'_m_ordG%%fextG%(nocheckG6
;%"aG%"iG%"jG%"lG%#lmG%&fnameG%'n_entrG%)rhs_entrG%'no_rhsG%"FG%#IBG%$varG%(var
_ordG%%seqvG%'vt_degG%+zero_listsG%(deg_ordG%'lmprocG%(tup_cmpG%)tup_permG%(seq
_varG%-inv_tup_permG%'compatG%&m_ordG%)entr_posG6#%jnCopyright~(C)~2000-2010~by
~Daniel~Robertz.~All~rights~reserved.G6"CA>8:%%trueG>8--%3JanetOre/procinputG6#
9$>8*&FP6#""">8+&FP6#""#>8,&FP6#""$@$&FP6#""&-%&ERRORG6#%YJBasisFast~cannot~com
pute~in~algebraic~field~extensions.G>8/-%2JanetOre/procvarsG6$9%FV>80&FgoFgn>82
&FgoF\o>84&Fgo6#""%>87&FgoF`o>8<&Fgo6#""'>Fgo&FgoFX>%'_jnvarG-%%nopsG6#Fgo>817#
-%$seqG6$-%$catG6$%#_xG8%/F`r;FYFbq>FP-%(collectG6%&FPFepFgo%,distributedG@%/9'
""!@%0F]p7">8;7#-%"$G6$Ffp-Fdq6#F]p>FasFfp>FasF[s>8'-%1JanetOre/procordG6*FasFg
oF]pF`pFcpFgqF[qFN>85&F[tFX@$&F[tFep>F[qF_s>86&F[tF`o@$9)-%'RETURNG6#7*FNFVFenF
jnFgoFhpFasF[q@'2F\s-%+searchtextG6$Q&linuxFJ-%+kerneloptsG6#%(versionGC%@%/-%*
substringG6$-%(convertG6$-%*interfaceG6#.Fgu%'stringG;FY"#GQ=Standard~Worksheet
~InterfaceFJ>8)-%AJanetOre/stdinterface_gettmpnameGFJC%>Fjv-%(ssystemG6#%Eecho~
/tmp/$USER/JanetOre-$PPID-$USERG@%2F\s-Fau6$Q"$FJ&FjvFgn>FjvQ./tmp/JanetOreFJ>F
jv-%;JanetOre/remove_whitespaceG6#Fhw>Fjv-F]r6$Fjv9(>F[t-F`w6#-F]r6%%,if~test~-
e~GFjv%I~;~then~echo~true~;~else~echo~false~;~fiG@$4-%&parseG6#&F[tFgn-F[u6#7*%
&falseGFVFenFjnFgoFhpFasF[q2F\s-Fau6$Q&APPLEFJFdu>FjvF[wC$>FjvQ/\TEMP\JanetOreF
J>FjvF`xA-F]r6$FjvQ'.janetFJ@$43-%)assignedG6#%._IBORE_RESULTG-Fez6#%0_IBORE_RE
SULTlmG-Fco6#%Cerror~in~computation~or~interface.G@$0-FdqFfz-Fdq6#FPF`y>8.Fgz>8
(Fjz@%-%%typeG6$&Fd[lFXF'@%Fjn@$0FV-Fdq6#F[\l>FMFcy@$0,&FVFYFenFYF_\l>FMFcy@$50
FVFY4Fjn>FMFcy@$FMC(@$0Fhp7#-Fds6#;FYFVC$>89-%$mapG6$f*6#F06#F1FJFJC$-%'memberG
6%FTT#.8$Fb^lFJFJ6$FBFhpF_]l>Fd[l-Fg]l6$f*Fj]lF[^lFJFJ7$-Fjq6$&FT6#&F`^l6#Fb^l/
Fb^l;FYT%-Fjq6$&FTF^_l/Fb^l;,&Fa_lFYFYFY-FdqFSFJFJ6&FDFe]lF5FVFd[l@%Fi\l@%/FVFY
@%/FenFY>Fd[l-Fg]l6$f*Fj]lFJ6$%)operatorG%&arrowGFJ7$&FTFX7#&FT6#,&F`^lFYFYFYFJ
FJ6$F5FVFd[l>Fd[l-Fg]l6$f*Fj]lFJFc`lFJ7$Fg`l&FT6#;F[al,&F`^lFYFa_lFYFJFJ6&F5FVF
6FenFd[l@%F^`l>Fd[l-Fg]l6$f*Fj]lFJFc`lFJ7$&FT6#;FYF`^lFh`lFJFJF\alFd[l>Fd[l-Fg]
l6$f*Fj]lFJFc`lFJ7$F]blFbalFJFJFfalFd[l@%F\`l>Fd[l-Fg]l6$f*Fj]lFJFc`lFJ7$7#FT7#
F\sFJFJFJFd[l>Fd[l-Fg]l6$f*Fj]lFJFc`lFJ7$FTF\clFJFJFJFd[l>F`rFY>837$7#-Fds6$F\s
FV7#-Fds6$F\sFen>887#-Fjq6$/&Fgo6#F`r&FgqFcdlFar?(FJFYFYFJ3FM1F`rFa[lC&>8&,(Fa[
lFYF`r!""FYFY>F[t-%4JanetOre/j_lead_monG6)-%%subsG6$F]dl&&FPFcdlFXFVFgqF`tF[qFf
tF`p@%%2JanetOre/ratcoeffG@%/9&F\s@$553/&F_yFXF\s0&&&Ff[l6#FjdlFXFXF\s30F`flF\s
/FbflF\s3Fafl0-%'expandG6#,&*(F`flFYFbflF\el&Fd[lFeflFYFYFeelF\elFdcl>FMFcy@$55
3/-%$modG6$F`flFjelF\s0-Fhgl6$FbflFjelF\s30FgglF\s/F[hlF\s3Fjgl0-F\gl6#,&*(-Fhg
l6$*$FbflF\elFjelFYF`flFYF`glFYFYFeelF\elFdcl>FMFcy@&F]fl>FMFcyFaflC$>F[t*&F`fl
FYFbflF\el@$554-Fi[l6$F[t%(integerG0-%$absG6#F[tFY0-F\gl6#,&*&F[tFYF`glFYFYFeel
F\elFdcl>FMFcy>F`r,&F`rFYFYFY7*FMFVFenFjnFgoFhpFasF[qFJ6#FbqFJFJ
M7R0
I=JanetOre/JSubmoduleDimensionf*6"F$6#%jnCopyright~(C)~2007-2010~by~Daniel~Robe
rtz.~All~rights~reserved.GF$-%'degreeG6#-%6JanetOre/JSubmoduleHPG6#9"F$F$F$F$
M7R0
I<JanetOre/JGroebnerBasisFastf*6$%"LG'%%varsG%%listG6@%%fileG%&fnameG%%fextG%"c
G%"iG%"jG%"lG%"rG%"vG%'n_entrG%)rhs_entrG%'no_rhsG%"FG%$varG%&m_ordG%%voffG%(va
r_ordG%'vt_degG%(deg_ordG%$POTG%)tup_permG%#IBG%(do_normG%)entr_posG%*quietmode
G%+time_boundG%+sigmadeltaG%*donotreadG%+tracedenomG%'std_wsG6#%jnCopyright~(C)
~2000-2010~by~Daniel~Robertz.~All~rights~reserved.G6"Cep@$0%5JanetOre/initializ
edG.%%trueG-%.JanetOre/initGFJ>80-%3JanetOre/procinputG6#9$>8-&FT6#""">8.&FT6#"
"#>8/&FT6#""$@$&FT6#""&-%&ERRORG6#%[oJGroebnerBasisFast~cannot~compute~in~algeb
raic~field~extensions.G>FT-%'expandG6#&FT6#""%>81-%2JanetOre/procvarsG6$9%FZ>84
&FbpF[o>85&FbpF`o>86&FbpF_p>88&FbpFdo>8;&Fbp6#""'>Fbp&FbpFfn>%'_jnvarG-%%nopsG6
#Fbp@$0-%&minusG6$-%'indetsG6#FT<#-%#opGF^r<"-Fgo6#%Mno~parameters~allowed~in~J
GroebnerBasisFast.G>8'%0JanetOre/characG@%/Fhp7">82F`p>Fes7#-%"$G6$F`p-F]r6#Fhp
>8:FP>8&Q!FJ>8=""!>8,-%(convertG6$-%+kerneloptsG6#%(versionG%'stringG>8<-%&eval
bG6#552Fdt-%+searchtextG6$Q&APPLEFJFft/-%*substringG6$-Fht6$-%*interfaceG6#.F]u
F^u;Fgn"#GQ=Standard~Worksheet~InterfaceFJ/%4JanetOre/JInvoBasisG%:JanetOre/JBa
sisFastAssertG>83FP>8?%&falseG>8@F_w@%331Fao9#-%%typeG6$&9"F`oF(54-Fhw6$Fjw-F(6
#%(integerG/FjwFcsC$>8>-%2JanetOre/proccommG6$FbpFjw>8+F`pC$>Ffx-Fhx6$FbpFcs>F[
yFao@$0&FfxF`oFcsFfo@$0&FfxF_pFcsF[s>Ffx&Ffx6#;FgnF\o?(8(F[yFgnFfwFP@)5-Fhw6$&F
[x6#F\zFbx-Fhw6$FazF(>FesFaz-Fhw6$FazF^u@'/FazQ*donotreadFJ>F^wFP/FazQ&denomFJ>
FawFPC$>8*Faz?(8)FgnFgn-%'lengthG6#Fa[lFP@&/&Fa[l6#Fc[lQ"NFJ>F^tF_w0Fi[lFat-Fgo
6#%0invalid~option.G-Fhw6$Faz%)equationG@3/-Fir6$FgnFazQ%NameFJC$@$4-Fhw6$-Fir6
$F\oFazF^u-Fgo6#%Fexpecting~a~string~for~option~"Name".G>F`tF^]l/Ff\lQ%charFJC$
@$4-Fhw6$F^]l%*nonnegintG-Fgo6#%Qexpecting~0~or~a~prime~number~for~option~"char
".G>F_sF^]l/Ff\lQ%timeFJC$@$Fh]l-Fgo6#%Sexpecting~time~bound~in~seconds~for~opt
ion~"time".G>FctF^]l/Ff\lQ)GroebnerFJFJ/Ff\lF][lC$@$4-Fhw6$F^]l%(booleanG-Fgo6#
%Lexpecting~boolean~value~for~option~"denom".G>FawF^]l/Ff\lQ&quietFJC$@$F]_l-Fg
o6#%Lexpecting~boolean~value~for~option~"quiet".G>F`uF^]l/Ff\lQ(verboseFJ@'/F^]
lQ#onFJ>F\wF_w/F^]lQ$offFJ>F\wFP-Fgo6#%?expecting~string~"on"~or~"off"G/Ff\lFjz
C$@$F]_l-Fgo6#%Pexpecting~boolean~value~for~option~"donotread".G>F^wF^]lF^\lF^\
l@$5530FesF\o0FesF`p2Fgn-F]r6#Fdq3/FgalFgn0&FdqFfnFZ-%'RETURNG6#-%6JanetOre/JGr
oebnerBasG6#F[x@$0FhpFcs-Fgo6#%jnUp~to~now,~only~degrevlex~is~implemented~in~JG
roebnerBasisFast.G>Fa[l-%1JanetOre/procordG6*FesFbpFhpF[qF^qFbpFdqFP>87&Fa[lF_p
@$0Faq7#-Fis6#;FgnFZ>FT-%$mapG6$f*6#F.6#F/FJFJ-%'subsopG6$/Fgn7#-%$seqG6$&&FXFf
n6#&T#6#8$/Fjdl;FgnT%FXFJFJ6&F>FaqF3FZFT>%*_jinv_denGFcs>%&J_HOMGFcs@'2Fdt-Fhu6
$Q&linuxFJFftC$@%/-F[u6#%)wordsizeG"#k@$2"+[O[Z@F_s-Fgo6#%?characteristic~must~
be~<~2^31.G@$2"&oF$F_s-Fgo6#%?characteristic~must~be~<~2^15.G@%F[vC$>8%-%AJanet
Ore/stdinterface_gettmpnameGFJ>8AFPC'>F[y-%(ssystemG6#%hnif~test~-d~/tmp/$USER~
;~then~echo~true~;~else~echo~false~;~fiG@$4-%&parseG6#&F[yF[oC$>F[y-Ffgl6#%1mkd
ir~/tmp/$USERG@$0F^hlFat-Fgo6#%Ecannot~write~temporary~file~to~/tmp.G>F^gl-Ffgl
6#%Eecho~/tmp/$USER/JanetOre-$PPID-$USERG@%2Fdt-Fhu6$Q"$FJ&F^glF[o>F^glQ./tmp/J
anetOreFJ>F^gl-%;JanetOre/remove_whitespaceG6#Fbil>FbglF_wFfuC%@$FfflFhfl>F^glF
_gl>FbglFPC%@$FfflFhfl>F^glQ/\TEMP\JanetOreFJ>FbglF_w>F^gl-%$catG6$F^glF`t>Fjdl
-%&fopenG6$F^gl%&WRITEG-%(fprintfG6$FjdlQ@Computation~of~involutive~basisFJ@$52
FgnFZ4F^o-F][m6$FjdlQ,~for~moduleFJ-F][m6$FjdlQ-;|+variables~FJ?(F\zFgnFgn,&F[r
Fgn!""FgnFPC$-F][m6$Fjdl-Fht6$&FbpFbzF^u-F][m6$FjdlQ$~>~FJ-F][m6$Fjdl-Fht6$&Fbp
6#F[rF^u-F][m6$FjdlQ#;|+FJ@$0&F[q6#;FgnF[r7#-Fis6$FgnF[rC&-F][m6$FjdlQ2variable
~degrees~FJ?(F\zFgnFgnF[\mFPC$-F][m6$Fjdl-Fht6$&F[qFbzF^u-F][m6$FjdlQ#,~FJ-F][m
6$Fjdl-Fht6$&F[qF[]mF^uF\]m@$0&F[q6#;,&F[rFgnFgnFgn,&F[rFgnFZFgn7#-Fis6$FdtFZC&
-F][m6$FjdlQ/tuple~degrees~FJ?(F\zFgnFgn,&FZFgnF\\mFgnFPC$-F][m6$Fjdl-Fht6$&F[q
6#,&F[rFgnF\zFgnF^uFb^m-F][m6$Fjdl-Fht6$&F[q6#F`_mF^uF\]m-F][m6$FjdlQ'order~FJ-
F][m6$FjdlQ,deg_rev_lexFJ@$Fc[mC$-F][m6$FjdlQ';|+rhs~FJ-F][m6$Fjdl-Fht6$,&FZFgn
FgnFgnF^u-F][m6$FjdlQ1;|+division~JanetFJ@'0F_sFdtC%-F][m6$FjdlQ*;|+over~Z[FJ-F
][m6$Fjdl-Fht6$F_sF^u-F][m6$FjdlQ"]FJ%2JanetOre/ratcoeffG-F][m6$FjdlQ);|+over~Q
FJC$-F][m6$FjdlQ2;|+over~Z;|+absrem~FJ@%%0JanetOre/absremG-F][m6$FjdlQ%trueFJ-F
][m6$FjdlQ&falseFJ-F][m6$FjdlQ';|+POT~FJ@%F]clFbcmFecm?(F\zFgnFgnF[rFP?(Fc[lFgn
FgnF[rFPC$@$0&&FfxFfn6#,&*&,&F\zFgnF\\mFgnFgnF[rFgnFgnFc[lFgn&FbpFj[lC(-F][m6$F
jdlQ5;|+commutation~sigma~FJF^\mFb^m-F][m6$Fjdl-Fht6$FgdmF^u-F][m6$FjdlQ$~=~FJ-
F][m6$Fjdl-Fht6$FadmF^u@$0&&FfxF[oFcdmFdtC(-F][m6$FjdlQ5;|+commutation~delta~FJ
F^\mFb^mF\emF`em-F][m6$Fjdl-Fht6$FiemF^u@$Fc[m-F][m6$FjdlQ5;|+compatibility~tru
eFJ@(/-%'removeG6%%$hasG%1JanetOre/invcritG7$FaoF`pFcs-F][m6$FjdlQ0;|+criteria~
noneFJ/Fifm7#Fgn-F][m6$FjdlQ-;|+criteria~1FJ/Fifm7#F\o-F][m6$FjdlQ-;|+criteria~
2FJ-F][m6$FjdlQ?;|+output~compatibility,gb,gblmFJ@$Faw-F][m6$FjdlQ5;|+trace~den
ominatorsFJ@$2FdtFctC$-F][m6$FjdlQ+;|+seconds~FJ-F][m6$Fjdl-Fht6$FctF^u-F][m6$F
jdlQ+;|+expandedFJ@$5F`uF\w-F][m6$FjdlQ.;|+verbose~offFJ-F][m6$FjdlQ+;|+|+begin
|+|+FJ?(F\zFgnFgn-F]rFfrFPC$@%F^o@%/FZFgn-F][m6$Fjdl-Fht6$-Fir6#&FT6$F\zFgnF^u-
F][m6$Fjdl-Fht6$FdjmF^u-F][m6$Fjdl-Fht6$-Fgcl6$Fir&FTFbzF^u-F][m6$FjdlQ$;|+|+FJ
-F][m6$FjdlQ(end;|+|+|+FJ-%'fcloseGFidl@%F`u@%FbglC%>F[y-Ffgl6#-Fejl6%Q*runJBOr
e~FJF^glQ/~_IBORE_RESULTFJ@$/F[y%%NULLG-Fgo6#%Bcould~not~run~program~'runJBOre'
.G>F[y&F[yFfnC$>F[y-Ffgl6#-Fejl6%Q'JBOre~FJF^glQ;~_IBORE_RESULT~>~/dev/nullFJ@%
3/Fj\nFdt/F^hlFat>F[yFdt>F[yFgnC$>F[y-%'systemG6#-Fejl6%Fa]nF^glFb\n@$Fd\n-Fgo6
#%?could~not~run~program~'JBOre'.G@$0F[yFdt-Fgo6#%cpprogram~JBOre~not~found~or~
interrupted~(e.g.~by~the~user~or~because~of~memory~shortage).G@$2Fdt-Fhu6$FgelF
jtC%>F[y-Ffgl6#-Fejl6'Q&if~[~FJF^glQ).GB~-ot~FJF^glQ:~];~then~echo~-n~true;~fiF
J@$2Fdt-Fe[lF]hl-Fgo6#%fpoutput~file~of~JBOre~is~older~than~input~file~(probabl
y,~program~JBOre~stopped~abnormally).G@$4F^wC$>F[y-Ffgl6#-Fejl6%Q*filesize~FJF^
glQ$.GBFJ@$Fe]nC$>F\z-%'sscanfG6$F^hlQ#%dFJ@$32Fdt-F]rFbz2"'++I&F\zFfn-%(WARNIN
GG6#Qjnresulting~Groebner~basis~is~big;~reading~it~may~take~a~while...FJ>%*_jon
nformGFdt>%)_joreducGFdt>%)_jocrit1GFdt>%)_jocrit2GFdt>%)_jocrit3GFdt>%)_jocrit
4GFdt@$F^w-F^blFJA-Fejl6$F^glFe`n@$43-%)assignedG6#%._IBORE_RESULTG-F]cn6#%0_IB
ORE_RESULTlmG-Fgo6#%Cerror~in~computation~or~interface.G@$3-F]cn6#%9_IBORE_RESU
LTout_of_timeGFjcn-Fean6#%incomputation~of~Groebner~basis~stopped~due~to~time~r
estriction.G@$-F]cn6#%3_IBORE_RESULTcompaG>%-_JBOre_compaG-Fgcl6$f*FjclFJ6$%)op
eratorG%&arrowGFJ&FX6#;,&FhdlFgnFgnFgnF\\mFJFJ6$F3FZFadn@$FawC%A-Fejl6$F^glQ'.d
enomFJ@$4-F]cn6#%3_IBORE_RESULTdenomGFccn>F`elFien@%330F_cn7#Fdt52Fgn-F]rF^cn0-
Fgcl6$f*FjclFJFgdnFJ-Fjfm6%F\gmFXFdtFJFJFJF_cn7#FcsF^t@%FhbmC$@$Faw>F`el7$-Fir6
#F`el-Fir6#-Fgcl6$f*FjclFJFgdnFJ@$0&FedlFfnFgnFhgnFJFJFJFbcn@%/F_sFdt>897#-Fbdl
6$-F\p6#*&&F_cn6#,&FbfnFgnF\zF\\mFgn&&&FbcnFdhnFfnFfnF\\m/F\z;Fdt,&FbfnFgnF\\mF
gn>F\hn7#-Fbdl6$-F\p6#*&-%$modG6$*$FfhnF\\mF_sFgnFchnFgnFihn>F\hn-%$zipG6%f*6$F
.F/FJFgdnFJ@%-Fhw6$&&FfpFfnFfn%'negintG-F\p6#,$FXF\\mFXFJFJFJ7#-Fbdl6$FchnFihn7
#-Fbdl6$&Fbcn6#,&-F]rFacnFgnF\zF\\m/F\z;Fdt,&F_[oFgnF\\mFgn>F\hnFfjn@$F`clC$>Fa
q-Fgcl6$f*FjclF[dlFJFJC$-%'memberG6%FXFhdl.FjdlFjdlFJFJ6$F>FaqFacl>F\hn-Fgcl6$f
*FjclF[dlFJFJ7$-Fbdl6$&FXFfdlF[el-Fbdl6$&FXFidl/Fjdl;,&F]elFgnFgnFgn-F]rFWFJFJF
^elF\hn@$Fc[m@%F]jm@%/FinFgnC&>FT-Fgcl6$f*FjclFJFgdnFJ@%/FedlFdt@%0&FX6#F]enFdt
FgnFdtF\\mFJFJF^enF\hn>Fbel-Fgcl6$f*FjclFJFgdnFJ@$/&FhdlFWFgn&&F]elFW6#,&T'FgnF
gnFgnFJFJ6(F6FTF?F\hnF3FZ7#-Fis6#;FgnFiim>F\hn-Fgcl6$f*FjclFJFgdnFJ@$/Fd^oF\\m/
&Ff^oFfnFe^oFJFJFj^oF[_o@$/F\hnFcs>F\hn7#/FdtFdtC&>FT-Fgcl6$f*FjclFJFgdnFJ@%Fi]
o@%0&FX6#;F]en,&FhdlFgnF]elFgn7#-Fis6$FdtF]elFgnFdtF\\mFJFJ6&F3FZF4FinF\hn>Fbel
-Fgcl6$f*FjclFJFgdnFJ@$Fc^o&Ff^o6#;Fh^o,&Fi^oFgnT)FgnFJFJ6*F6FTF?F\hnF3FZF4FinF
[_o>F\hn-Fgcl6$f*FjclFJFgdnFJ@$Fd_o/Ff_oFaaoFJFJFfaoF[_o@$Fh_o>F\hn7#/Fdt7#-Fis
6$FdtFin@%Fb]oC&>FT-Fgcl6$f*FjclFJFgdnFJ@%/&FX6#;FgnFhdl7#-Fis6$FdtFhdl@%F[^oFg
nFdtF\\mFJFJF^enF\hn>Fbel-Fgcl6$f*FjclFJFgdnFJ@$Fc^oFe^oFJFJFj^oF[_o>F\hn-Fgcl6
$f*FjclFJFgdnFJ@$Fd_o/&Ff^o6#;FgnFi^oFe^oFJFJFj^oF[_o@$Fh_o>F\hn7#/Fa_mFdtC&>FT
-Fgcl6$f*FjclFJFgdnFJ@%F[co@%Fc`oFgnFdtF\\mFJFJF[aoF\hn>Fbel-Fgcl6$f*FjclFJFgdn
FJ@$Fc^oFaaoFJFJFfaoF[_o>F\hn-Fgcl6$f*FjclFJFgdnFJ@$Fd_o/F^doFaaoFJFJFfaoF[_o@$
Fh_o>F\hn7#/Fa_mFabo@$-F]cn6#Fcdn@%Fb]o>Fbel7$-Fir6#Fbel-Fir6#-Fgcl6$FirFcdn>Fb
el7$Fafo-FirF]fo@$4Faw>F`el.F`elF\hnFJ6,F[rFianF[bnF]bnF_bnFabnFcbnFbelF`elFcdn
FJFJ
M7R0
I3JanetOre/JSyzygiesf*6$%"LG'%%varsG%%listG6D%"aG%"iG%"jG%"lG%'n_entrG%)rhs_ent
rG%"FG%"QG%$varG%(var_ordG%'vt_degG%(deg_ordG%(loc_varG%)tup_permG%'lmprocG%*tm
p_J_HOMG%'N_FormG%%seqvG%&N_OrdG%&B_OrdG%&m_ordG%*zero_listG%.rhs_zero_listG%*o
ld_J_HOMG%-old_J_T_ListG%/default_lmprocG%)entr_posG%+trans_elemG%.force_collec
tG%,force_evalaG%(mulprocG%#ppG%(comm_lcG%-var_exteriorG6#%joCopyright~(C)~2000
-2010~by~Arne~Lorenz~and~Daniel~Robertz.~All~rights~reserved.G6"Chn@$43-%)assig
nedG6#%&J_HOMG-FT6#%)J_T_ListG-%&ERRORG6#%Lmissing~involutive~basis;~run~JBasis
~first.G>8*-%3JanetOre/procinputG6#9$>8(&Fin6#""">8)&Fin6#""#@$&Fin6#""$-Fen6#%
Cexpecting~L~with~right~hand~sides.G@$50F_o-%%nopsG6#&FY6%FboFboFbo0Fdo-Fcp6#&F
Y6%FboFboFgo-Fen6#%jninput~is~not~a~generating~set~for~the~current~involutive~b
asis.G>8A&Fin6#""&>8?&Fin6#""(>Fin&Fin6#""%>8,-%2JanetOre/procvarsG6$9%F_o>8-&F
^rFfo>8.&F^rFjo>8/&F^rF[r>81&F^rFbq>8>&F^r6#""'>F^r&F^rFao>%'_jnvarG-Fcp6#F^r>8
57#-%$seqG6$-%$catG6$%#_xG8&/Fdt;FboFgs>Fdr-%%subsG6$7#-F^t6$/&F^r6#8%-Fat6$Fct
Fau/FauFftFdr>Fin-%(collectG6%FinF^r%,distributedG>8B-%(unapplyG6%*&%#_aGFbo%#_
bGFboF`vFav>8D%%trueG>FauF[p@%31F[p9#-%%typeG6$&9"FjoF(@'/F]w7"C$>8EFaw>FauF\r4
5-F[w6$F]w-F(6#%(integerG-F[w6$F]w-F(6#F(C)>F[v-%1JanetOre/procopsG6%F^rF]wF[t>
Fcv&F[vF[r>Fdw&F[vFbq@$0&F[v6#"")Faw>F`qFdv>Feq7$-%#opG6#Feq-Fcy6#&F[v6#""*>F[v
&F[vFjo>FauF\r>FdwFaw>FdwFaw>8@-%&evalbG6#0-%&minusG6$<#Fby<#-FcyFis<">8=4F`q@%
/FdrFaw>88F\r>Fb[l7#-%"$G6$F\r-Fcp6#Fdr?(FdtFauFboFivFdv@'5-F[w6$&F^w6#FdtF\x-F
[w6$F_\lF(>Fb[lF_\l-F[w6$F_\l%'stringG@&/F_\lQ"SFNC$>F`qFdv>F][l%&falseG0F_\lQ!
FN-Fen6#%0invalid~option.GF`]l@%Fcv@'F`qC$>Fin-%&evalaG6#Fin@%%2JanetOre/ratcoe
ffG>84%?JanetOre/jnormal_form_evala_lcG>F]^l%=JanetOre/simp_jnormal_form_ZGF`z@
%F[^l>F]^l%AJanetOre/jnormal_form_collect_lcG>F]^lF`^l@%F[^l>F]^l%9JanetOre/jno
rmal_form_lcG>F]^l%8JanetOre/jnormal_form_ZG@'F`qC$>FinFg]l@%F[^l>F]^l%<JanetOr
e/jnormal_form_evalaG>F]^lF`^lF`z@%F[^l>F]^l%>JanetOre/jnormal_form_collectG>F]
^lF`^l@%F[^l>F]^l%6JanetOre/jnormal_formG>F]^lFi^l@'F`q@%/%0JanetOre/characG""!
>8C%8JanetOre/simp_prim_partG>F_`lf*6%%"pGF2%"qGFNFNFN7$F]o9&FNFNFNF`z>F_`lF``l
>F_`l%3JanetOre/prim_partG>8'-%1JanetOre/procordG6*Fb[lF^rFdrFgrFjrF[tF`sF][l>8
6&F\alFfo>87&F\alFjo@$&F\alF[r>F`sFaw>80&F\alFbs@$/&Fgr6#;,&FgsFboFboFbo,&FgsFb
oF_oFbo7#-Ff[l6$F]`lF_o>FgrF]`l>82-%&parseG6#-Fat6/Q<g->`JanetOre/j_lead_mon`(g
,FN-%(convertG6$F_oFf\lQ",FN-F`cl6$F[tFf\lFbcl-F`cl6$&F\alFaoFf\lFbcl-F`cl6$F`s
Ff\lFbcl-F`cl6$&F\alFbqFf\lFbcl-F`cl6$FgrFf\lQ")FN@$0F]s7#-Ff[l6#;FboF_o>Fin-%$
mapG6$f*6#F+6#F,FNFN-%'subsopG6$/Fbo7#-F^t6$&&F]oFao6#&T#6#8$/Fjel;FboT%F]oFNFN
6&F7F]sF.F_oFin>8;FV>8<FY@$0F[tF^rC$>Fin-Fhdl6$f*6#F*FN6$%)operatorG%&arrowGFN-
Fit6$7#-F^t6$/&F]fl6#Fhel-Fat6$FctFhel/FhelFftF]oFNFN6&F+FauF2F^rFin>FV-Fhdl6$f
*FjflFNF[glFNF^glFNFNFiglFV>83FV>FVFaw>89Fcbl>8:7#-Ff[l6$F]`lFdo?(FauFboFbo-Fcp
Fi]lFdvC$>Fjel-F]^l6)&FinF`uFYF[tF[vFhblF_`lFjal@$0Fjel7$FbhlFdhlC%>FVF`fl>FYFb
flF\q@$/FdoFbo>FV-Fhdl6$f*FjflFNF[glFN-FcyF\oFNFNFNFV?(FauFboFbo-Fcp6#F_hlFdv@$
4-%5JanetOre/member_multG6%&F_hlF`uFVF[t>FV7$Fdjl-FcyFU>F_hlFV>FVFaw?(FauFboFbo
-FcpFXFdv>FY-F^el6$/Fau-F^el6$/F\r7#-Ff[l6$F]`lFgs&FYF`uFY@%/FdwFaw>8+-%6JanetO
re/jjanet_separG6&Fb[lFaalF[tF[v>Fj[m-%?JanetOre/jjanet_separ_exteriorG6)Fb[lFa
alF[tF[vFhblFdwFdv?(FauFboFbo-Fcp6#Fj[mFdvC$>Fjel-F]^l6)&Fj[m6$FauFboFYF[tF[vFh
blF_`lFjal@$F`ilC%>FVF`fl>FYFbflF\q@$Ffil>FV-Fhdl6$f*FjflFNF[glFNF[jlFNFNFNFV?(
FauFboFboF]jlFdv@$F`jl>FVFfjl@$Fdfl>FV-Fhdl6$f*FjflFNF[glFN-Fit6$7#-F^t6$/-Fat6
$FctF]fl&Fhel6#F]fl/F]flFftF]oFNFN6&F2F^rF+FauFV>F_hlFV>FVF`fl>FYFbfl-%'RETURNG
F^jlFN6%FgsFVFYFNFN
M7R0
I<JanetOre/JHilbertPolynomialf*6"6%%"iG%"sG%/args_without_sG6#%inCopyright~(C)~
2000-2010~by~Carlos~F.~Cid.~All~rights~reserved.GF$C&>8%.F->8&%%NULLG@%/9#"""@%
3-%%typeG6$&9"6#F5%)equationG/-%#opG6$F5F;Q$varF$>F--FA6$""#F;>F-F;?(8$F5F5F4%%
trueG@%3-F96$&F<6#FJF>/-FA6$F5FPFC>F--FA6$FGFP>F06$F0FP@%3-F96$F-%(numericG/F-"
"!-%-JanetOre/JHPG6#F--%)simplifyG6#,&-F\o6$F0/FCF-F5-F\o6$F0/FC,&F-F5!""F5FioF
$F$F$F$
M7R0
I:JanetOre/tupcoefflistmultf*6'%"pG%$varG%$basG%%multG%%permG6%%"cG%"iG%"nG6#%j
nCopyright~(C)~2007-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C&>8&-%%nops
G6#9$>8$7#-%"$G6$""!F3@%2""$9#?(8%"""FEF3%%trueGC$>F9-%'subsopG6$/&9(6#FD-%<Jan
etOre/monomcoefflistmultG6&&F7FO9%&9&FO&9'FOF9@$4-%%typeG6$&F96#FM%%listG-%'RET
URNG6#-FJ6$/FDFhnF:?(FDFEFEF3FFC$>F9-FJ6$/FDFPF9@$4-Ffn6$&F9FOFjn-F\o6#-FJ6$/FD
F[pF:-F\o6#F9F0F0F0F0
M7R0
I1JanetOre/JHomHomf*6$%#_MG'%$varG%%listG6(%"MG%"RG%#HMG%%iotaG%$HHMG%$basG6#%[
oCopyright~(C)~2003-2010~by~Mohamed~Barakat.~All~rights~reserved.G6"C+@$32""#9#
4-%%typeG6$&9"6#""$%'symbolG-%&ERRORG6#%Oexpecting~a~symbol~as~optional~third~a
rgument.G>8$-%4JanetOre/jets_mkmatG6#-%$mapG6$f*6#%"aGF26$%)operatorG%&arrowGF2
&9$6#"""F2F2F2&-%3JanetOre/procinputG6#FU6#""%>8%7#7#""!>8&-%.JanetOre/JHomG6%F
GFin9%>8'-%(convertG6$-&%'linalgG6#%*transposeG6#-FL6$f*FOF2FQF2-FL6$%#opG-Ffo6
$-%$rhsGFen%)listlistGF2F2F2&F^oFVFhp>8(-F`o6%&F^o6#F7FinFbo>8)-FL6$f*FOF2FQF2F
apF2F2F2&F[qFV@$3F6F:-%'assignG6$F=F[q@%/&F[qF?F\o@%/%4JanetOre/matrixtypeG%'Ma
trixG-Far6#7#-%"$G6$7#-Ffr6$F\o-%%nopsG6#&FdoFV-F\s6#Fdo-%'matrixGFcr-%6JanetOr
e/JRightDivideG6%FdoFaqFboF2F2F2F2
M7R0
I/JanetOre/pplexf*6$%"aG%"bG6#%"iG6#%\pCopyright~(C)~2000-2010~by~Carlos~F.~Cid
~and~Daniel~Robertz.~All~rights~reserved.G6"C$?(8$"""F/-%%nopsG6#&9$6#F/%%trueG
@&2&F36#F.&&9%F5F:-%'RETURNG6#F62F;F9-F?6#%&falseG@%2&F46#""#&F=FHFDF6F+F+F+F+
M7R0
I?JanetOre/jnormal_form_evala_lcf*6)%"fG%"FG%%seqvG%(mulprocG%'lmprocG%'ppprocG
%(loc_varG64%"aG%"hG%"iG%"kG%"rG%#lmG%(termo_hG%$divG%'n_entrG%*zero_listG%.rhs
_zero_listG%#lvG%#nlG%#nvG%"HG%"eG%#meG%#hiG6#%\pCopyright~(C)~2000-2010~by~Car
los~F.~Cid~and~Daniel~Robertz.~All~rights~reserved.G6"C,>%*_jonnformG,&FD"""FFF
F>8%9$>8,-%%nopsG6#&FH6#FF@$09*7"C'>8/<#-%$seqG6$&9&6#&FS6#8&/F[o;FF-FM6#FS>80-
FM6#FW>81-%'removeG6%%$hasGFgnFW>82FT>FH7$-%7JanetOre/cancel_locvarG6%FOFgnFS-F
_p6%&FH6#""#FgnFS>8-7#-%"$G6$""!FK>8.7#-Fjp6$F\q-FM6#Fcp>8(7$FgpF^q>8)-9(FN?(FA
FFFFFA0&Fhq6$FepFFF\qC)>F[oFF>8+%&falseG>8**&F]rFF&Fhq6$FepFepFF@$FR>83,&-%$max
G6#-FZ6$-%'degreeG6$&FO6#8'FW/Fgs;FFFKFF-%$addG6$&&Fhq6$FFFF6#&FSFfs/Fgs;FFFao!
""?(FAFFFFFA31F[o-FM6#9%4Fbr@%-%5JanetOre/pinv_divideG6%&Fjt6$F[o""$&Fjt6$F[o""
&&FhqFPC%>%)_joreducG,&FiuFFFFFF@%FRC,>84,&-F^s6#-FZ6$-Fcs6$&&Fjt6%F[oFFFFFfsFW
FhsFF-F[t6$&&Fjt6%F[oFbuFFF`tFbtFdt>85F\q>Fgs-FM6#F[p?(FAFFFFFA32F\qF^v2F\qFgsC
$@$331&&F[pFfs6#FbuF^v/&&&F]xFdpFPFdp&FfuFdp-%8JanetOre/conv_divisibleG6$FaxFfu
C$>F_wFgs>F^vF\x>Fgs,&FgsFFFdtFF@$3Few0&FeqFPFgp[@$2F[sF^vC$>Fgs-9)6%FOFgn7$Fcp
&&FhqFdpFP>F[p7$-%#opGFbw7%7$&FgsFP&&FgsFdpFP7$Ffu-%'subsopG6$/FF&FczFdpFjyF[s@
%/F_wF\q>FH-%)simplifyG6#7$,&-%$mapG6$f*6#F-FA6$%)operatorG%&arrowGFA*(T#FF&T&6
%T'""'FepFdtFIFFFAFA6(F3FerF&FjtF/F[oFgvFdt-Fc[l6$f*Ff[lFAFg[lFA*&&T$6%T%F`\lFF
FFFIFFFAFA6&F&FjtF/F[oFOFF,&-Fc[l6$f*Ff[lFAFg[lFAFj[lFAFAFa\l&Fjt6%F[oFFFepFdt-
Fc[l6$f*Ff[lFAFg[lFAFe\lFAFAFj\lFcpFF>FH-F^[l6#7$,&-Fc[l6$f*Ff[lFAFg[lFA*(F[\lF
F&&&&Fi\l6#F_\lFdpFdpFdpFdtFIFFFAFA6(F3FerF;F[pF>F_w&&&F[p6#F_wFPFPFdt-Fc[l6$f*
Ff[lFAFg[lFA*&&&&&F[\l6#Fi\lFdpFdpFPFFFIFFFAFA6&F;F[pF>F_wFOFF,&-Fc[l6$f*Ff[lFA
Fg[lFAF\^lFAFAFb^l&Fd^lFdpFdt-Fc[l6$f*Ff[lFAFg[lFAFj^lFAFAF`_lFcpFF>FH-Ffy6%FOF
gnFcp>FHF]p@$0%0JanetOre/characGF\q>FH-%$modG6$FHF_`l@%/F_`lF\qC$>Fgs-%'normalG
6#-%&evalaG6#*(F]rFFFgrFF&Fjt6%F[oF`\lFepFdt>FH-%(collectG6%-Fi`l6#-F\al6#7$,&-
Fc[l6$f*Ff[lFAFg[lFAFe\lFAFAFj\lFOFF-Fc[l6$f*Ff[lFAFg[lFA-F]\l6$F[\lFIFAFA6&F0F
gsF(9'FgvFdt,&-Fc[l6$f*Ff[lFAFg[lFAFe\lFAFAFj\lFcpFF-Fc[l6$f*Ff[lFAFg[lFAFablFA
FAFcblF_]lFdtFgn%,distributedGC$>Fgs-Fb`l6$-%'NormalGFj`lF_`l>FH-Fcal6%7$-Fb`l6
$-Fbcl6#-F\al6#,&-Fc[l6$f*Ff[lFAFg[lFAFe\lFAFAFj\lFOFF-Fc[l6$f*Ff[lFAFg[lFAFabl
FAFAFcblFgvFdtF_`l-Fb`l6$-Fbcl6#-F\al6#,&-Fc[l6$f*Ff[lFAFg[lFAFe\lFAFAFj\lFcpFF
-Fc[l6$f*Ff[lFAFg[lFAFablFAFAFcblF_]lFdtF_`lFgnF\cl>Fbr%%trueG>F[o,&F[oFFFFFF@%
F[uC$>Feq7$-Ffz6$/&Fhq6$FFFep-Fcal6%,&&F_y6#F\flFFFfrFFFgnF\clF_y&FeqFdp>FH7$-F
fz6$/F\fl-Fcal6%,&&FOFbflFFFfrFdtFgnF\clFOFcp@%Fe`l>Feq-Fcal6%7$-Fi`l6#-F\al6#-
Fc[l6$f*Ff[lFAFg[lFAFe\lFAFAFj\lF_y-Fi`l6#-F\al6#-Fc[l6$f*Ff[lFAFg[lFAFe\lFAFAF
j\lFcflFgnF\cl>Feq-Fcal6%7$-Fb`l6$-Fbcl6#-F\al6#-Fc[l6$f*Ff[lFAFg[lFAFe\lFAFAFj
\lF_yF_`l-Fb`l6$-Fbcl6#-F\al6#-Fc[l6$f*Ff[lFAFg[lFAFe\lFAFAFj\lFcflF_`lFgnF\cl>
FhqFiq@'3/F_yFgp0FcpF^qC%>Fcp&-Ffy6%FcpFgnFTFP@$4-%5JanetOre/member_multG6%Fcp%
&J_HOMGFgn>Fejl7$-F^z6#FejlFcp7$F_yF^qFiil7$FgpFcp-Ffy6%F_yFgnFcpFA6%FejlFDFiuF
AFA
M7R0
IDJanetOre/jnormal_form_evala_poly_lmf*6)%"fG%"FG%%seqvG%(mulprocG%'lmprocG%'pp
procG%(loc_varG68%"aG%#caG%#cbG%"gG%"hG%"iG%"kG%#lgG%#lmG%$divG%#stG%'n_entrG%)
rhs_entrG%*zero_listG%.rhs_zero_listG%#lvG%#nlG%#nvG%"HG%"eG%#meG%#hiG6#%jnCopy
right~(C)~2000-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C.>%*_jonnformG,&
FH"""FJFJ>8(9$>8.""!>8/-%%nopsG6#&FL6#FJ>80-FT6#&FL6#""#@$09*7"C'>83<#-%$seqG6$
&9&6#&F[o6#8)/Fio;FJ-FT6#F[o>84-FT6#F_o>85-%'removeG6%%$hasGFeoF_o>86F\o>FL7$-%
7JanetOre/cancel_locvarG6%FVFeoF[o-F]q6%FfnFeoF[o>817#-%"$G6$FPFR>827#-Feq6$FPF
Z>8-%%trueG>8,-9(FU?(FEFJFJFE3F]r0&F`r6$FhnFJFPC&>FioFJ>F]r%&falseG@$Fjn>87,&-%
$maxG6#-Fbo6$-%'degreeG6$&FV6#8*F_o/Fjs;FJFRFJ-%$addG6$&&F`r6$FJFJ6#&F[oFis/Fjs
;FJF_p!""?(FEFJFJFE31Fio-FT6#9%4F]rC$@$30FVFbq-%5JanetOre/pinv_divideG6%&F]u6$F
io""$&F]u6$Fio""&&F`rFWC'>%)_joreducG,&F_vFJFJFJ>FO,&FOFJFJFJ@%FjnC+>88,&-Fas6#
-Fbo6$-Ffs6$&&F]u6%FioFJFJFisF_oF[tFJ-F^t6$&&F]u6%FioFhuFJFctFetFgt>89FP>Fjs-FT
6#Fip?(FEFJFJFE32FPFfv2FPFjsC$@$332&&FipFis6#FhuFfv/&&&FexFgnFWFgn&F\vFgn-%8Jan
etOre/conv_divisibleG6$FixF\vC$>FgwFjs>FfvFdx>Fjs,&FjsFJFgtFJ@$2F^sFfvC$>Fjs-9)
6%FVFeo7$Ffn&&F`rFgnFW>Fip7$-%#opGFjw7%7$&FjsFW&&FjsFgnFW7$F\v-%'subsopG6$/FJ&F
fzFgnF]zF^s@%/FgwFP>FL-%)simplifyG6#7$,&-%$mapG6$f*6#F-FE6$%)operatorG%&arrowGF
E**&T#FgrFJ&F_\l6$FhnFhnFJ&T&6%T'""'FhnFgtFMFJFEFE6(F5F`rF&F]uF2FioF_wFgt-Ff[l6
$f*Fi[lFEFj[lFE*&&T$6%T%Ff\lFJFJFMFJFEFE6&F&F]uF2FioFVFJ,&-Ff[l6$f*Fi[lFEFj[lFE
F]\lFEFEFg\l&F]u6%FioFJFhnFgt-Ff[l6$f*Fi[lFEFj[lFEF[]lFEFEF`]lFfnFJ>FL-Fa[l6#7$
,&-Ff[l6$f*Fi[lFEFj[lFE**F^\lFJF`\lFJ&&&&F_]l6#Fe\lFgnFgnFgnFgtFMFJFEFE6(F5F`rF
?FipFBFgw&&&Fip6#FgwFWFWFgt-Ff[l6$f*Fi[lFEFj[lFE*&&&&&F_\l6#F_]lFgnFgnFWFJFMFJF
EFE6&F?FipFBFgwFVFJ,&-Ff[l6$f*Fi[lFEFj[lFEFb^lFEFEFh^l&Fj^lFgnFgt-Ff[l6$f*Fi[lF
EFj[lFEF`_lFEFEFf_lFfnFJ>FL-Fiy6%FVFeoFfn>FLF[q@$0%0JanetOre/characGFP>FL-%$mod
G6$FLFe`l@%/Fe`lFPC(>Fjs-%'normalG6#-%&evalaG6#*&&F`rFa\lFJ&F]u6%FioFf\lFhnFgt>
8'-%(collectG6%-F_al6#-Fbal6#7$-Ff[l6$f*Fi[lFEFj[lFE-Fc\l6$F_\lFMFEFE6&F3FjsF(9
'F_w-Ff[l6$f*Fi[lFEFj[lFEFeblFEFEFgblFe]lFeo%,distributedG>8+-Fbr6#&FialFW-%$gc
dG6&Ffr&F^clFgr.8%.8&>FL-F[bl6&,&*&FiclFJFLFJFJ*&FgclFJFialFJFgtFeoF\clFbal@$1F
[vFOC$>FLF``l>FOFPC(>Fjs-Fh`l6$-%'NormalGF`alFe`l>Fial-F[bl6%7$-Ff[l6$f*Fi[lFEF
j[lFE-Fh`l6$-Fjdl6#-Fbal6#FeblFe`lFEFEFgblF_w-Ff[l6$f*Fi[lFEFj[lFEFbelFEFEFgblF
e]lFeoF\cl>F^clF_cl-Fh`l6$-%$GcdGFdclFe`l>FL-F[bl6&-Fh`l6$F]dlFe`lFeoF\clFbal@$
1"#7FOC$>FLF``l>FOFP>F]rF^r>F`rFar>Fio,&FioFJFJFJ@'3/FVFbq0FfnFhqC%@$2FPFO>Ffn&
-Fiy6%FfnFeoF\oFW@$4-%5JanetOre/member_multG6%Ffn%&J_HOMGFeo>F_hl7$-Faz6#F_hlFf
n7$FVFhqFagl7$FbqFfn@%FeglF``lFLFE6%F_hlFHF_vFEFE
M7R0
I1JanetOre/poltoopf*6$%%exprG'%&opvarG%%listG6%%"jG%$conG%$opsG6#%jnCopyright~(
C)~2003-2010~by~Daniel~Robertz.~All~rights~reserved.G6"@)-%%typeG6$9$%"^G@%-F26
$-%#opG6$""#F4%'posintG-%#@@G6$-F"6$-F:6$"""F49%F9-%(unapplyG6$*&F4FE%#_aGFEFK-
F26$F4%"*GC'>8%%%NULLG>8&FR?&8$F4%%trueG@%-%$hasG6$FVFF>FT6$FT-F"Fen>FQ6$FQFV>F
Q-FN6#FQ-%"@G6$-FH6$*&FQFEFKFEFKFT55-F26$F4%)rationalG3-F26$F4%%nameG4-%'member
G6$F4FF-F26$F4%)functionGFG-%$mapG6$f*6#%"iGF/F/F/@)F1@%F7-F?6$-F"6$FCT$F9FGFLC
'>T%FR>T'FR?&T)F4FW@%-FZ6$FgqF`q>Feq6$Feq-F"Fjq>Fcq6$FcqFgq>Fcq-FN6#Fcq-F_o6$-F
H6$*&FcqFEFKFEFKFeq/-%%nopsG6#F4FE@%55Ffo3Fjo4-F_p6$F4F`qFapFGF4-F"FbsF/F/6*F'F
FF+FQF,FTF*FVF4F/F/F/F/
M7R0
I0JanetOre/invredf*6*%"fG%"TG%'no_rhsG%.return_coeffsG%%seqvG%(mulprocG%'lmproc
G%(loc_varG68%"aG%"cG%"gG%"hG%#h2G%"iG%"kG%#lgG%#lmG%"nG%"qG%"rG%$divG%'n_entrG
%(termo_hG%*zero_listG%#lvG%#nlG%"HG%"eG%#meG%#hiG6#%\pCopyright~(C)~2000-2010~
by~Carlos~F.~Cid~and~Daniel~Robertz.~All~rights~reserved.G6"C0>81-%%nopsG6#&9$6
#""">837#-%"$G6$""!FI>8'FM@$49&>8(&FN6#""#@$09+7"C'>84<#-%$seqG6$&9(6#&F^o6#8)/
F\p;FP-FK6#F^o>85-FK6#Fbo>86F_o>FY-%7JanetOre/cancel_locvarG6%FYFhoF^o@$Fen>Fhn
-Fip6%FhnFhoF^o>8--FK6#9%>8/FR>8%7#-FU6$FWF`q>8.FP>8,-9*6#FY?(FFFPFPFF0&F^r6$F[
oFPFWC)>F\pFP>80%&falseG>82*&FdrFP&F^r6$F[oF[oFP@$F]o>87,&-%$maxG6#-Feo6$-%'deg
reeG6$&FY6#8*Fbo/F^t;FPFIFP-%$addG6$&&F^r6$FPFP6#&F^oF]t/F^t;FPFbp!""?(FFFPFPFF
31F\pF`q4Fir@%-%5JanetOre/pinv_divideG6%&Fcq6$F\p""$&Fcq6$F\p""&&F^rFOC$@%F]oC,
>88,&-Fes6#-Feo6$-Fjs6$&&Fcq6%F\pFPFPF]tFboF_tFP-Fbt6$&&Fcq6%F\pFfuFPFgtFitF[u>
89FW>F^tFP?(FFFPFPFF32FWF_v1F^t-FK6#FfpC$@$332&&FfpF]t6#FfuF_v/&&&F^xFjnFOFjn&F
juFjn-%8JanetOre/conv_divisibleG6$FbxFjuC$>F`wF^t>F_vF]x>F^t,&F^tFPFPFP@$3Fdw0F
eqFR[@$2FbsF_v>Ffp7$-%#opGFgw7%7$FYFhnF^rFbs@%/F`wFWC$>FY-%'expandG6#,&*&&Fcq6%
F\p""'FPFPFYFPFP*(F\sFP&Fcq6%F\pFdzF[oF[uFhvFPF[u@$Fen>Fhn-F^z6#,&*&FbzFPFhnFPF
P*(F\sFPFfzF[u&Fcq6%F\pFPF[oFPF[uC$>FY-F^z6#,&*&&&&&Ffp6#F`wFjnFjnFOFPFYFPFP*(F
\sFP&Fh[lFjnF[u&&Fj[lFOFOFPF[u@$Fen>Fhn-F^z6#,&*&Fg[lFPFhnFPFP*(F\sFPF]\lF[u&F_
\lFjnFPF[u>FYFhp@$Fen>FhnF]q@$0%0JanetOre/characGFWC$>FY-%$modG6$FYF]]l@$Fen>Fh
n-Fa]l6$FhnF]]l@%/F]]lFWC'>F^t-%'normalG6#*(FdrFPF^sFPFfzF[u>8&-%$mapG6$f*6#F.F
F6$%)operatorG%&arrowGFF-T&6$T#FNFFFF6&F4F^tF*9)Fhv>8+-F`r6#F`^l>FY-F\^l6#,&-Fb
^l6$f*Fe^lFFFf^lFF*(&F\_lFerFP&T%FerF[uFNFPFFFF6&F5F`_lF6F^rFYFPF`^lF[u@$FenC$>
F`^l-Fb^l6$f*Fe^lFFFf^lFFFi^lFFFFF]_lF_[l>Fhn-F\^l6#,&-Fb^l6$f*Fe^lFFFf^lFFFj_l
FFFFF^`lFhnFPF`^lF[uC'>F^t-Fa]l6$-%'NormalGF]^lF]]l>F`^l-Fb^l6$f*Fe^lFFFf^lFFFi
^lFFFFF]_lFhv>F`_lFa_l>FY-Fa]l6$-Faal6#,&-Fb^l6$f*Fe^lFFFf^lFFFj_lFFFFF^`lFYFPF
`^lF[uF]]l@$FenC$>F`^l-Fb^l6$f*Fe^lFFFf^lFFFi^lFFFFF]_lF_[l>Fhn-Fa]l6$-Faal6#,&
-Fb^l6$f*Fe^lFFFf^lFFFj_lFFFFF^`lFhnFPF`^lF[uF]]l>Fir%%trueG>F\p,&F\pFPFPFP@%F_
u@%Fh]lC$>Feq-%'subsopG6$/&F^r6$FPF[o-F\^l6#,&&Feq6#F[dlFPF\sFPFeq>FY-Fhcl6$/F[
dl-F\^l6#,&&FYFadlFPF\sF[uFYC$>Feq-Fhcl6$/F[dl-Fa]l6$-FaalF^dlF]]lFeq>FY-Fhcl6$
/F[dl-Fa]l6$-FaalFgdlF]]lFYC%@%Fh]l>Feq*(&F`_lFerFPFdrF[uFeqFP>Feq-Fa]l6$F\flF]
]l>F\r*(F\rFPF]flFPFdrF[u@$9'@%Fh]l>Fgq-Fhcl6$/F\p,&&FgqF[pFP*(F\sFPF\rF[uFfzF[
uFPFgq>Fgq-Fa]l6$FgflF]]l>F^rF_r@$3F_y0F\rFP@%Fh]l>Feq-F\^l6#*&FeqFPF\rF[u>Feq-
Fa]l6$-FaalFgglF]]l@$3FenFcgl@%Fh]l>Fhn-F\^l6#*&FhnFPF\rF[u>Fhn-Fa]l6$-FaalFbhl
F]]l7$7$FeqFhnFgqFFFFFFFF
M7R0
I5JanetOre/jcriteria12f*6#'%"qG%%listG6$%"iG%"lG6#%\pCopyright~(C)~2000-2010~by
~Carlos~F.~Cid~and~Daniel~Robertz.~All~rights~reserved.G6"C%@$/&9$6#""#&F26#""$
-%'RETURNG6#%&falseG?(8$"""F>%*jnumber_tG%%trueG@$-%5JanetOre/pinv_divideG6%&%)
J_T_ListG6$F=F7&FF6$F=""&F5C%@$/-%%nopsG6#&FF6%F>F>F>F>C$>8%7$,&&F26$F4F>F>&FF6
%F=F4F>F>&F26$F4F4@$-%8JanetOre/conv_divisibleG6$FUF5C$>%)_jocrit1G,&F^oF>F>F>-
F96#F@@$0-%.JanetOre/pLCMG6$F1&FF6$F=F4&F56#;F>F4C$>%)_jocrit2G,&F^pF>F>F>F`oF8
F;F-6$F^oF^pF-F-
M7R0
I<JanetOre/jupdate_T_exteriorf*6$%"LG'%-var_exteriorG%%listG6)%"iG%"jG%"lG%"nG%
"vG%$conG%(allmultG6#%joCopyright~(C)~2000-2010~by~Arne~Lorenz~and~Daniel~Rober
tz.~All~rights~reserved.G6"C$>8'-%%nopsG6#9$@$2""!F6C%>%)J_T_ListG-%'subsopG6$/
&F:6#F67)&&F@6#FE6#"""&FI6#""#&FI6#""$7#-%"$G6$F=%'_jnvarG-%:JanetOre/allmult_e
xteriorG6$FP9%&FI6#""'7"F@>8(FL?(8$,&F6FL!""FLF_oFL%%trueGC'>8%F[o?(F3FLFLF331F
coFW/&F@6&&F:6#,&F]oFLFLFLFRFLFco&F@6&&F:6#F]oFRFLFco>Fco,&FcoFLFLFL>8)-FB6$-%$
seqG6$/8&F=/F[q;FbpFW&&F@6#F_p6#""%@$3/FcoF[o/F]pF=>F[o,&F[oFLFLFL>F@-FB6$/F_p-
FB6$/FbqFdpF_qF@F36#F@F3F3
M7R0
IEJanetOre/JSubmoduleHilbertPolynomialf*6"6<%"bG%"dG%#dpG%"iG%"jG%"lG%"nG%"pG%"
sG%&n_mulG%,given_basisG%&m_ordG%'n_entrG%"FG%%varsG%$varG%$opsG%2tmp_J_T_List_
dataG%%nvarG%(var_ordG%'vt_degG%)entr_posG%%seqvG%,force_evalaG%'lmprocG%$resG6
#%jnCopyright~(C)~2007-2010~by~Daniel~Robertz.~All~rights~reserved.GF$C.@$4%2Ja
netOre/ratcoeffG-%&ERRORG6#%fnnot~implemented~yet~for~involutive~bases~over~the
~integers.G>8,%%NULLG>84FL>8;%&falseG>8/""%@%519#"""32FYFX5555-%%typeG6$&9"6#""
#%)equationG-F[o6$F]o%(numericG-F[o6$F]o-%%listG6#%(integerG-F[o6$F]o%%nameG3-F
[o6$F]oFho5-%(hastypeG6$F]o%)functionG-Fcp6$F]o%*procedureGC$>8.FQ>8(FYC$>F[q%%
trueG>F]q""$?(8'F]qFYFXF`q@--F[o6$&F^o6#FdqFjo@%F[q>FSFhq@%/FKFL>FKFhq-FG6#%Zca
nnot~determine~which~indeterminate~or~value~to~plug~in.G-F[o6$FhqFho@'/Fhq7"F$4
5-F[o6$FhqFgo-F[o6$Fhq-Fho6#Fho>FNFhq>FSFhq-F[o6$FhqFdo@%F]r>FKFhqF_r3-F[o6$Fhq
Fao/-%#opG6$FYFhqQ$varF$@%F]r>FK-Fjs6$F`oFhqF_r-F[o6$FhqF]p@%F]r>FKFhqF_r-FG6#%
0invalid~option.G@$F]r>FK.FK@%F[qC4>81-%3JanetOre/procinputG6#&F^o6#FY>80&F^uFc
u>FP5FP&F^u6#""&>8573%)J_T_ListG%*jnumber_tG%)JTab_VarG%'_jnvarG%'_jpvarG%)_jva
rdegG%)_jtupdegG%-_jentrblocksG%&J_HOMG%*_jpno_rhsG%1_jpforce_collectG%/_jpforc
e_evalaG%*_jinv_denG%._JBOre_factorG%6_JBOre_factor_multvarG%+_JBOre_varG%-_JBO
re_compaG>82-%2JanetOre/procvarsG6$F]oFeu>87&FawF_o>88&Faw6#Fbq>89&Faw6#""'>83&
FawFcu>8:7#-%$seqG6$-%$catG6$%#_xGFdq/Fdq;FY-%%nopsG6#Fbx>Ffw-%%subsG6$7#-Fhx6$
/&FbxFiq&FexFiqF^yFfw@$30FfwFfr/FSFT>FS7#-%"$G6$FT-Fay6#Ffw@$0FNFL-%1JanetOre/p
rocopsG6%FbxFNFex>8)-%1JanetOre/procordG6*FSFbxFfwFjw&Faw6#FTFexF]x4FP@$&F^[lFc
[l>F]xFfr@$/&Fiw6#;,&F`yFYFYFY,&F`yFYFeuFY7#-Fdz6$""!Feu>FiwFb\l>8<-%&parseG6#-
F[y6/Q<g->`JanetOre/j_lead_mon`(g,F$-%(convertG6$Feu%'stringGQ",F$-F]]l6$FexF_]
lF`]l-F]]l6$&F^[lFcuF_]lF`]l-F]]l6$F]xF_]lF`]l-F]]l6$&F^[lFjuF_]lF`]l-F]]l6$Fiw
F_]lQ")F$-%7JanetOre/setupJ_T_ListG6*-%(collectG6%&F^uFc[lFbx%,distributedGFeu&
F^uF_oFe\l&F^[lF[x&FawFjuFbx&F^uF[x@$4-%)assignedG6#F_v-FG6#%Lmissing~involutiv
e~basis;~run~JBasis~first.G@%/&F_v6%FYF`xFYFb\l>8=Fb\l@%%3JanetOre/janetlikeGC%
>Fg_lFb\l>8*-Fay6#&F_v6%FYFbqFY?&FdqF_vF`qC%>8--%*numboccurG6$&FdqFju%)infinity
G>8%-F]]l6$&Fdq6$FbqFY%"+G@%/Fe`lF]`l>Fg_l,&Fg_lFY-%)binomialG6$,*Fe`lFYFKFYF\a
l!""FjalFY,&Fe`lFYFjalFYFYC'>8$-Fey6$/Fj`lFb\lFi`l>8+7#-Fdz6$Fb\lF]`l>Fg_lFeal>
Fcbl-%6JanetOre/nextmonomialG6$FcblF^bl?(F$FYFYF$0FcblFdblC%>8&-F]]l6$FcblFaal>
Fg_l,&Fg_lFY-Fgal6$,,Fe`lFYFKFYF\alFjalF`clFjalFjalFYF[blFY>FcblFibl>Fg_l-%$add
G6$-Fgal6$,*-Fg`l6$&F_v6$FdqF[vFj`lFYFKFY-F]]l6$&F_v6%FdqFbqFYFaalFjalFjalFY,&F
`dlFYFjalFY/Fdq;FY-FayF^_l@$F[q-%9JanetOre/restoreJ_T_ListG6#F]v-%'expandG6#Fg_
lF$F$F$F$
M7R0
I6JanetOre/JApplyMatrixf*6%%"aG%#bbG'%%varsG%%listG6,%"bG%"cG%"iG%"jG%"kG%"nG%"
rG%"vG%$varG%(appprocG6#%jnCopyright~(C)~2007-2010~by~Daniel~Robertz.~All~right
s~reserved.G6"C'>8,&-%2JanetOre/procvarsG6$9&""!6#"""@%2""$9#>8-&-%1JanetOre/pr
ocopsG6%F:&9"6#""%F:6#""(>FH-%(unapplyG6%*&%#_aGFB%#_bGFBFXFY>8+-%*substringG6$
-%(convertG6$-%+kerneloptsG6#%(versionG%'stringG;FB"")@%-%%typeG6$9%%'matrixG>8
$-%$mapG6%Fjn-%&evalmG6#Fgo%"DG>Fjo-Fjn6$FgoFap@+55-Feo6$9$Fho-Feo6$Fjp%)listli
stG330FenQ)Maple~V,F70FenQ)Maple~6.F7-Feo6$Fjp%'MatrixG@-5-Feo6$FjoFho-Feo6$Fjo
F]qC'>8)-&%'linalgG6#%'coldimG6#Fjp@$0F_r-&Fbr6#%'rowdimG6#Fjo-%&ERRORG6#%@matr
ix~dimensions~incompatible.G>8*-FirFer>8%-FarF\s@'3F[qF[r-Fjn6$-%)simplifyG6#7#
-%$seqG6$-F`t6$-%$addG6$-FH6$&Fjp6$8&8(&Fjo6$F\u8'/F\u;FBF_r/F_u;FBFes/F[u;FBFb
sFap5FhpFiq-F\p6%Fjn-F\t6#-Fho6%FbsFesF^tFap-Fjn6$-F\t6#-Ffq6%FbsFes7#-F`t6$7#F
btFduFap3F_q-Feo6$FjoFfqC'>F_rF`r@$0F_r-&%.LinearAlgebraG6#%-RowDimensionGF\sF]
s>FbsFcs>Fes-&F`w6#%0ColumnDimensionGF\sF]v-Feo6$Fjo%'vectorGC&>F_rF`r@$0F_r-&F
br6#%(vectdimGF\s-F^s6#%cpnumber~of~columns~of~first~argument~does~not~equal~nu
mber~of~entries~of~second~argument.G>FbsFcs@%Fgp-F\p6%Fjn-F\t6#-F[x6$Fbs7#-F`t6
$-Fet6$-FH6$Fit&Fjo6#F\uF`uFduFap-Fjn6$-F\t6#-&%'VectorG6#%'columnGF^yFap3F_q-F
eo6$FjoF^zC&>F_rF`r@$F_xFdx>FbsFcsFhy-Feo6$FjoF)-F^s6#%Rcannot~multiply~a~matri
x~or~listlist~with~a~list.GC%>FbsFcs>FesF`r@'F[q-Fjn6$-F\t6#7#-F`t6$7#-F`t6$-FH
6$FitFjo/F\uFcuFduFapFhp-F\p6%Fjn-F\t6#-Fho6%FbsFesFe[lFap-Fjn6$-F\t6#-FfqFc\lF
ap-Feo6$FjpF[x@)5FhqFgvC&>F_rFhr@$0F_r-FaxFer-F^s6#%`pnumber~of~entries~of~firs
t~argument~does~not~equal~number~of~rows~of~second~argument.G>FesFfs@%Fhq-F\p6%
Fjn-F\t6#-F[x6$Fes7#-F`t6$-Fet6$-FH6$&FjpFgy&Fjo6$F\uF[uF`u/F[uFcuFap-Fjn6$-F\t
6#-F^zF\^lFap5FiwFazC%>F_rFa]l@$F_x-F^s6#%cpnumber~of~entries~of~first~argument
~does~not~equal~number~of~entries~of~second~argument.G-Fjn6$-F\t6#-Fet6$-FH6$Fd
^lFfyF`uFapFhz-F^s6#%Fcannot~multiply~a~vector~with~a~list.GC$>F_rFa]l-F\p6%Fjn
-F\t6#-F[x6$F_r7#-F`t6$-FH6$Fd^lFjoF`uFap3F_q-Feo6$FjpF^z@)F\]lC&>F_rFhr@$F`]lF
b]l>FesFfsFh^lF]_lC%>F_rFa]l@$F_xFa_lFd_lFhzF\`lC$>F_rFa]l-Fjn6$-F\t6#-F^zFf`lF
ap-Feo6$FjpF)@'5FiqFgv-F^s6#%Fcannot~multiply~a~list~with~a~matrix.GFhz-F^s6#%D
cannot~multiply~a~list~with~a~list.G-Fjn6$-F\t6#-F\p6$f*6#F-F76$%)operatorG%&ar
rowGF7-T%6$FjpT#F7F76&F+FjoF4FHFjpFap@/FiqC%>FbsFhr>FesFfs-F\p6%Fjn-F\t6#-Fho6%
FbsFes7#-F`t6$7#-F`t6$-FH6$Fjp&FjoFjtF]\lFduFapFgvC%>FbsF^w>FesFew-Fjn6$-F\t6#-
FfqFadlFapFiwC$>F_rF`x-F\p6%Fjn-F\t6#-F[x6$F_r7#-F`t6$-FH6$FjpFfyF`uFapFazC$>F_
rF`x-Fjn6$-F\t6#-F^zFjelFapF[r-Fjn6$-F\t6#-F\p6$f*F_clF7F`clF7-F\p6$f*6#F.F7F`c
lF7-Fdcl6$T$FjpF7F76&F%FdglF4FdclFjpF7F76&F%FjpF4FHFjoFapFhz-Fjn6$-F\t6#-F\p6$f
*F_clF7F`clF7FbglF7F7FfglFjoFap-Fjn6$-F\t6#-FH6$FjpFjoFapF7F7F7F7
M7R0
I7JanetOre/JRightInversef*6$%"LG'%%varsG%%listG6&%"iG%"vG%"RG%$opsG6#%jnCopyrig
ht~(C)~2003-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C%@%2""#9#>8'&9"6#""
$>F7%%NULLG>8&-%6JanetOre/JLeftInverseG6%-%5JanetOre/JInvolutionG6%-%$mapG6$f*6
#F*F06$%)operatorG%&arrowGF0&9$6#"""F0F0F0&-%3JanetOre/procinputG6#FO6#""%9%F7F
XF7@%/F?%%FAILGF?@%-%%typeG6$FO%'matrixG-FD6%-Fjn6#F?FXF7C$>8%-%*substringG6$-%
(convertG6$-%+kerneloptsG6#%(versionG%'stringG;FQ"")@%330FaoQ)Maple~V,F00FaoQ)M
aple~6.F0-Fhn6$FO%'MatrixG-FD6%-FhpF^oFXF7-FD6%F?FXF7F0F0F0F0
M7R0
I6JanetOre/JRightDividef*6&%#_AG%#_BG%#_LG%%_varG6/%"AG%"BG%"mG%"LG%#BLG%$varG%
$ILBG%"RG%"rG%#IBG%"ZG%#ZZG%#SIG6#%[oCopyright~(C)~2003-2005~by~Mohamed~Barakat
.~All~rights~reserved.G6"C1>8$-%$mapG6$f*6#%"aGF96$%)operatorG%&arrowGF9&9$6#""
"F9F9F9&-%3JanetOre/procinputG6#FG6#""%>8%-F>6$f*FAF9FCF9FFF9F9F9&-FL6#9%FN>8&-
%%nopsG6#&FQFH@'/9#""$C$>8)&9"6#F\o>8(FQ32F\oF[o-%%typeG6$&FaoFN-%%listG6#%%nam
eGC%>8'-F>6$f*FAF9FCF9FFF9F9F9&-FL6#9&FN>F_oFjo>Fdo-F>6$%#opG7$FQFap-%&ERRORG6#
%Nexpecting~list~of~variables~as~last~argument!G>8*-%0JanetOre/JBasisG6$-%1Jane
tOre/JAddRhsG6#FdoF_o>8+-F>6$f*FAF9FCF9@%-Fho6$FGF\pFG7#FGF9F9F9-F>6$%$rhsGFdq>
8,-Ffn6#F\r>8--F>6$f*FAF9FCF9@%FarFGFcrF9F9F9-F>6$%$lhsGFdq>F\s-Fiq6#F\s>8.7#-%
"$G6$""!Fhr>8/7#-F[t6$F]tFZ>80-F>6&%4JanetOre/JInvReduceG-F>6$f*FAF9FCF9/FGT#F9
F96$F4FhsF<F\sF_o>Fdt-F>6$f*FAF9FCF9@%/-FcsFMF\u-FfrFM-F`q6#%VThe~second~(+thir
d)~argument~is~not~a~generating~set!GF9F96$F5F_tFdt@$32FOF[o-Fho6$&Fao6#""&%'sy
mbolG@%/%4JanetOre/matrixtypeG%'MatrixG-%'assignG6$F_v-%(convertG6$-%&evalmG6#,
$-%#&*G6$Fdt-&%'linalgG6#%*submatrixG6%F\r;FIFhr;,&-Ffn6#FQFIFIFIFhr!""Ffv-Fhv6
$F_vF]w@%Fdv-F[w6$-F^w6#,$-Fbw6$Fdt-Few6%F\rFjw;FIF]xF_xFfvFexF9F9F9F9
M7R0
I0JanetOre/JCoefff*6%%"LG'%$genG%%listG'%$varGF(6*%"aG%"iG%"vG%#IBG%#M1G%#M2G%$
M2aG%$opsG6#%jnCopyright~(C)~2003-2010~by~Daniel~Robertz.~All~rights~reserved.G
6"C&@%1""%9#>8+&9"6#F:>F=%%NULLG>8'-%0JanetOre/JBasisG6%-%1JanetOre/JAddRhsG6#9
%9&F=>8(-%$mapG6$%$rhsGFD@'53-%%typeG6$-%$lhsG6#&FD6#"""F(-FW6$9$%)listlistG34F
V-FW6$F[oF(C$>8)-FP6$f*6#F,F66$%)operatorG%&arrowGF6&-%4JanetOre/JInvReduceG6(F
[oT#T&T'F:Q"CF66#""#F6F66(F/FDF*FLF3F=F[o@%/%4JanetOre/matrixtypeG%'MatrixG-%(c
onvertG6$-%&evalmG6#-%#&*G6$FcoFNFip-F[q6$F]q%'matrixG-FW6$F[oFeqC%>Fco-Feq6$""
!-%%nopsG6#&FNFgn?(8%FhnFhn-&%'linalgG6#%'rowdimG6#F[o%%trueGC$>8*-FP6$f*FgoF6F
hoF6F[pF6F6Fep-F[q6$-&Fer6#%$rowG6$F[oFbrF(>Fco-&Fer6#%,stackmatrixG6$Fco-F^q6#
-Faq6$F\sFN-F^q6#FcoC$>8&-%*substringG6$-F[q6$-%+kerneloptsG6#%(versionG%'strin
gG;Fhn"")@%330FetQ)Maple~V,F60FetQ)Maple~6.F6-FW6$F[oFipC$>Fco7#&-F]p6(F[oFDFLF
=F:FbpFcpFjpC$>FcoF]v@%FgpFjpFcqF6F6F6F6
M7R0
I.JanetOre/JSumf*6%%#M1G%#M2G'%$varG%%listG6"6#%[oCopyright~(C)~2003-2010~by~Mo
hamed~Barakat.~All~rights~reserved.GF*-%3JanetOre/JCokernelG6#9"F*F*F*F*
M7R0
I1JanetOre/jresdimf*6#'%$resG-%%listG6#%'matrixG6"6#%[oCopyright~(C)~2003-2010~
by~Mohamed~Barakat.~All~rights~reserved.GF+7$-%#opG6#-%$mapG6$f*6#%"aGF+6$%)ope
ratorG%&arrowGF+-&%'linalgG6#%'rowdimG6#9$F+F+F+FA-&F=6#%'coldimG6#&FA6#!""F+F+
F+F+
M7R0
I7homalg/JanetOre/IsUnitf*6$%"pG'%$varG%%listG6#%"vG6#%joCopyright~(C)~2006-201
0~by~Arne~Lorenz~and~Daniel~Robertz.~All~rights~reserved.G6"@%%2JanetOre/ratcoe
ffGC$>8$-%5homalg/NormalizeRingG6$9%%)JanetOreG309$""!/-%*intersectG6$-%'indets
G6#F:<#-%#opG6#&F26#"""<"5/F:FI/F:!""F-F-F-F-
M7R0
I6JanetOre/invred_Z_absf*6*%"fG%"TG%'no_rhsG%.return_coeffsG%%seqvG%(mulprocG%'
lmprocG%(loc_varG64%"cG%"eG%"hG%#h2G%"iG%"jG%"kG%"lG%#lmG%"nG%"rG%$divG%'n_entr
G%(termo_hG%*zero_listG%#lvG%#nlG%"HG6#%\pCopyright~(C)~2000-2010~by~Carlos~F.~
Cid~and~Daniel~Robertz.~All~rights~reserved.G6"C,>80-%%nopsG6#&9$6#""">827#-%"$
G6$""!FE>8&FI@$49&>8'&FJ6#""#>8--FG6#9%>8.FN>8$7#-FQ6$FSFin>8,-9*6#FU?(FBFLFLFB
0&Feo6$FgnFLFSC)>8(FL>8/%&falseG>8)&Feo6$FLFgn>81-%'subsopG6$/Fdp&Feo6$FgnFgnFN
?(FBFLFLFB31F_pFin4FapC$@$-%5JanetOre/pinv_divideG6%&F\o6$F_p""$&F\o6$F_p""&&Fe
oFKC$>8+-%%iquoG6$F[p&F\o6%F_p""'FL@&0FarFSC%>FU-%'normalG6#,&FUFL-9)6$*(FarFLF
]qFL&F\o6%F_pFgrFgn!""&F\o6%F_pFLFLFfs@$FW>FZ-F]s6#,&FZFL-Fas6$Fcs&F\o6%F_pFLFg
nFfs>Fap%%trueG52-%$absG6#-%&roundG6#,$Fer#FLFgn-Fgt6#F[p3/F^uFft/-%%signGF_uFf
sC&>Far*&FcuFL-Fdu6#FerFL>FUF\s@$FW>FZF[t>FapFct>F_p,&F_pFLFLFL@%FbqC$>F^o-%'ex
pandG6#,&F^oFL*&F[pFLFhpFLFL>FU-Fdv6#,&FUFLFgvFfs@$9'C$>F_p,&F_pFLFfsFL>F`o-Fjp
6$/F_p,&&F`o6#F_pFLFcsFLF`o>FeoFfo7$7$F^oFZF`oFBFBFBFB
M7R0
I3JanetOre/pplex_POTf*6$%"aG%"bG6#%"iG6#%\pCopyright~(C)~2000-2010~by~Carlos~F.
~Cid~and~Daniel~Robertz.~All~rights~reserved.G6"C%@&2&9$6#""#&9%F1-%'RETURNG6#%
&falseG2F3F/-F66#%%trueG?(8$"""F?-%%nopsG6#&F06#F?F<@&2&FC6#F>&&F4FDFHF:2FIFGF5
F<F+F+F+F+
M7R0
I?JanetOre/pnegplex_Z_entr_blockf*6$%"aG%"bG6"6#%jnCopyright~(C)~2006-2010~by~D
aniel~Robertz.~All~rights~reserved.GF'@'2&%-_jentrblocksG6#&9$6#""#&F-6#&9%F1%&
falseG2F3F,%%trueG4-%1JanetOre/pplex_ZG6$F0F6F'F'F'F'
M7R0
ICJanetOre/pdegrevlex_deg_entr_blockf*6$%"aG%"bG6&%"iG%"nG%$tdaG%$tdbG6#%jnCopy
right~(C)~2006-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C)@&2&%-_jentrblo
cksG6#&9$6#""#&F36#&9%F7-%'RETURNG6#%&falseG2F9F2-F>6#%%trueG>8%-%%nopsG6#&F66#
""">8&-%$addG6$*&&FJ6#8$FL&%*_jovardegGFTFL/FU;FLFF>8'-FP6$*&&&F<FKFTFLFVFLFX@'
2FNFenFB2FenFNF=?(FUFF!""FLFD@&2FinFSFB2FSFinF=@$2F5F;F=FDF.F.F.F.
M7R0
I9JanetOre/pnegdegrevlex_Zf*6$%"aG%"bG6%%"iG%$tdaG%$tdbG6#%jnCopyright~(C)~2004
-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C'>8%-%(convertG6$&9$6#"""%"+G>
8&-F26$&9%F6F8@'2F0F:-%'RETURNG6#%&falseG2F:F0-FB6#%%trueG?(8$-%%nopsG6#F4!""F7
FH@&2&F=6#FJ&F4FRFF2FSFQFA@&2-%$absG6#&F>6#""$-FX6#&F5FenFA2FgnFWFF@%2&F56#""#&
F>F^oFDFHF-F-F-F-
M7R0
I9JanetOre/block_ord_Z_POTf*6&%"aG%"bG%$sepG%+termordersG6#%"iG6#%jnCopyright~(
C)~2004-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C$@&2&9$6#""#&9%F3-%'RET
URNG6#%&falseG2F5F1-F86#%%trueG@'4-&9'6#"""6$7$&&F2FD6#;FE&9&FDF17$&&F6FDFJF5F:
/FHFOC$?(8$F4FE-%%nopsG6#FMF>@&4-&FC6#FT6$7$&FI6#;,&&FM6#,&FTFE!""FEFEFEFE&FMFf
nF17$&FPFjnF5F70FinFcoF<@%2-%$absG6#&F66#""$-Fho6#&F2F[pF:F>F>F-F-F-F-
M7R0
I3JanetOre/lm_neglexf*6$%"pG%%seqvG6'%"iG%"jG%"nG%"CG%"LG6#%jnCopyright~(C)~200
4-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C)>8'7#-%'coeffsG6%9$9%.8(>8&-
%%nopsG6#F2@$/F<"""-%'RETURNG6$&F26#FBF:>F:7#F:>8%FB?(8$""#FBF<%%trueG@$4-&%)Gr
oebnerG6#%*testorderG6%&F:6#FK&F:6#FM-%%plexG6#-%#opG6#F8>FKFM-FD6$&F2FYFXF/F/F
/F/
M7R0
I7JanetOre/proctermorderf*6(%&m_ordG%%seqvG%(var_degG%(tup_degG%)entr_posG%/def
ault_lmprocG60%#_aG%#_bG%#_cG%$cmpG%'lmprocG%&B_OrdG%,B_Ord_blockG%&N_OrdG%,N_O
rd_blockG%$POTG%"sG%.str_testorderG%-str_leadtermG%)str_seqvG6#%jnCopyright~(C)
~2002-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C'>81-%$catG6$-%#opG6#-%$m
apG6$f*6#F6F<6$%)operatorG%&arrowGF<-FA6$-%(convertG6$9$%'stringGQ",F<F<F<F<&9%
6#;"""!"#-FQ6$&FW6#!""FT>8.-FQ6$-%+kerneloptsG6#%(versionGFT@'5555/-%*substring
G6$F\o;FZ""(Q(Maple~VF</FioQ(Maple~6F</FioQ(Maple~7F</FioQ(Maple~8F</-Fjo6$F\o;
FZ""*Q*Maple~9.5F<C$>8/QD(_a,_b)->Groebner[testorder](_a,_b,F<>80Q:_a->Groebner
[leadmon](_a,F</FfpQ*Maple~9.0F<C$>F]qQD(_a,_b)->Groebner:-testorder(_a,_b,F<>F
`qQ:_a->Groebner:-leadmon(_a,F<C$>F]qQD(_a,_b)->Groebner[TestOrder](_a,_b,F<>F`
qQ>_a->Groebner[LeadingTerm](_a,F<@3/FSFZC(>8-%%trueG>8'-%&parseG6#-FA6&F]qQ&pl
ex(F<F?Q#))F<@%9)>8(-Fgr6#-FA6&F`qF[sF?F\s>F`s-Fgr6#-FA6)Q<_c->`JanetOre/jleadm
on`(_c,F<-FQ6$FWFTFUF]qF[sF?Q$)))F<@%%2JanetOre/ratcoeffGC$>8)%3JanetOre/pplex_
POTG>8+%/JanetOre/pplexGC$>Fbt%5JanetOre/pplex_Z_POTG>Fet%1JanetOre/pplex_ZG>8*
%5JanetOre/pplex_blockG>8,F^u/FS""#C$>FbrFcr@%09&7#-%"$G6$FZ-%%nopsG6#FWC'>Fer-
Fgr6#-FA6(F]qQ&wdeg(F<-FQ6$FguFTFUF[tF\s@%F^s>F`s-Fgr6#-FA6(F`qFevFfvFUF[tF\s>F
`s-Fgr6#-FA6+FjsF[tFUF]qFevFfvFUF[tF]t@%F_tC$>Fbt%<JanetOre/pdegrevlex_deg_POTG
>Fet%8JanetOre/pdegrevlex_degGC$>Fbt%>JanetOre/pdegrevlex_deg_Z_POTG>Fet%:Janet
Ore/pdegrevlex_deg_ZG>F]u%>JanetOre/pdegrevlex_deg_blockG>F`uF_xC%>Fer-Fgr6#-FA
6&F]qQ&tdeg(F<F?F\s@%F^s>F`s-Fgr6#-FA6&F`qFgxF?F\s>F`s-Fgr6#-FA6)FjsF[tFUF]qFgx
F?F]t@%09'7#-Fju6$""!-F]v6#FeyC%@%F_tC$>FbtFfw>FetFhwC$>FbtF[x>FetF]x>F]uF_x>F`
uF_xC%@%F_tC$>Fbt%8JanetOre/pdegrevlex_POTG>Fet%4JanetOre/pdegrevlexGC$>Fbt%:Ja
netOre/pdegrevlex_Z_POTG>Fet%6JanetOre/pdegrevlex_ZG>F]u%:JanetOre/pdegrevlex_b
lockG>F`uFc[l/FS""$C(>Fbr%&falseG>FerFfr@%F^s>F`sFas>F`sFfs@%3/-F]v6#9(FZ/&Fc\l
6#FZFjy@%F_tC$>FbtFft>FetFftC$>FbtF[u>FetF[u@%F_tC$>Fbt%:JanetOre/pplex_entr_bl
ockG>FetFftC$>Fbt%<JanetOre/pplex_Z_entr_blockG>FetF[u>F]uF^u>F`uF^u/FS""%C$>Fb
rFi[l@%FfuC'>FerFav@%F^s>F`sFjv>F`sF_w@%F_\l@%F_tC$>FbtFhw>FetFhwC$>FbtF]x>FetF
]x@%F_tC$>Fbt%CJanetOre/pdegrevlex_deg_entr_blockG>FetFhwC$>Fbt%EJanetOre/pdegr
evlex_deg_Z_entr_blockG>FetF]x>F]uF_x>F`uF_xC%>FerFcx@%F^s>F`sFjx>F`sF_y@%FdyC%
@%F_\l@%F_tC$>FbtFhw>FetFhwC$>FbtF]x>FetF]x@%F_tC$>FbtF^_l>FetFhwC$>FbtFb_l>Fet
F]x>F]uF_x>F`uF_xC%@%F_\l@%F_tC$>FbtF\[l>FetF\[lC$>FbtFa[l>FetFa[l@%F_tC$>Fbt%?
JanetOre/pdegrevlex_entr_blockG>FetF\[lC$>Fbt%AJanetOre/pdegrevlex_Z_entr_block
G>FetFa[l>F]uFc[l>F`uFc[l/FSFjnC)-%&ERRORG6#%Klocal~monomial~ordering~not~suppo
rted~yet.G>FbrFcr>Ferf*6$F,F-F<FKF<-%1JanetOre/pneglexG6%FSFWT$F<F<6$F&FW>F`s-F
gr6#-FA6%Q=_a->`JanetOre/lm_neglex`(_a,F<F[tQ")F<@%F_tC$>Fbt%6JanetOre/pnegplex
_POTG>FetFftC%-Febl6#%Tlocal~orders~not~supported~yet~in~the~integer~case.G>Fbt
%8JanetOre/pnegplex_Z_POTG>FetF[u>F]u%8JanetOre/pnegplex_blockG>F`uF^u/FSFenC*F
dbl@$5FfuFdy-Febl6#%apUp~to~now,~only~default~degrees~for~variables~and~tuples~
are~allowed~for~local~orders.G>FbrFcr>Ferf*F[clF<FKF<-%2JanetOre/pnegtdegGF^clF
<F<F`cl>F`s-Fgr6#-FA6%Q>_a->`JanetOre/lm_negtdeg`(_a,F<F[tFgcl@%F_tC$>Fbt%;Jane
tOre/pnegdegrevlex_POTG>FetF\[lC%F^dl>Fbt%=JanetOre/pnegdegrevlex_Z_POTG>FetFa[
l>F]u%=JanetOre/pnegdegrevlex_blockG>F`uFc[l/FS!"$C)Fdbl>FbrFi[l>Ferf*F[clF<FKF
<F\clF<F<F`cl>F`sFbcl@%F_\l@%F_tC$>Fbt%2JanetOre/pnegplexG>FetFftC%F^dl>FbtF`gl
>FetF[u@%F_tC$>Fbt%=JanetOre/pnegplex_entr_blockG>FetFftC%F^dl>Fbt%?JanetOre/pn
egplex_Z_entr_blockG>FetF[u>F]uFedl>F`uF^u/FS!"%C*Fdbl@$FjdlF[el>FbrFi[l>Ferf*F
[clF<FKF<FaelF<F<F`cl>F`sFdel@%F_\l@%F_tC$>Fbt%7JanetOre/pnegdegrevlexG>FetF\[l
C%F^dl>FbtF\il>FetFa[l@%F_tC$>Fbt%BJanetOre/pnegdegrevlex_entr_blockG>FetF\[lC%
F^dl>Fbt%DJanetOre/pnegdegrevlex_Z_entr_blockG>FetFa[l>F]uFcfl>F`uFc[l-Febl6#%4
invalid~term~order.G7)-%%evalG6#F`sFetF`uFbtF]uFbr-Fajl6#FerF<F<F<F<
M7R0
I9JanetOre/jnormal_form_lmf*6)%"fG%"FG%%seqvG%(mulprocG%'lmprocG%'ppprocG%(loc_
varG65%"aG%"eG%"gG%"hG%"iG%"kG%#lgG%#lmG%$divG%+no_contentG%'n_entrG%*zero_list
G%.rhs_zero_listG%#lvG%#nlG%#nvG%"HG%#meG%#hiG6#%jnCopyright~(C)~2000-2010~by~D
aniel~Robertz.~All~rights~reserved.G6"C->%*_jonnformG,&FE"""FGFG>8'9$>8.-%%nops
G6#&FI6#FG@$09*7"C'>81<#-%$seqG6$&9&6#&FT6#8(/F\o;FG-FN6#FT>82-FN6#FX>83-%'remo
veG6%%$hasGFhnFX>84FU>FI7$-%7JanetOre/cancel_locvarG6%FPFhnFT-F`p6%&FI6#""#FhnF
T>8/7#-%"$G6$""!FL>807#-F[q6$F]q-FN6#Fdp>8-%%trueG>8,Fgq>8+-9(FO?(FBFGFGFB3Fiq0
&F[r6$FfpFGF]qC&>F\oFG>Fiq%&falseG@$FS>8%,&-%$maxG6#-Fen6$-%'degreeG6$&FP6#8)FX
/Fes;FGFLFG-%$addG6$&&F[r6$FGFG6#&FTFds/Fes;FGFbo!""?(FBFGFGFB31F\o-FN6#9%4FiqC
$@$30FPFhp-%5JanetOre/pinv_divideG6%&Fht6$F\o""$&Fht6$F\o""&&F[rFQC'>%)_joreduc
G,&FjuFGFGFG@%FSC+>85,&-F\s6#-Fen6$-Fas6$&&Fht6%F\oFGFGFdsFXFfsFG-Fis6$&&Fht6%F
\oFcuFGF^tF`tFbt>86F]q>Fes-FN6#F\p?(FBFGFGFB32F]qF_v2F]qFesC$@$331&&F\pFds6#Fcu
F_v/&&&F^xFepFQFep&FguFep-%8JanetOre/conv_divisibleG6$FbxFguC$>F`wFes>F_vF]x>Fe
s,&FesFGFbtFG@$2FirF_vC$>Fes-9)6%FPFhn7$Fdp&&F[rFepFQ>F\p7$-%#opGFcw7%7$&FesFQ&
&FesFepFQ7$Fgu-%'subsopG6$/FG&F_zFepFfyFir@%/F`wF]q>FI-%'expandG6#,&*&&Fht6%F\o
""'FGFGFIFGFG7$,$**FarFG&F[r6$FfpFfpFG&Fht6%F\oF`[lFfpFbtFhvFGFbt,$**FarFGFd[lF
GFf[lFbt&Fht6%F\oFGFfpFGFbtFG>FI-Fjz6#,&*&&&&&F\p6#F`wFepFepFQFGFIFGFG7$,$**Far
FGFd[lFG&Fb\lFepFbt&&Fd\lFQFQFGFbt,$**FarFGFd[lFGFi\lFbt&F[]lFepFGFbtFG>FI-Fby6
%FPFhnFdp>FIF^p@$0%0JanetOre/characGF]q>FI-%$modG6$FIFe]l@%/Fe]lF]qC'>Fes-%'nor
malG6#*(FarFGFd[lFGFf[lFbt>8&-F_^l6#7$-%$mapG6$f*6#F-FB6$%)operatorG%&arrowGFB-
T&6$T#FJFBFB6&F2FesF(9'Fhv-Fh^l6$f*F[_lFBF\_lFBF__lFBFBFc_lFj[l>8*-F]r6#&Fc^lFQ
>Fes-F_^l6#*&&Fi_lFbrFGFarFbt>FI7$-F_^l6#,&-Fh^l6$f*F[_lFBF\_lFB*&Fb_lFGFJFGFBF
B6$F2FesFPFGF\`lFbt-F_^l6#,&-Fh^l6$f*F[_lFBF\_lFBFj`lFBFBF[alFdpFG&Fc^lFepFbtC'
>Fes-Fh]l6$-%'NormalGF`^lFe]l>Fc^l7$-Fh^l6$f*F[_lFBF\_lFBF__lFBFBFc_lFhv-Fh^l6$
f*F[_lFBF\_lFBF__lFBFBFc_lFj[l>Fi_lFj_l>Fes-Fh]l6$-FhalF_`lFe]l>FI7$-Fh]l6$-Fha
l6#,&-Fh^l6$f*F[_lFBF\_lFBFj`lFBFBF[alFPFGF\`lFbtFe]l-Fh]l6$-Fhal6#,&-Fh^l6$f*F
[_lFBF\_lFBFj`lFBFBF[alFdpFGFbalFbtFe]l>FiqFgq>FfqFfr>F[rF\r>F\o,&F\oFGFGFG@'3/
FPFhp0FdpF_qC%>Fdp&-Fby6%FdpFhnFUFQ@$3F`dl4-%5JanetOre/member_multG6%Fdp%&J_HOM
GFhn>F\el7$-Fjy6#F\elFdp7$FPF_qF_dl7$FhpFdpC$@$FS>FIF^p@%/FfqFfrF`]lFIFB6%F\elF
juFEFBFB
M7R0
I<JanetOre/jnormal_form_lc_lmf*6)%"fG%"FG%%seqvG%(mulprocG%'lmprocG%'ppprocG%(l
oc_varG63%"aG%"eG%"hG%"iG%"kG%#lmG%$divG%+no_contentG%'n_entrG%*zero_listG%.rhs
_zero_listG%#lvG%#nlG%#nvG%"HG%#meG%#hiG6#%jnCopyright~(C)~2000-2010~by~Daniel~
Robertz.~All~rights~reserved.G6"C->%*_jonnformG,&FC"""FEFE>8&9$>8,-%%nopsG6#&FG
6#FE@$09*7"C'>8/<#-%$seqG6$&9&6#&FR6#8'/Fjn;FE-FL6#FR>80-FL6#FV>81-%'removeG6%%
$hasGFfnFV>82FS>FG7$-%7JanetOre/cancel_locvarG6%FNFfnFR-F^p6%&FG6#""#FfnFR>8-7#
-%"$G6$""!FJ>8.7#-Fip6$F[q-FL6#Fbp>8+%%trueG>8*Feq>8)-9(FM?(F@FEFEF@3Fgq0&Fiq6$
FdpFEF[qC&>FjnFE>Fgq%&falseG@$FQ>8%,&-%$maxG6#-FY6$-%'degreeG6$&FN6#8(FV/Fcs;FE
FJFE-%$addG6$&&Fiq6$FEFE6#&FRFbs/Fcs;FEF`o!""?(F@FEFEF@31Fjn-FL6#9%4FgqC$@$30FN
Ffp-%5JanetOre/pinv_divideG6%&Fft6$Fjn""$&Fft6$Fjn""&&FiqFOC'>%)_joreducG,&FhuF
EFEFE@%FQC+>83,&-Fjr6#-FY6$-F_s6$&&Fft6%FjnFEFEFbsFVFdsFE-Fgs6$&&Fft6%FjnFauFEF
\tF^tF`t>84F[q>Fcs-FL6#Fjo?(F@FEFEF@32F[qF]v2F[qFcsC$@$331&&FjoFbs6#FauF]v/&&&F
\xFcpFOFcp&FeuFcp-%8JanetOre/conv_divisibleG6$F`xFeuC$>F^wFcs>F]vF[x>Fcs,&FcsFE
F`tFE@$2FgrF]vC$>Fcs-9)6%FNFfn7$Fbp&&FiqFcpFO>Fjo7$-%#opGFaw7%7$&FcsFO&&FcsFcpF
O7$Feu-%'subsopG6$/FE&F]zFcpFdyFgr@%/F^wF[q>FG-%'expandG6#,&*&&Fft6%Fjn""'FEFEF
GFEFE7$,$**F_rFE&Fiq6$FdpFdpFE&Fft6%FjnF^[lFdpF`tFfvFEF`t,$**F_rFEFb[lFEFd[lF`t
&Fft6%FjnFEFdpFEF`tFE>FG-Fhz6#,&*&&&&&Fjo6#F^wFcpFcpFOFEFGFEFE7$,$**F_rFEFb[lFE
&F`\lFcpF`t&&Fb\lFOFOFEF`t,$**F_rFEFb[lFEFg\lF`t&Fi\lFcpFEF`tFE>FG-F`y6%FNFfnFb
p>FGF\p@$0%0JanetOre/characGF[q>FG-%$modG6$FGFc]l@%/Fc]lF[qC$>Fcs-%'normalG6#*(
F_rFEFb[lFEFd[lF`t>FG7$-F]^l6#,&-%$mapG6$f*6#F-F@6$%)operatorG%&arrowGF@*&&T$6%
T%F^[lFEFEFHFEF@F@6&F&FftF0FjnFNFE-Ff^l6$f*Fi^lF@Fj^lF@-T&6$T#FHF@F@6&F1FcsF(9'
FfvF`t-F]^l6#,&-Ff^l6$f*Fi^lF@Fj^lF@F]_lF@F@Fb_lFbpFE-Ff^l6$f*Fi^lF@Fj^lF@Ff_lF
@F@Fj_lFh[lF`tC$>Fcs-Ff]l6$-%'NormalGF^^lFc]l>FG7$-Ff]l6$-Fj`l6#,&-Ff^l6$f*Fi^l
F@Fj^lF@F]_lF@F@Fb_lFNFE-Ff^l6$f*Fi^lF@Fj^lF@Ff_lF@F@Fj_lFfvF`tFc]l-Ff]l6$-Fj`l
6#,&-Ff^l6$f*Fi^lF@Fj^lF@F]_lF@F@Fb_lFbpFE-Ff^l6$f*Fi^lF@Fj^lF@Ff_lF@F@Fj_lFh[l
F`tFc]l>FgqFeq>FdqFdr>FiqFjq>Fjn,&FjnFEFEFE@'3/FNFfp0FbpF]qC%>Fbp&-F`y6%FbpFfnF
SFO@$3F[cl4-%5JanetOre/member_multG6%Fbp%&J_HOMGFfn>Fgcl7$-Fhy6#FgclFbp7$FNF]qF
jbl7$FfpFbpC$@$FQ>FGF\p@%/FdqFdrF^]lFGF@6%FgclFhuFCF@F@
M7R0
IDJanetOre/jnormal_form_evala_lc_polyf*6)%"fG%"FG%%seqvG%(mulprocG%'lmprocG%'pp
procG%(loc_varG66%"aG%#caG%#cbG%"hG%"iG%"kG%"rG%#lmG%(termo_hG%$divG%'n_entrG%*
zero_listG%.rhs_zero_listG%#lvG%#nlG%#nvG%"HG%"eG%#meG%#hiG6#%\pCopyright~(C)~2
000-2010~by~Carlos~F.~Cid~and~Daniel~Robertz.~All~rights~reserved.G6"C,>%*_jonn
formG,&FF"""FHFH>8'9$>8.-%%nopsG6#&FJ6#FH@$09*7"C'>81<#-%$seqG6$&9&6#&FU6#8(/F]
o;FH-FO6#FU>82-FO6#FY>83-%'removeG6%%$hasGFinFY>84FV>FJ7$-%7JanetOre/cancel_loc
varG6%FQFinFU-Fap6%&FJ6#""#FinFU>8/7#-%"$G6$""!FM>807#-F\q6$F^q-FO6#Fep>8*7$Fip
F`q>8+-9(FP?(FCFHFHFC0&Fjq6$FgpFHF^qC)>F]oFH>8-%&falseG>8,*&F_rFH&Fjq6$FgpFgpFH
@$FT>85,&-%$maxG6#-Ffn6$-%'degreeG6$&FQ6#8)FY/Fis;FHFMFH-%$addG6$&&Fjq6$FHFH6#&
FUFhs/Fis;FHFco!""?(FCFHFHFC31F]o-FO6#9%4Fdr@%-%5JanetOre/pinv_divideG6%&F\u6$F
]o""$&F\u6$F]o""&&FjqFRC%>%)_joreducG,&F[vFHFHFH@%FTC,>86,&-F`s6#-Ffn6$-Fes6$&&
F\u6%F]oFHFHFhsFYFjsFH-F]t6$&&F\u6%F]oFduFHFbtFdtFft>87F^q>Fis-FO6#F]p?(FCFHFHF
C32F^qF`v2F^qFisC$@$331&&F]pFhs6#FduF`v/&&&F_xFfpFRFfp&FhuFfp-%8JanetOre/conv_d
ivisibleG6$FcxFhuC$>FawFis>F`vF^x>Fis,&FisFHFftFH@$3Fgw0&FgqFRFip[@$2F]sF`vC$>F
is-9)6%FQFin7$Fep&&FjqFfpFR>F]p7$-%#opGFdw7%7$&FisFR&&FisFfpFR7$Fhu-%'subsopG6$
/FH&FezFfpF\zF]s@%/FawF^q>FJ-%)simplifyG6#7$,&-%$mapG6$f*6#F-FC6$%)operatorG%&a
rrowGFC*(T#FH&T&6%T'""'FgpFftFKFHFCFC6(F5FgrF&F\uF1F]oFivFft-Fe[l6$f*Fh[lFCFi[l
FC*&&T$6%T%Fb\lFHFHFKFHFCFC6&F&F\uF1F]oFQFH,&-Fe[l6$f*Fh[lFCFi[lFCF\\lFCFCFc\l&
F\u6%F]oFHFgpFft-Fe[l6$f*Fh[lFCFi[lFCFg\lFCFCF\]lFepFH>FJ-F`[l6#7$,&-Fe[l6$f*Fh
[lFCFi[lFC*(F]\lFH&&&&F[]l6#Fa\lFfpFfpFfpFftFKFHFCFC6(F5FgrF=F]pF@Faw&&&F]p6#Fa
wFRFRFft-Fe[l6$f*Fh[lFCFi[lFC*&&&&&F]\l6#F[]lFfpFfpFRFHFKFHFCFC6&F=F]pF@FawFQFH
,&-Fe[l6$f*Fh[lFCFi[lFCF^^lFCFCFd^l&Ff^lFfpFft-Fe[l6$f*Fh[lFCFi[lFCF\_lFCFCFb_l
FepFH>FJ-Fhy6%FQFinFep>FJF_p@$0%0JanetOre/characGF^q>FJ-%$modG6$FJFa`l@%/Fa`lF^
qC%-%$gcdG6&F_r&F\u6%F]oFb\lFH.8%.8&>Fis-%'normalG6#-%&evalaG6#*(F_alFHFirFH&F\
u6%F]oFb\lFgpFft>FJ-%(collectG6%7$-Fdal6#-Fgal6#,&-Fe[l6$f*Fh[lFCFi[lFC*&F]\lFH
FKFHFCFC6$F/FaalFQFH-Fe[l6$f*Fh[lFCFi[lFC-F_\l6$F]\lFKFCFC6&F2FisF(9'FivFft-Fda
l6#-Fgal6#,&-Fe[l6$f*Fh[lFCFi[lFCFiblFCFCFjblFepFH-Fe[l6$f*Fh[lFCFi[lFCF^clFCFC
F`clFa]lFftFin%,distributedGC%-Fd`l6$-%$GcdGF[alFa`l>Fis-Fd`l6$-%'NormalGFealFa
`l>FJ-F^bl6%7$-Fd`l6$-Fgdl6#-Fgal6#,&-Fe[l6$f*Fh[lFCFi[lFCFiblFCFCFjblFQFH-Fe[l
6$f*Fh[lFCFi[lFCF^clFCFCF`clFivFftFa`l-Fd`l6$-Fgdl6#-Fgal6#,&-Fe[l6$f*Fh[lFCFi[
lFCFiblFCFCFjblFepFH-Fe[l6$f*Fh[lFCFi[lFCF^clFCFCF`clFa]lFftFa`lFinF]dl>Fdr%%tr
ueG>F]o,&F]oFHFHFH@%F]uC$>Fgq7$-Fhz6$/&Fjq6$FHFgp-F^bl6%,&&Fay6#FaglFHFhrFHFinF
]dlFay&FgqFfp>FJ7$-Fhz6$/Fagl-F^bl6%,&&FQFgglFHFhrFftFinF]dlFQFep@%Fg`l>Fgq-F^b
l6%7$-Fdal6#-Fgal6#-Fe[l6$f*Fh[lFCFi[lFCFiblFCFCFjblFay-Fdal6#-Fgal6#-Fe[l6$f*F
h[lFCFi[lFCFiblFCFCFjblFhglFinF]dl>Fgq-F^bl6%7$-Fd`l6$-Fgdl6#-Fgal6#-Fe[l6$f*Fh
[lFCFi[lFCFiblFCFCFjblFayFa`l-Fd`l6$-Fgdl6#-Fgal6#-Fe[l6$f*Fh[lFCFi[lFCFiblFCFC
FjblFhglFa`lFinF]dl>FjqF[r@'3/FayFip0FepF`qC%>Fep&-Fhy6%FepFinFVFR@$4-%5JanetOr
e/member_multG6%Fep%&J_HOMGFin>Fj[m7$-F`z6#Fj[mFep7$FayF`qF^[m7$FipFep-Fhy6%Fay
FinFepFC6%Fj[mFFF[vFCFC
M7R0
I?JanetOre/jnormal_form_Z_lm_oldf*6)%"fG%"FG%%seqvG%(mulprocG%'lmprocG%'ppprocG
%(loc_varG6+%"aG%"hG%"iG%"lG%#lmG%$divG%'n_entrG%*zero_listG%.rhs_zero_listG6#%
jnCopyright~(C)~2004-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C+>%*_jonnf
ormG,&F;"""F=F=>8%9$>8*-%%nopsG6#&F?6#F=>8+7#-%"$G6$""!FB>8,7#-FL6$FN-FD6#&F?6#
""#>8)%%trueG>8(-9(FE?(F8F=F=F83FZ0&Fgn6$FXF=FNC%>8&F=>FZ%&falseG?(F8F=F=F831Fa
o-FD6#9%4FZC$@$30FFFI-%5JanetOre/pinv_divideG6%&Fio6$Fao""$&Fio6$Fao""&&FgnFGC%
>%)_joreducG,&F[qF=F=F=>8'-%%iquoG6$F]o&Fio6%Fao""'F=@$0F^qFNC%>F?7$-%'normalG6
#,&FFF=-%$mapG6$f*6#F-F86$%)operatorG%&arrowGF8**T#F=&T%6$FXFXF=&T(6%T)FdqFX!""
F@F=F8F86*F0F^qF1FgnF&FioF/Fao&Fio6%FaoF=F=F_s-F[r6#,&FVF=-F_r6$f*FbrF8FcrF8Ffr
F8F8F`s&Fio6%FaoF=FXF_s>FZFen>FgnFhn>Fao,&FaoF=F=F=@'3/FFFI0FVFPC$@$4-%5JanetOr
e/member_multG6%FV%&J_HOMG9&>Fit7$-%#opG6#FitFV7$FFFPFat7$FIFVF?F86%FitF;F[qF8F
8
M7R0
I5JanetOre/invred_polyf*6*%"fG%"TG%'no_rhsG%.return_coeffsG%%seqvG%(mulprocG%'l
mprocG%(loc_varG6:%"aG%"cG%#caG%#cbG%"gG%"hG%#h2G%"iG%"kG%#lgG%#lmG%"nG%"qG%"rG
%$divG%'n_entrG%(termo_hG%*zero_listG%#lvG%#nlG%"HG%"eG%#meG%#hiG6#%\pCopyright
~(C)~2000-2010~by~Carlos~F.~Cid~and~Daniel~Robertz.~All~rights~reserved.G6"C0>8
3-%%nopsG6#&9$6#""">857#-%"$G6$""!FK>8)FO@$49&>8*&FP6#""#@$09+7"C'>86<#-%$seqG6
$&9(6#&F`o6#8+/F^p;FR-FM6#F`o>87-FM6#Fdo>88Fao>Fen-%7JanetOre/cancel_locvarG6%F
enFjoF`o@$Fgn>Fjn-F[q6%FjnFjoF`o>8/-FM6#9%>81FT>8%7#-FW6$FYFbq>80FR>8.-9*6#Fen?
(FHFRFRFH0&F`r6$F]oFRFYC)>F^pFR>82%&falseG>84*&FfrFR&F`r6$F]oF]oFR@$F_o>89,&-%$
maxG6#-Fgo6$-%'degreeG6$&Fen6#8,Fdo/F`t;FRFKFR-%$addG6$&&F`r6$FRFR6#&F`oF_t/F`t
;FRFdp!""?(FHFRFRFH31F^pFbq4F[s@%-%5JanetOre/pinv_divideG6%&Feq6$F^p""$&Feq6$F^
p""&&F`rFQC$@%F_oC,>8:,&-Fgs6#-Fgo6$-F\t6$&&Feq6%F^pFRFRF_tFdoFatFR-Fdt6$&&Feq6
%F^pFhuFRFitF[uF]u>8;FY>F`tFR?(FHFRFRFH32FYFav1F`t-FM6#FhpC$@$332&&FhpF_t6#FhuF
av/&&&F`xF\oFQF\o&F\vF\o-%8JanetOre/conv_divisibleG6$FdxF\vC$>FbwF`t>FavF_x>F`t
,&F`tFRFRFR@$3Ffw0FgqFT[@$2FdsFav>Fhp7$-%#opGFiw7%7$FenFjnF`rFds@%/FbwFYC$>Fen-
%'expandG6#,&*&&Feq6%F^p""'FRFRFenFRFR*(F^sFR&Feq6%F^pFfzF]oF]uFjvFRF]u@$Fgn>Fj
n-F`z6#,&*&FdzFRFjnFRFR*(F^sFRFhzF]u&Feq6%F^pFRF]oFRF]uC$>Fen-F`z6#,&*&&&&&Fhp6
#FbwF\oF\oFQFRFenFRFR*(F^sFR&Fj[lF\oF]u&&F\\lFQFQFRF]u@$Fgn>Fjn-F`z6#,&*&Fi[lFR
FjnFRFR*(F^sFRF_\lF]u&Fa\lF\oFRF]u>FenFjp@$Fgn>FjnF_q@$0%0JanetOre/characGFYC$>
Fen-%$modG6$FenF_]l@$Fgn>Fjn-Fc]l6$FjnF_]l@%/F_]lFYC(>F`t-%'normalG6#*&F`sFRFhz
F]u>8(-%$mapG6$f*6#F.FH6$%)operatorG%&arrowGFH-T&6$T#FPFHFH6&F6F`tF*9)Fjv>8--Fb
r6#Fb^l-%$gcdG6&Ffr&Fb_lFgr.8&.8'>Fen-F^^l6#,&-Fd^l6$f*Fg^lFHFh^lFH*&F^_lFRFPFR
FHFH6$F1F\`lFenFR-Fd^l6$f*Fg^lFHFh^lFHFd`lFHFH6$F0Fj_lFb^lF]u@$FgnC$>Fb^l-Fd^l6
$f*Fg^lFHFh^lFHF[_lFHFHF__lFa[l>Fjn-F^^l6#,&-Fd^l6$f*Fg^lFHFh^lFHFd`lFHFHFe`lFj
nFR-Fd^l6$f*Fg^lFHFh^lFHFd`lFHFHFi`lFb^lF]uC(>F`t-Fc]l6$-%'NormalGF_^lF_]l>Fb^l
-Fc]l6$-Fd^l6$f*Fg^lFHFh^lFHF[_lFHFHF__lFjvF_]l>Fb_lFc_l-Fc]l6$-%$GcdGFg_lF_]l>
Fen-Fc]l6$-F_bl6#,&-Fd^l6$f*Fg^lFHFh^lFHFd`lFHFHFe`lFenFR-Fd^l6$f*Fg^lFHFh^lFHF
d`lFHFHFi`lFb^lF]uF_]l@$FgnC$>Fb^l-Fc]l6$-Fd^l6$f*Fg^lFHFh^lFHF[_lFHFHF__lFa[lF
_]l>Fjn-Fc]l6$-F_bl6#,&-Fd^l6$f*Fg^lFHFh^lFHFd`lFHFHFe`lFjnFR-Fd^l6$f*Fg^lFHFh^
lFHFd`lFHFHFi`lFb^lF]uF_]l>F[s%%trueG>F^p,&F^pFRFRFR@%Fau@%Fj]lC$>Fgq-%'subsopG
6$/&F`r6$FRF]o-F^^l6#,&&Fgq6#FgelFRF^sFRFgq>Fen-Fdel6$/Fgel-F^^l6#,&&FenF]flFRF
^sF]uFenC$>Fgq-Fdel6$/Fgel-Fc]l6$-F_blFjelF_]lFgq>Fen-Fdel6$/Fgel-Fc]l6$-F_blFc
flF_]lFenC%@%Fj]l>Fgq*&F\`lFRFgqFR>Fgq-Fc]l6$FhglF_]l>F^r*&F^rFRF\`lFR@$9'@%Fj]
l>Fiq-Fdel6$/F^p,&&FiqF]pFR*(F^sFRF^rF]uFhzF]uFRFiq>Fiq-Fc]l6$FbhlF_]l>F`rFar@$
3Fay0F^rFR@%Fj]l>Fgq-F^^l6#*&FgqFRF^rF]u>Fgq-Fc]l6$-F_blFbilF_]l@$3FgnF^il@%Fj]
l>Fjn-F^^l6#*&FjnFRF^rF]u>Fjn-Fc]l6$-F_blF]jlF_]l7$7$FgqFjnFiqFHFHFHFH
M7R0
I6JanetOre/JInvolReducef*6$%"fG%"BG6H%"aG%"bG%"cG%#f1G%"iG%"jG%"kG%"lG%"nG%"hG%
#h2G%"rG%"sG%"vG%"FG%"TG%$varG%%varsG%(var_ordG%'vt_degG%(deg_ordG%)tup_permG%'
lmprocG%(loc_varG%%seqvG%)rhs_entrG%'n_entrG%)entr_posG%.return_coeffsG%'no_rhs
G%&m_ordG%*zero_listG%(mulprocG%.force_collectG%,force_evalaG%+trans_elemG%,giv
en_basisG%2tmp_J_T_List_dataG6#%\pCopyright~(C)~2000-2010~by~Carlos~F.~Cid~and~
Daniel~Robertz.~All~rights~reserved.G6"CH>81-%*substringG6$-%(convertG6$-%+kern
eloptsG6#%(versionG%'stringG;""""")@%32Fjn9#-%%typeG6$9%%%listG@)-Fao6$9$Fdo@%2
""!-%%nopsG6#Fco@%333533-Fao6$&Fco6#Fjn%)equationG-Fao6$-%#opG6$FjnFhpFdo2Fjn-F
]p6#F]q3-Fao6$FhpFdo2Fjn-F]p6#Fhp2F[p-F]p6#Fho4-Fao6$&FhoFipFjp4-Fao6$F_rFdo>8'
7#Fho>FdrFhoC$@$5543-%)assignedG6#%)J_T_ListG-Fao6$F`sFdo/F`s7"4-Fao6$&F`sFipFd
o-%&ERRORG6#%Lmissing~involutive~basis;~run~JBasis~first.G@%333FiqF\rF`r2Fjn-F]
p6#&&FhsFipFip>FdrFer>FdrFho5-Fao6$Fho%'matrixG330FSQ)Maple~V,FP0FSQ)Maple~6.FP
-Fao6$Fho%'MatrixG>Fdr-FX6$Fho%)listlistG5-Fao6$Fho%'vectorG3F]u-Fao6$Fho%'Vect
orG>Fdr7#-FXFgo>FdrFerC$@$FirFis@)Ffo@%F^t>FdrFer>FdrFhoFht>FdrFfuFiu>FdrFbv>Fd
rFer>82-%3JanetOre/procinputG6#Fdr>8>&F_wFip>8=&F_w6#""#@%331""$F_o-Fao6$&9"6#F
_xFdo4-Fao6$Fbx-Fdo6#%(integerGC&>8H%%trueG>8I73F`s%*jnumber_tG%)JTab_VarG%'_jn
varG%'_jpvarG%)_jvardegG%)_jtupdegG%-_jentrblocksG%&J_HOMG%*_jpno_rhsG%1_jpforc
e_collectG%/_jpforce_evalaG%*_jinv_denG%._JBOre_factorG%6_JBOre_factor_multvarG
%+_JBOre_varG%-_JBOre_compaG>85-%2JanetOre/procvarsG6$FbxFdw>8)""%C%>F]y%&false
G>FczFey>FhzFjw>86&FczFiw>87&FczFdx>88&Fcz6#Fiz>89&Fcz6#""&>8?&Fcz6#""'>84&FczF
ip>8<7#-%$seqG6$-%$catG6$%#_xG8(/F`]l;Fjn-F]p6#Fd\l>F`[l-%%subsG6$7#-Fj\l6$/&Fd
\l6#F`]l&Fg\lF^^lFa]lF`[l>8GFds>8FF\[l>8EF\[l>8D-%(unapplyG6%*&%#_aGFjn%#_bGFjn
F\_lF]_l@$33F]y1FhzF_o-Fao6$&Fcx6#FhzFdoC$@$30Fd_lFds4-Fao6$Fd_lFhxC'>Fg^l-%1Ja
netOre/procopsG6%Fd\lFd_lFg\l@$0&Fg^l6#F[oFds>Fc^lF^y>Fa^l7$-F^q6#Fa^l-F^q6#&Fg
^l6#""*>Fe^l-%&evalbG6#0-%&minusG6$<#Fi`l<#-F^qFd]l<">Fg^l&Fg^lFdx>Fhz,&FhzFjnF
jnFjn@$4%2JanetOre/ratcoeffG@&0-Ffal6$-%'indetsG6#-%$mapG6$f*6#F(FP6$%)operator
G%&arrowGFPF_rFPFPFP&F_wFh[lFialF[bl-Fjs6#%cono~parameters~allowed~in~involutiv
e~basis~computation~over~the~integers.G&F_wF\\l-Fjs6#%apno~algebraic~extensions
~are~allowed~in~involutive~basis~computation~over~the~integers.G>8@F\[l@%/F`[lF
ds>8BFiz>F_dl7#-%"$G6$Fiz-F]p6#F`[l?(F`]lFhzFjnF_oF^y@'5-Fao6$&FcxF^^lFjx-Fao6$
F\elFdo>F_dlF\el-Fao6$F\elFhnC$>83F\el?(8*FjnFjn-%'lengthG6#FdelF^y@(/&Fdel6#Ff
elQ"CFP>F[dlF^y/F\flQ"SFP>Fc^lF^y0F\flQ!FP-Fjs6#%aooptions~must~be~given~by~a~s
tring~consisting~of~letters~in~|fr"C",~"S"|hr.G-Fjs6#%0invalid~option.G@%F]yC)>
Fdel-FawF^p@$0Fdw&FdelFip-Fjs6#%Bf~has~wrong~number~of~components.G>8A&FdelFdx>
Fc^l5Fc^l&FdelF\\l>Fa^l7$Fi`l-F^q6#&Fdel6#""(@%4&F_wFdxC$@$Ffgl-Fjs6#%Linvoluti
ve~basis~B~has~no~right~hand~sides.G@$0Fgw&FdelFiw-Fjs6#%Pright~hand~side~has~w
rong~number~of~components.G>FfglF^y>Fe^l5Fe^lFaalC%>FfglFjy>Fe^l5Fe^lF[z>Fc^l5F
c^lF\z>8+-%1JanetOre/procordG6*F_dlFd\lF`[lFc[lFf[lFg\lF_\l4Fc^l@$&FjilFh[l>F_\
lFds>8;&FjilFa\l>FdyFc]l@$/&Fc[l6#;,&FdyFjnFjnFjn,&FdyFjnFdwFjn7#-Fcdl6$F[pFdw>
Fc[lF[p>8:-%&parseG6#-F]]l6/Q<g->`JanetOre/j_lead_mon`(g,FP-FX6$FdwFhnQ",FP-FX6
$Fg\lFhnF[\m-FX6$&FjilFipFhnF[\m-FX6$F_\lFhnF[\m-FX6$&FjilF\\lFhnF[\m-FX6$Fc[lF
hnQ")FP@$F]y-%7JanetOre/setupJ_T_ListG6*-%(collectG6%&FdelFh[lFd\l%,distributed
GFdwFgwFb[m&FjilFdxFj[lFd\lFfgl@$/&F`s6%FjnFb\lFjnF[pC$@$F]y-%9JanetOre/restore
J_T_ListG6#F`y@%F[dl@%Fht-%'RETURNG6#7$-%%copyGF[r7#F[p-F_^m6#7$FhoFd^m@%Fht-F_
^m6#Fb^m-F_^mF[r>8CF][m>F_w-F^]m6%-Fg]l6$7#-Fj\l6$F\^l/F`]l;FjnFdyFbclFg\lFa]m@
$0Fj[l7#-Fcdl6#;FjnFdwC$>F_w-F[cl6$f*6#F,6#F-FPFP-%'subsopG6$/Fjn7#-Fj\l6$&F_r6
#&T#6#8$/Faam;FjnT%FhoFPFP6&F=Fj[lFBFdwF_w>Fj[l-F[cl6$f*Fc`mFd`mFPFPC$-%'member
G6%FhoF_am.FaamFaamFPFP6$F=Fj[lFj_m?(FfelFjnFjn-F]p6#F_wF^yC(@%Fbbl@'Fc^l>80-%6
JanetOre/invred_evalaG6*&F_wF]flF`sFfglF[dlFg\lFg^lFb[mFcjlFe^l>Fgbm-%8JanetOre
/invred_collectGFjbm>Fgbm-%0JanetOre/invredGFjbm@'Fc^l@%%0JanetOre/absremG>Fgbm
-%;JanetOre/simp_invred_Z_absGFjbm>Fgbm-%>JanetOre/simp_invred_Z_nonnegGFjbmFe^
l@%Fdcm>FgbmFfcm>FgbmFicm@%Fdcm>Fgbm-%6JanetOre/invred_Z_absGFjbm>Fgbm-%9JanetO
re/invred_Z_nonnegGFjbm>8/-Fg]l6$7#-Fj\l6$/F\]lF]^lFf_m&&FgbmFipFip@$Fi_m>Ffdm7
#-Fj\l6$&Ffdm6#&Fj[lF^^l/F`]lF]`m@*-Fao6$&FdrF]flFjp@(-Fao6$-F^q6$FjnF[fmF\v>Ff
dm-F\v6#Ffdm3F]u-Fao6$F_fmF`v@%-Fao6$F_fm&F`v6#%'columnG>Ffdm-FjfmFcfm>Ffdm-&F`
v6#%$rowGFcfm4-Fao6$F_fmFdo>Ffdm-F^qFcfm-Fao6$F[fmF\v>FfdmFbfm3F]u-Fao6$F[fmF`v
@%-Fao6$F[fmFjfm>FfdmF^gm>FfdmF`gm4-Fao6$F[fmFdo>FfdmFhgm@$34FfglFiemC$@%0Fg\lF
d\l>8.-Fg]l6$Fidm&F^emFiw>F_imFbim@)-Fao6$-F^q6$FjwF[fmFdo>Ffdm/FfdmF_im-Fao6$F
gimF\v>Ffdm/Ffdm-F\v6#F_im3F]u-Fao6$FgimF`v@%-Fao6$FgimFjfm>Ffdm/Ffdm-FjfmF`jm>
Ffdm/Ffdm-FagmF`jm>Ffdm/Ffdm-F^qF`jm@%F[dlC$>8&-F[cl6$f*F^clFPF_clFP-Fg]l6$7#-F
j\l6$/-F]]l6$F_]lFdam&F_am6#Fdam/FdamFg_mFhoFPFP6&F8Fd\lF,F`]l&FgbmFiw>F_w-Ff`m
6$/Ffel7$FfdmFc[nF_w>F_w-Ff`m6$/FfelFfdmF_w@$F]yFi]m@-Ffo@%345F]r-FaoFgu-Fao6$F
drFhu-F^qFbbmF_wFju-F\vFbbmFit-F[uFbbmF\u-FX6$F_wFduF]v@%-Fao6$FhoFjfm-FjfmFbbm
-FagmFbbmFf]nFP6#FdyFPFP
M7R0
I:JanetOre/JBasisFastAssertf*6$%"LG'%%varsG%%listG6F%%fextG%"aG%"cG%"iG%"jG%"lG
%"rG%"vG%'n_entrG%)rhs_entrG%'no_rhsG%"FG%$varG%(var_ordG%'vt_degG%%seqvG%(seq_
varG%(deg_ordG%$POTG%)tup_permG%-inv_tup_permG%#GBG%#IBG%&m_ordG%(do_normG%)ent
r_posG%&ib_gbG%$ancG%#lmG%(multvarG%+time_boundG%+sigmadeltaG%#trG%*quietmodeG%
%voffG%+tracedenomG6#%jnCopyright~(C)~2000-2010~by~Daniel~Robertz.~All~rights~r
eserved.G6"C^o>8/-%3JanetOre/procinputG6#9$>8,&FS6#""">8-&FS6#""#>8.&FS6#""$@$&
FS6#""&-%&ERRORG6#%YJBasisFast~cannot~compute~in~algebraic~field~extensions.G>F
S-%'expandG6#&FS6#""%>80-%2JanetOre/procvarsG6$9%FY>81&FapFjn>82&FapF_o>85&FapF
^p>87&FapFco>8=&Fap6#""'>Fap&FapFen>%'_jnvarG-%%nopsG6#Fap@$0-%&minusG6$-%'inde
tsG6#FS<#-%#opGF]r<"-Ffo6#%Eno~parameters~allowed~in~JBasisFast.G>8&%0JanetOre/
characG@%/Fgp7">8;F_p>Fds7#-%"$G6$F_p-F\r6#Fgp>8<%%trueG>8$Q!FP>8B""!>8+-%(conv
ertG6$-%+kerneloptsG6#%(versionG%'stringG>89%&falseG>8DFau>8EF^t>8FF^t>8GFau@%3
31F`o9#-%%typeG6$&9"F_oF(54-F`v6$Fbv-F(6#%(integerG/FbvFbsC$>8C-%2JanetOre/proc
commG6$FapFbv>8*F_pC$>F^w-F`w6$FapFbs>FcwF`o@$0&F^wF_oFbsFeo@$0&F^wF^pFbsFjr>F^
w&F^w6#;FfnF[o?(8'FcwFfnF^vF^t@)5-F`v6$&Fcv6#FdxFjv-F`v6$FixF(>FdsFix-F`v6$FixF
^u@'/FixQ/tracerelationsFP>FcuF^t/FixQ&denomFP>FiuF^tC$>8)Fix?(8(FfnFfn-%'lengt
hG6#FiyF^t@&/&Fiy6#F[zQ"NFP>F]tFau0FazFat-Ffo6#%0invalid~option.G-F`v6$Fix%)equ
ationG@1/-Fhr6$FfnFixQ%NameFPC$@$4-F`v6$-Fhr6$F[oFixF^u-Ffo6#%Fexpecting~a~stri
ng~for~option~"Name".G>F`tFf[l/F^[lQ%charFPC$@$4-F`v6$Ff[l%*nonnegintG-Ffo6#%Qe
xpecting~0~or~a~prime~number~for~option~"char".G>F^sFf[l/F^[lQ%timeFPC$@$F`\l-F
fo6#%Sexpecting~time~bound~in~seconds~for~option~"time".G>FctFf[l/F^[lQ)Groebne
rFPC$@$4-F`v6$Ff[l%(booleanG-Ffo6#%Oexpecting~boolean~value~for~option~"Groebne
r".G>F`uFf[l/F^[lQ&quietFPC$@$Fd]l-Ffo6#%Lexpecting~boolean~value~for~option~"q
uiet".G>FeuFf[l/F^[lFeyC$@$Fd]l-Ffo6#%Lexpecting~boolean~value~for~option~"deno
m".G>FiuFf[l/F^[lQ(verboseFP@'/Ff[lQ#onFP>FguFau/Ff[lQ$offFP>FguF^t-Ffo6#%?expe
cting~string~"on"~or~"off"GFfzFfz@$5530FdsF[o0FdsF_p2Ffn-F\r6#Fcq3/F^`lFfn0&Fcq
FenFY-%'RETURNG6#-%1JanetOre/JIBasisG6#Fcv@$0FgpFbs-Ffo6#%XUp~to~now,~only~degr
evlex~is~implemented~in~JBasisFast.G>Fiy-%1JanetOre/procordG6*FdsFapFgpFjpF]qFa
pFcqF^t>86&FiyF^p@%0F`q7#-Fhs6#;FfnFYC$>88-%$mapG6$f*6#F-6#F.FPFPC$-%'memberG6%
FWT#.F`tF`tFPFP6$F=F`qFhal>FS-F`bl6$f*FcblFdblFPFP-%'subsopG6$/Ffn7#-%$seqG6$&&
FWFen6#&Fibl6#F`t/F`t;FfnT%FWFPFP6&F=F`qF2FYFS>F^blF`q@$-%$hasG6$-F`bl6$f*6#F+F
P6$%)operatorG%&arrowGFP3-F`v6$Ficl-F(6#-%(polynomG6$%)anythingGFibl-F`v6$&FWFj
nF`elFPFP6$F6FapFSFau-Ffo6#-%$catG6%%Oexpecting~a~list~of~(lists~of)~polynomial
s~in~G-Fht6$FapF^u%4~as~first~argument.G>%*_jinv_denGFbs>%&J_HOMGFbs>8:-%3Janet
Ore/cppJBasisG64FSFapF^wFYF]oF^sFdal&Fjp6#;FfnFjq&Fjp6#;,&FjqFfnFfnFfn,&FjqFfnF
YFfnF^blF`tFctFcuFeuFguFauFiuFbs>8?-F`bl6$f*FcblFPFjdlFP-Facl6$/F[o,&FhelFfnFfn
FfnFWFPFPFP&FhflFjn>8@-F`bl6$f*FcblFPFjdlFPFiglFPFPFP&FhflF_o>8A-%%subsG6$/Ffn%
)infinityG&FhflF^p@$Fiu>Fdfl%-_JBOre_denomG>%*_jonnformGFdt>%)_joreducGFdt>%)_j
ocrit1GFdt>%)_jocrit2GFdt>%)_jocrit3GFdt>%)_jocrit4GFdt@%330&FhflFen7#Fdt52Ffn-
F\r6#F_jl0-F`bl6$f*FcblFPFjdlFP-%'removeG6%FddlFWFdtFPFPFPF_jl7#FbsF]t@%%2Janet
Ore/ratcoeffGC%@$Fiu>Fdfl7$-Fhr6#Fdfl-Fhr6#-F`bl6$f*FcblFPFjdlFP@$0&FiclFenFfnF
\\mFPFPFPF_hl@%/F^sFdt>Fhfl7#-Ffcl6$-F[p6#*&&F_jlFjxFfn&&&F_hlFjxFenFen!""/Fdx;
FfnFcjl>Fhfl7#-Ffcl6$-F[p6#*&-%$modG6$*$Fg\mFj\mF^sFfnFf\mFfnF[]m>F_hl-F`bl6$f*
FcblFPFjdlFP7$7$Ffn&FiclFjnFhelFPFPFPF_hlC$>Fhfl-%$zipG6%f*6$F-F.FPFjdlFP@%-F`v
6$&&FepFenFen%'negintG-F[p6#,$FWFj\mFWFPFPFPF_jlF_hl>F_hl-F`bl6$f*FcblFPFjdlFP@
%-F`v6$F\\mF[_m7$7$,$F\\mFj\mF^^mFhelFWFPFPFPF_hl>FhflF_jl@$Fgal>F`q-F`bl6$f*Fc
blFdblFPFPC$FfblF`tFPFPF[clFhal@%4F]o@%/FYFfn@%/FhnFfnC'>Fffl-F`bl6$f*FcblFPFjd
lFP@$3/FiclFdt0&FW6#,&FiblFfnFfnFfnFdtF_amFPFP6$F2FYFhfl>FdxFfn?(FPFfnFfnFP1Fdx
-F\r6#Fhfl@%/&&FhflFjxFenFdtC%>Fhfl-Facl6$/Fdx%%NULLGFhfl>Fegl-Facl6$F`bmFegl>F
_hl-Facl6$F`bmF_hlC$>Fhfl-Facl6$/Fdx/Fjam&F[bm6#,&FYFfnFfnFfnFhfl>Fdx,&FdxFfnFf
nFfn@$/FhflFbsC%>Fhfl7#/FdtFdt>Fegl7#7$7$FdtFfnFfn>F_hlFjcm>%)J_T_ListG-F`bl6$f
*FcblFPFjdlFP7$7#-Fhr6$FfnFW7#-Fhr6$F[oFWFPFPFPFhflC'>Fffl-F`bl6$f*FcblFPFjdlFP
@$3F]am0&FW6#;Faam,&FiblFfnF_dlFfn7#-Fhs6$FdtF_dlFbemFPFP6&F2FYF3FhnFhfl>FdxFfn
?(FPFfnFfnFPFeam@%FiamC%>FhflF^bm>FeglFcbm>F_hlFfbmC$>Fhfl-Facl6$/Fdx/Fjam&F[bm
6#;F`cm,&FYFfnFhnFfnFhfl>FdxFbcm@$FdcmC%>Fhfl7#/Fdt7#-Fhs6$FdtFhn>FeglFjcm>F_hl
Fjcm>F_dm-F`bl6$f*FcblFPFjdlFP7$FddmFhdmFPFPFPFhflC$@%Fe`mC'>Fffl-F`bl6$f*FcblF
PFjdlFP@$3/&FW6#;FfnFibl7#-Fhs6$FdtFiblF^amF_amFPFPFbamFhfl>FdxFfn?(FPFfnFfnFPF
eam@%/&F[bmFjal7#-Fhs6$FdtFYC%>FhflF^bm>FeglFcbm>F_hlFfbmC$>Fhfl-Facl6$/Fdx/F_i
mF^cmFhfl>FdxFbcm@$FdcmC%>Fhfl7#/F`imFdt>FeglFjcm>F_hlFjcm>F_dm-F`bl6$f*FcblFPF
jdlFP7$FedmFgdmFPFPFPFhflC'>Fffl-F`bl6$f*FcblFPFjdlFP@$3FdhmFaemFbemFPFPFiemFhf
l>FdxFfn?(FPFfnFfnFPFeam@%F^imC%>FhflF^bm>FeglFcbm>F_hlFfbmC$>Fhfl-Facl6$/Fdx/F
_imFgfmFhfl>FdxFbcm@$FdcmC%>Fhfl7#/F`imFagm>FeglFjcm>F_hlFjcm>F_dm-F`bl6$f*Fcbl
FPFjdlFP7$FedmFhdmFPFPFPFhfl@$Fgal>Fhfl-F`bl6$f*FcblFdblFPFP/7#-Ffcl6$&FedmFjcl
F]dlFhdmFPFPF`dlFhflC$@%Fc`m>F_dm-F`bl6$f*FcblFPFjdlFP7$7#FWF`jlFPFPFPFhfl>F_dm
-F`bl6$f*FcblFPFjdlFP7$FWF`jlFPFPFPFhfl@$Fgal>Fhfl-F`bl6$f*FcblFdblFPFP7#-Ffcl6
$&FWFjclF]dlFPFPF`dlFhfl@$-%)assignedG6#%-_JBOre_compaG@%Fe`m>Fffl7$-Fhr6#Fffl-
Fhr6#-F`bl6$FhrF__n>Fffl7$Fc_n-FhrF^_n>%*jnumber_tGFfam@%Fc`m>%)JTab_VarG7#-Ffc
l6$7%F[bm-%3JanetOre/jmult_varG6$&FehlFjxFap*&&F_hl6%FdxFfnFfnFfn&F_hl6%FdxFfnF
[oFfn/Fdx;FfnF]`n>F``n7#-Ffcl6$7%F[bmFe`n7$Fi`n&F_hl6$FdxF[oF^an>837#-Ffcl6$-F]
fl6$%#_xGF[z/F[zF^gl@$0FianFapC%>847#-Ffcl6$/&FapFjx-F]fl6$F_bnFdx/FdxF^gl>F_dm
-Fghl6$FebnF_dm>F_hl-F`bl6$f*FcblFPFjdlFP-Facl6$/Ffn-Facl6$/F[o-Fghl6$FiblF^^mF
iclFWFPFP6$F:FebnF_hl@%F^[m>F_dm7#-Ffcl6$7)&F_dmFjx7$7#-Ffcl6$-%'degreeG6$&&Feg
lFjxFen&FapFbzF`bn&F]enFjn7$7#-Ffcl6$-Fjdn6$&Fh\mFjnF]bnF`bn&Fi\mFjn7#-Fhs6$Fdt
FjqFh`nFh\mFbsF^an>F_dm7#-Ffcl6$7)Fddn7%FfdnF_enFg\m7%FaenFgenFg\mFhenFh`nFh\mF
bsF^an@$4Fiu>Fdfl.Fdfl>FdxFfn?(FPFfnFfnFP31FdxF]`n/&F_dmFgan&F_dm6$FdxF`o>FdxFb
cm@%/Fdx,&F]`nFfnFfnFfn>8>Ffn>FcgnFdt@$3F`u/FcgnFdt>Fhfl-F`bl6$f*FcblFPFjdlFP@$
/&F_dm6$FWF[o&F_dm6$FWF`o&FiblFVFPFP6$F@Fhfl7#-Fhs6#F_an>%*_JOStatssG7*F`ilFbil
FdilFfilFhilFjilFcgnFdtFhflFP6/FjqF`ilFbilFdilFfilFhilFjilFfflFhhnF]`nF_dmF``nF
dflFPFP
M7R0
I3JanetOre/procinputf*6#%#LLG61%"iG%"jG%"qG%"rG%"vG%'no_rhsG%'n_entrG%)rhs_entr
G%,force_evalaG%)alg_elemG%+trans_elemG%)complexIG%"FG%"LG%#LiG6#%jnCopyright~(
C)~2000-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C6>8)%%trueG>8*""!>8+F?>
80%%NULLG@$/9$7"-%&ERRORG6#%2empty~input~list.G>8(-%*substringG6$-%(convertG6$-
%+kerneloptsG6#%(versionG%'stringG;""""")@)5-%%typeG6$FG%'matrixG330FNQ)Maple~V
,F80FNQ)Maple~6.F8-Fjn6$FG%'MatrixG>81-FS6$FG%)listlistG5-Fjn6$FG%'vectorG3F^o-
Fjn6$FG%'VectorG>Fgo7#-FS6$FG%%listG-FjnFfp>FgoFG-FJ6#%]oexpecting~generators~t
o~be~given~in~a~list~or~as~rows~in~a~matrix.G@%-Fjn6$FgoFjoC$>F>-%%nopsG6#&Fgo6
#Fen@%-%(hastypeG6$Fgo%)equationGC$?(8$FenFen-Fcq6#FgoF<C'>8&FD>8'FD?(8%FenFenF
>F<@%-Fjn6$&&Fgo6#F^r6#FgrF[rC%>Fcr6$Fcr-%#opG6$FenF[s>Fer6$Fer-Fcs6$""#F[s>F;%
&falseGC$>Fcr6$FcrF[s>Fer6$FerF?>FC6$FC7$7#Fcr7#Fer>FAF>>FC7#FC>FC-%$mapG6$f*6#
F'F86$%)operatorG%&arrowGF87$FG7#F?F8F8F8FgoC$?(F^rFenFenF_rF<C%>82F\s@&5-Fjn6$
FhuF^p3F^o-Fjn6$FhuFbp>Fhu-FS6$FhuFgp-Fjn6$FhuF[rC$@$5-Fjn6$-Fcs6$FenFhuF^p3F^o
-Fjn6$FjvFbp>Fhu/-FS6$FjvFgp-Fcs6$FisFhu@$5-Fjn6$FcwF^p3F^o-Fjn6$FcwFbp>Fhu/Fjv
-FS6$FcwFgp@'-FjnFbvC$@&/F>F?>F>-Fcq6#Fhu0FfxF>-FJ6#%hnnot~the~same~number~of~c
omponents~in~each~list~of~polynomialsG>FC6$FC7$FhuFcuFcvC$>F;F[t@%-FjnFbwC$@&Fd
x>F>-Fcq6#Fjv0FfyF>Fix@%-FjnF_xC$@&/FAF?>FA-Fcq6#Fcw0F_zFA-FJ6#%Znot~the~same~n
umber~of~components~in~each~right~hand~sideG>FC6$FC7$FjvFcwC$@&F]z>FAFen0FAFenF
bz>FC6$FC7$Fjv7#FcwC%@&Fdx>F>Fen0F>FenFix@$-FiqFbw-FJ6#%@input~contains~unexpec
ted~list.G@%FjyC$@&F]z>FAF_zFazFbz>FC6$FC7$7#FjvFcwC%@&F]z>FAFenF[[lFbz@$-FiqF_
xFf[l>FC6$FC7$F`\lF_[lC%@&Fdx>F>FenFc[lFix@$-FiqFbvFf[l>FC6$FC7$7#FhuFcu>FCFht@
$F]z>FAFen@$2FenFA@%F;C$?(F^rFenFen-Fcq6#FCF<>FC-%'subsopG6$/F^r-F^^l6$/FisFcu&
FCF]sFC>FAFen?(F^rFenFenFj]lF<@$/&FC6$F^rFisFcu>FC-F^^l6$/F^r-F^^l6$/Fis7#-%"$G
6$F?FAFd^lFC@$3/%2JanetOre/ratcoeffGF[t-%$hasG6$-F[u6$f*6#%"aGF8F_uF83-Fjn6$&FG
Ffq-Fgp6#-%(ratpolyG6#%(integerG-Fjn6$&FG6#FisFf`lF8F8F8FCF[t-FJ6#%goexpecting~
generators~to~be~(lists~of)~polynomials~with~integer~coefficients.G@$0%0JanetOr
e/characGF?>FC-%$modG6$FCFeal@$-Fiq6$FC%&floatG>FC-FS6$FC%)rationalG>8,-F[`l6$-
F[u6$f*F``lF8F_uF83-Fjn6$Fe`l-Fgp6#-Fi`l6#Fabl-Fjn6$F^alF\clF8F8F8FCF[t>8/-Fiq6
$FC%(nonrealG>8.-%'indetsGF[^l>8-7#-Fcs6#-Fjcl6$FC%'algextG>Fhcl7#-Fcs6#-%&minu
sG6$Fhcl<#-Fcs6#F\dl@$0F\dlFH>FcblF<7*F>FAF;FCFcblF\dlFhclFcclF8F8F8F8
M7R0
I8JanetOre/JHilbertSeriesf*6#%"vG64%"iG%"jG%"qG%"nG%"sG%"HG%&R_q_1G%"AG%"BG%"CG
%#HMG%$HM1G%$HM2G%+n_exteriorG%,given_basisG%/args_without_sG%$varG%2tmp_J_T_Li
st_dataG6#%ipCopyright~(C)~2000-2010~by~Carlos~F.~Cid,~Arne~Lorenz~and~Daniel~R
obertz.~All~rights~reserved.G6"C5@%-%)assignedG6#%/_jvar_exteriorG@%-%%typeG6$F
A%%listG>81-%%nopsGF@-%&ERRORG6$QSwrong~format~of~the~global~variable~_jvar_ext
eriorF;FA>FH""!>8(.FR>83%%NULLG@%19#"""C$>82%&falseG@$/FYFZC$@%3-FD6$&9"6#FZ%)e
quationG/-%#opG6$FZF`oQ$varF;>FR-Ffo6$""#F`o>FRF`o@$4-FD6$FR%%nameG-FL6#%_oexpe
cting~an~indeterminate~for~the~Hilbert~series~as~first~argument.GC$>Fgn%%trueG?
(8$FZFZFYFhp@%3-FD6$&Fao6#FjpFco/-Ffo6$FZF_qFhoC$>FR-Ffo6$F\pF_q@$F_p-FL6#%Sexp
ecting~an~indeterminate~for~the~Hilbert~series.G>FU6$FUF_q@%Fgn>6$8584-%5JanetO
re/setup_basisG6#FUC$@$333/%4JanetOre/JInvoBasisG%:JanetOre/JBasisFastAssertG-F
?6#%._JBOre_factorG-F?6#%6_JBOre_factor_multvarG-F?6#%+_JBOre_varGC%>8&-%$seqG6
$/&FfsF`qFR/Fjp;FZ-FJFes>8)-%'expandG6#-%$addG6$*&-%%subsG6$Fis&F`sF`qFZ),&FZFZ
FR!""-%*numboccurG6$&FcsF`qFZFau/Fjp;FZ-FJF_s@%-FD6$FctFF-%'RETURNG6#-%(convert
G6$Fct%"+G-F]v6#Fct@$4-F?6#%)J_T_ListG-FL6#%Lmissing~involutive~basis;~run~JBas
is~first.G>8'-FJ6#&Fiv6%FZ""$FZ>Fis-%2JanetOre/pmax_degGFhv@$2FPFH>Fis-%$maxG6$
,&FHFZFZFZFis>Fct-%-JanetOre/JHPG6#FR>8*-%-JanetOre/JHFG6#,&FisFZFauFZ>8+-%'mat
rixG6#-%$mapG6$f*6#%"aGF;6$%)operatorG%&arrowGF;-F^y6$f*6#%"bGF;FcyF;-%)binomia
lG6$,(T$FZ9$FZT%FauF`zF;F;6&FbyF`zF)Faz7#-%"$G6#;FZT#F;F;6&F*F^wF)Fis7#-Fez6#;F
is,(FisFZF^wFZFauFZ>8,-%'vectorG6#-F^y6$f*FayF;FcyF;,&-%%evalG6$Fhz/FazF`zFZT'F
auF;F;6(F,FctF+FRF-FcxFjz>8--&%'linalgG6#%)linsolveG6$FixF`[l>F_\l-%&evalmG6#F_
\l>8/-Fht6$*&-%:JanetOre/JHilbertFunctionGF`qFZ)FRFjpFZ/Fjp;FPFgx>80*&)FRFisFZ-
Fht6$*&&F_\l6#8%FZ)F`uF]^lFau/F]^l;FZF^wFZ>8.-F`v6$7$F[]lFe]lFbv@$Fgn-%9JanetOr
e/restoreJ_T_ListG6#FarFb^lF;F;F;F;
M7R0
I:JanetOre/jets_coeffmatrixf*6#%%_resG60%"cG%"lG%"mG%"nG%"pG%"rG%"vG%$resG%#baG
%#KMG%#KLG%#reG%#cvG%#vaG6#%\pCopyright~(C)~2000-2010~by~Gehrt~Hartjen~and~Dani
el~Robertz.~All~rights~reserved.G6"C.>8+-%5JanetOre/jets_mklistG6#9$@$/F:7"-%'R
ETURNG6#-%'matrixG6$""!FH>8&-%%nopsG6#F:@'-%%typeG6$F:%)listlistGC$>8'-FL6#&F:6
#""">F:-%$mapG6$%#opGF:-FP6$FX%%listGC$@$2FZ-FL6#<#-Fin6#-Fgn6$FLF:-%&ERRORG6#%
NYour~list~contains~lists~of~different~length!G>FUFH>FUFH@%32FZ9#4-FP6$&9"6#""#
%'symbolG>8*Fdp>Fjp%%NULLG>8.F\q>8,F\q?&8/-%'expandGFM%%trueGC&@%-FP6$Fbq%"+G>F
bq-%(convertG6$FbqF\o>Fbq7#Fbq>807#-%"$G6$FH-FL6#7#F`q@$0Fbq7#FH?&8)FbqFeqC%>8$
-%'coeffsG6$F^sFjp>81*&F^sFZFas!""@%-%'memberG6%FfsFir.8(>Fbr-%'subsopG6$/F^tFa
sFbrC$>F`q6$F`qFfs>Fbr7$-Fin6#FbrFas>F^q6$F^qFbr>8%-FLFjt@%/F^uFH>F^q7#F^q>F^q-
Fat6$-Fin6#-Fgn6$f*6#%"iGF76$%)operatorG%&arrowGF7/F>7$-Fin6#&T#F=-Fer6$FH,&T%F
Z-FLFdvFhsF7F76&F1F^qF(F^u7#-Fer6#;FZ-FL6#FcuFcu@&32FgpF`p-FP6$&Fep6#""$Fhp-%'a
ssignG6$FhwFir3F_pFbp-F\x6$FdpFir@%/FUFH-%%copyG6#-F]r6$F^qFF-FF6%FJ*&F^uFZFUFZ
-Fgn6$FinF^qF7F7F7F7
M7R0
I6JanetOre/polcoefflistf*6$%$resG'%"bG%%listG6-%#KMG%#KLG%#baG%#reG%%res1G%#cvG
%"rG%"nG%"iG%"jG%*has_constG6#%\pCopyright~(C)~2000-2010~by~Gehrt~Hartjen~and~D
aniel~Robertz.~All~rights~reserved.G6"@%-%%typeG6$9%%)listlistGC&>8$7"@%-F:6$9$
F=>8(FE>FG7#FE?&8*FG%%trueGC%>8%FA?(8,"""FR-%%nopsG6#&F<6#FRFL>FO7$-%#opG6#-F"6
$&FK6#FQ-%$mapG6$f*6#F3F76$%)operatorG%&arrowGF7@%0&T$6$FET%""!Feo%%NULLGF7F76&
F'F<F2FQ7#-%"$G6#;FR-FT6#F<-Fen6#FO>F@7$-Fen6#F@FO@%FC-%'RETURNGFhp-F[q6#FgpC+>
FQFR>8.%&falseG?(F7FRFRF734Faq1FQFap@%-F:6$&F<Fjn%)constantG>FaqFL>FQ,&FQFRFRFR
@%Faq>8&F<>Far7$FR-FenFbp>FOFA@)-F:6$FEF(>FGFE-F:6$FE%$setG>FG-%(convertGFhr-F:
6$FE%&arrayG>FG-F_sFD>FGFI?&8'FGFLC(>Fgs-%'expandG6#Fgs@%-F:6$Fgs%"+G>Fgs-F_s6$
FgsF(>Fgs7#Fgs>8+-FT6#Far>8)7#-F^p6$FioFgt?&FKFgsFLC%>FQFgt?(F7FRFRF7331FRFQ0&F
arFjnFR4-%0JanetOre/polhasG6$FKFgu>FQ,&FQFR!""FR@%Fdu>F[u-%'subsopG6$/FQ-%)simp
lifyG6#,&*&FKFRFguF^vFR&F[uFjnFRF[u>F[u-Fbv6$/FQ,&FjvFRFKFRF[u>FO7$FcpF[u@$3Feq
/-%'removeG6$f*F_oF7F`oF7/FEFioF7F7F7-F\o6$f*6#F2F7F`oF7&FEFWF7F7F7FOFA>FO-F\o6
$f*F]xF7F`oF7-Fbv6$/FRFjoFEF7F7F7FO@%455FgrFjrF`s-F[q6#Fcp-F[qFdpF7F7F7F7
M7R0
I6JanetOre/tupcoefflistf*6&%"pG%$varG%$basG%%permG6%%"cG%"iG%"nG6#%jnCopyright~
(C)~2006-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C&>8&-%%nopsG6#9$>8$7#-
%"$G6$""!F2@%2""$9#?(8%"""FDF2%%trueGC$>F8-%'subsopG6$/&9'6#FC-%8JanetOre/monom
coefflistG6%&F6FN9%&9&FNF8@$4-%%typeG6$&F86#FL%%listG-%'RETURNG6#-FI6$/FCFenF9?
(FCFDFDF2FEC$>F8-FI6$/FCFOF8@$4-FY6$&F8FNFgn-Fin6#-FI6$/FCFhoF9-Fin6#F8F/F/F/F/
M7R0
I6homalg/JanetOre/mklstf*6#%"aG6"6#%[oCopyright~(C)~2004-2010~by~Mohamed~Baraka
t.~All~rights~reserved.GF&@%-%%typeG6$9$%"=G/-F"6#-%$lhsG6#F--F"6#-%$rhsGF4@%-F
+6$F-%%listGF-7#F-F&F&F&F&
M7R0
I>JanetOre/simp_invred_Z_nonnegf*6*%"fG%"TG%'no_rhsG%.return_coeffsG%%seqvG%(mu
lprocG%'lmprocG%(loc_varG65%"aG%"cG%"eG%"hG%#h2G%"iG%"jG%"kG%"lG%#lmG%"nG%"rG%$
divG%'n_entrG%(termo_hG%*zero_listG%#lvG%#nlG%"HG6#%\pCopyright~(C)~2000-2010~b
y~Carlos~F.~Cid~and~Daniel~Robertz.~All~rights~reserved.G6"C,>81-%%nopsG6#&9$6#
""">837#-%"$G6$""!FF>8'-%'expandGFI@$49&>8(&FK6#""#>8.-FH6#9%>8/FO>8%7#-FR6$FTF
\o>8--9*6#FV?(FCFMFMFC0&Fho6$FjnFMFTC*>8)FM>80%&falseG>8*&Fho6$FMFjn>82-%'subso
pG6$/Fgp&Fho6$FjnFjnFO?(FCFMFMFC31FbpF\o4FdpC$@$-%5JanetOre/pinv_divideG6%&F_o6
$Fbp""$&F_o6$Fbp""&&FhoFLC$>8,-%%iquoG6$F^p&F_o6%Fbp""'FM@&0FdrFTC%>FV-%)simpli
fyG6#,&FVFM-%$mapG6$f*6#F.FC6$%)operatorG%&arrowGFC-T,6$*(T#FM&T%FaqFM&T(6%T)Fj
rFjn!""FKFCFC6,F6FdrF7FhoF&F_oF3FbpF*9)&F_o6%FbpFMFMFft@$FZ>Fgn-F`s6#,&FgnFM-Fd
s6$f*FgsFCFhsFCF[tFCFCFgt&F_o6%FbpFMFjnFft>Fdp%%trueG/-%%signG6#F^pFftC&>Fdr,$-
Fiu6#FhrFft>FV-F`s6#,&FVFM-Fds6$f*FgsFCFhsFCF[tFCFCFgtFitFft@$FZ>Fgn-F`s6#,&Fgn
FM-Fds6$f*FgsFCFhsFCF[tFCFCFgtFcuFft>FdpFfu>Fbp,&FbpFMFMFM@%FeqC$>Fao-F`s6#,&Fa
oFM*&F^pFMF[qFMFM>FV-F`s6#,&FVFMFhwFft@$9'C$>Fbp,&FbpFMFftFM>Fco-F]q6$/Fbp,&&Fc
o6#FbpFM*(FdrFMF`qFM&F_o6%FbpFjrFjnFftFMFco>FV-FXF[p>FhoFio7$7$FaoFgnFcoFCFCFCF
C
M7R0
I=JanetOre/JShortestResolutionf*6$%"RG'%%varsG%%listG6&%"FG%"SG%"vG%$opsG6#%\pC
opyright~(C)~2004-2010~by~Alban~Quadrat~and~Daniel~Robertz.~All~rights~reserved
.G6"C(@%2""#9#>8'&9"6#""$>F7%%NULLG>8&-%*substringG6$-%(convertG6$-%+kernelopts
G6#%(versionG%'stringG;""""")@%34-%%typeG6$9$-F(6#%'matrixG330F?Q)Maple~V,F00F?
Q)Maple~6.F04-FR6$FT-F(6#%'MatrixG>8$-%5JanetOre/JResolutionG6&FT9%F7Q$CGTF0>F_
oFT>8%-%<JanetOre/JShorterResolutionG6%F_oFcoF7?(F0FLFLF00-%%nopsG6#Fgo-F^p6#F_
oC$>F_o-%%copyGF_p>FgoFhoFdpF0F0F0F0
M7R0
I5JanetOre/pdegrevlex3f*6$%"aG%"bG6"6#%\pCopyright~(C)~2000-2010~by~Carlos~F.~C
id~and~Daniel~Robertz.~All~rights~reserved.GF'-%4JanetOre/pdegrevlexG6$&9$6#""$
&9%F/F'F'F'F'
M7R0
I8JanetOre/pdegrevlex_degf*6$%"aG%"bG6&%"iG%"nG%$tdaG%$tdbG6#%\pCopyright~(C)~2
000-2010~by~Carlos~F.~Cid~and~Daniel~Robertz.~All~rights~reserved.G6"C'>8%-%%no
psG6#&9$6#""">8&,&-%$addG6$*&&F56#8$F8&%*_jovardegGFAF8/FB;F8F1F8&%*_jotupdegG6
#&F66#""#F8>8',&-F=6$*&&&9%F7FAF8FCF8FEF8&FH6#&FUFKF8@'2F:FN-%'RETURNG6#%%trueG
2FNF:-Ffn6#%&falseGC%>F:F<>FNFP@'FZFenFinFjn?(FBF1!""F8Fhn@&2FSF@Fen2F@FSFjn@%2
FJFXF\oFhnF.F.F.F.
M7R0
I;JanetOre/pnegdegrevlex_POTf*6$%"aG%"bG6%%"iG%$tdaG%$tdbG6#%jnCopyright~(C)~20
04-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C&@&2&9$6#""#&9%F3-%'RETURNG6
#%&falseG2F5F1-F86#%%trueG>8%-%(convertG6$&F26#"""%"+G>8&-FB6$&F6FEFG@'2F@FIF:2
FIF@F>C$?(8$-%%nopsG6#FD!""FFF>@&2&FL6#FR&FDFZF<2FenFYF7F>F-F-F-F-
M7R0
IBJanetOre/pnegdegrevlex_entr_blockf*6$%"aG%"bG6%%"iG%$tdaG%$tdbG6#%jnCopyright
~(C)~2006-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C(@&2&%-_jentrblocksG6
#&9$6#""#&F26#&9%F6-%'RETURNG6#%&falseG2F8F1-F=6#%%trueG>8%-%(convertG6$&F56#""
"%"+G>8&-FG6$&F;FJFL@'2FEFNF<2FNFEFA?(8$-%%nopsG6#FI!""FKFC@&2&FQ6#FV&FIFhnFA2F
inFgnF<@$2F4F:F<FCF-F-F-F-
M7R0
I8JanetOre/simp_prim_partf*6%'%"pG%%listG'%$varGF''%"qGF'6(%"aG%#coG%"gG%"hG%"i
G%"rG6#%jnCopyright~(C)~2000-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C(>
8'9$>8)9&@%0%0JanetOre/characG""!C%>8&-%$modG6$-%(ContentG6$&F86#"""9%F?>8(""#?
(F5FLFLF530FCFL1FO-%%nopsG6#F8C%>8%-FE6$-FH6$&F86#FOFMF?>FC-FE6$-FH6$,&*&FCFL%$
_x1GFLFL*&FZFL%$_x2GFLFL7$FboFdoF?>FO,&FOFLFLFLC%>FC-%(contentGFI>FOFP?(F5FLFLF
5FRC%>FZ-F[pFhn>FC-F[pF_o>FOFgo>FC-%&evalaG6#FC@$30FCF@FSC%@%/F?F@>F8-%$mapG6$f
*6#F-F56$%)operatorG%&arrowGF5-%(collectG6%-%'normalG6#*&F9FLT#!""T&%,distribut
edGF5F56&F/FCF)FMF8>F8-F`q6$f*FcqF5FdqF5-Fhq6%-FE6$-%'NormalGF\rF?F`rFarF5F5Fbr
F8@$0-%&minusG6$-%'indetsGFgp<#-%&aliasGF5<">%*_jinv_denG7$-%#opG6#FisFC@$0F;7"
@%F]q>F;-F`q6$f*FcqF5FdqF5FjqF5F56$F/FCF;>F;-F`q6$f*FcqF5FdqF5FirF5F5FftF;7$F8F
;F5F]tF5F5
M7R0
I7JanetOre/cancel_locvarf*6%%"pG%$varG%(loc_varG6.%"cG%"dG%#d2G%#dmG%"iG%"jG%"k
G%"mG%"qG%%nvarG%#lvG%$nlvG6#%jnCopyright~(C)~2000-2010~by~Daniel~Robertz.~All~
rights~reserved.G6"C(>8--%%nopsG6#9%>8.7#-%$seqG6$&F>6#&9&6#8(/FJ;"""-F<6#FH>8/
-%'removeG6%%$hasG7#-%"$G6#;FMF:FH>8,9$?(FJFMFM-F<6#Ffn%%trueGC$>8+&FfnFI@$3-FU
6$F^oF@-%%typeG6$F^o%"+GC'>8$F[o>8%""!>8*FM?(F7FMFMF73Fjo1F_p-F<6#F^oC$@%/F\pF]
p>F\p7#-FC6$-%'degreeG6$-%#opG6$F_pF^o&F>6#8)/FdqFZC'>8&Fip>8'7#-FC6$-%$minG6$&
F\pFcq&FhqFcqFeq>FdqFM?(F7FMFMF731Fdq-F<6#FQFjoC$@$0&Fhq6#&FQFcq&F\pF]s>Fjo%&fa
lseG>Fdq,&FdqFMFMFM>F\pFjq>F_p,&F_pFMFMFM@$3Fjo/-%(ldegreeG6$-%'expandG6#*&F^oF
M-%$mulG6$)FbqFarFeq!""F>F]p>Ffn-%'subsopG6$/FJFatFfn-%'RETURNGFjnF7F7F7F7
M7R0
IAJanetOre/jnormal_form_collect_lmf*6)%"fG%"FG%%seqvG%(mulprocG%'lmprocG%'pppro
cG%(loc_varG68%"aG%#caG%#cbG%"gG%"hG%"iG%"kG%#lgG%#lmG%$divG%#stG%'n_entrG%)rhs
_entrG%*zero_listG%.rhs_zero_listG%#lvG%#nlG%#nvG%"HG%"eG%#meG%#hiG6#%jnCopyrig
ht~(C)~2000-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C.>%*_jonnformG,&FH"
""FJFJ>8(9$>8.""!>8/-%%nopsG6#&FL6#FJ>80-FT6#&FL6#""#@$09*7"C'>83<#-%$seqG6$&9&
6#&F[o6#8)/Fio;FJ-FT6#F[o>84-FT6#F_o>85-%'removeG6%%$hasGFeoF_o>86F\o>FL7$-%7Ja
netOre/cancel_locvarG6%FVFeoF[o-F]q6%FfnFeoF[o>817#-%"$G6$FPFR>827#-Feq6$FPFZ>8
-%%trueG>8,-9(FU?(FEFJFJFE3F]r0&F`r6$FhnFJFPC&>FioFJ>F]r%&falseG@$Fjn>87,&-%$ma
xG6#-Fbo6$-%'degreeG6$&FV6#8*F_o/Fjs;FJFRFJ-%$addG6$&&F`r6$FJFJ6#&F[oFis/Fjs;FJ
F_p!""?(FEFJFJFE31Fio-FT6#9%4F]rC$@$30FVFbq-%5JanetOre/pinv_divideG6%&F]u6$Fio"
"$&F]u6$Fio""&&F`rFWC'>%)_joreducG,&F_vFJFJFJ>FO,&FOFJFJFJ@%FjnC+>88,&-Fas6#-Fb
o6$-Ffs6$&&F]u6%FioFJFJFisF_oF[tFJ-F^t6$&&F]u6%FioFhuFJFctFetFgt>89FP>Fjs-FT6#F
ip?(FEFJFJFE32FPFfv2FPFjsC$@$332&&FipFis6#FhuFfv/&&&FexFgnFWFgn&F\vFgn-%8JanetO
re/conv_divisibleG6$FixF\vC$>FgwFjs>FfvFdx>Fjs,&FjsFJFgtFJ@$2F^sFfvC$>Fjs-9)6%F
VFeo7$Ffn&&F`rFgnFW>Fip7$-%#opGFjw7%7$&FjsFW&&FjsFgnFW7$F\v-%'subsopG6$/FJ&FfzF
gnF]zF^s@%/FgwFP>FL-%)simplifyG6#7$,&-%$mapG6$f*6#F-FE6$%)operatorG%&arrowGFE**
&T#FgrFJ&F_\l6$FhnFhnFJ&T&6%T'""'FhnFgtFMFJFEFE6(F5F`rF&F]uF2FioF_wFgt-Ff[l6$f*
Fi[lFEFj[lFE*&&T$6%T%Ff\lFJFJFMFJFEFE6&F&F]uF2FioFVFJ,&-Ff[l6$f*Fi[lFEFj[lFEF]\
lFEFEFg\l&F]u6%FioFJFhnFgt-Ff[l6$f*Fi[lFEFj[lFEF[]lFEFEF`]lFfnFJ>FL-Fa[l6#7$,&-
Ff[l6$f*Fi[lFEFj[lFE**F^\lFJF`\lFJ&&&&F_]l6#Fe\lFgnFgnFgnFgtFMFJFEFE6(F5F`rF?Fi
pFBFgw&&&Fip6#FgwFWFWFgt-Ff[l6$f*Fi[lFEFj[lFE*&&&&&F_\l6#F_]lFgnFgnFWFJFMFJFEFE
6&F?FipFBFgwFVFJ,&-Ff[l6$f*Fi[lFEFj[lFEFb^lFEFEFh^l&Fj^lFgnFgt-Ff[l6$f*Fi[lFEFj
[lFEF`_lFEFEFf_lFfnFJ>FL-Fiy6%FVFeoFfn>FLF[q@$0%0JanetOre/characGFP>FL-%$modG6$
FLFe`l@%/Fe`lFPC(>Fjs-%'normalG6#*(FfrFJ&F`rFa\lFJ&F]u6%FioFf\lFhnFgt>8'-%(coll
ectG6%7$-Ff[l6$f*Fi[lFEFj[lFE-Fc\l6$F_\lFMFEFE6&F3FjsF(9'F_w-Ff[l6$f*Fi[lFEFj[l
FEF^blFEFEF`blFe]lFeo%,distributedG>8+-Fbr6#&FfalFW>Fjs-F_al6#*&&FgblFgrFJFfrFg
t>FL-Fhal6%7$-F_al6#,&-Ff[l6$f*Fi[lFEFj[lFE*&F_\lFJFMFJFEFE6$F3FjsFVFJFjblFgt-F
_al6#,&-Ff[l6$f*Fi[lFEFj[lFEFjclFEFEF[dlFfnFJ&FfalFgnFgtFeoFebl@$1F[vFOC$>FLF``
l>FOFPC(>Fjs-Fh`l6$-%'NormalGF`alFe`l>Ffal-Fh`l6$-Fhal6%7$-Ff[l6$f*Fi[lFEFj[lFE
F^blFEFEF`blF_w-Ff[l6$f*Fi[lFEFj[lFEF^blFEFEF`blFe]lFeoFeblFe`l>FgblFhbl>Fjs-Fh
`l6$-F]elF]clFe`l>FL-Fhal6%7$-Fh`l6$-F]el6#,&-Ff[l6$f*Fi[lFEFj[lFEFjclFEFEF[dlF
VFJFjblFgtFe`l-Fh`l6$-F]el6#,&-Ff[l6$f*Fi[lFEFj[lFEFjclFEFEF[dlFfnFJFbdlFgtFe`l
FeoFebl@$1"#7FOC$>FLF``l>FOFP>F]rF^r>F`rFar>Fio,&FioFJFJFJ@'3/FVFbq0FfnFhqC%@$2
FPFO>Ffn&-Fiy6%FfnFeoF\oFW@$4-%5JanetOre/member_multG6%Ffn%&J_HOMGFeo>F]il7$-Fa
z6#F]ilFfn7$FVFhqF_hl7$FbqFfn@%FchlF``lFLFE6%F]ilFHF_vFEFE
M7R0
IDJanetOre/jnormal_form_collect_lc_lmf*6)%"fG%"FG%%seqvG%(mulprocG%'lmprocG%'pp
procG%(loc_varG64%"aG%"hG%"iG%"kG%#lmG%$divG%#stG%'n_entrG%)rhs_entrG%*zero_lis
tG%.rhs_zero_listG%#lvG%#nlG%#nvG%"HG%"eG%#meG%#hiG6#%jnCopyright~(C)~2000-2010
~by~Daniel~Robertz.~All~rights~reserved.G6"C.>%*_jonnformG,&FD"""FFFF>8%9$>8*""
!>8+-%%nopsG6#&FH6#FF>8,-FP6#&FH6#""#@$09*7"C'>8/<#-%$seqG6$&9&6#&Fgn6#8&/Feo;F
F-FP6#Fgn>80-FP6#F[o>81-%'removeG6%%$hasGFaoF[o>82Fhn>FH7$-%7JanetOre/cancel_lo
cvarG6%FRFaoFgn-Fip6%FXFaoFgn>8-7#-%"$G6$FLFN>8.7#-Faq6$FLFV>8)%%trueG>8(-9(FQ?
(FAFFFFFA3Fiq0&F\r6$FZFFFLC&>FeoFF>Fiq%&falseG@$Ffn>83,&-%$maxG6#-F^o6$-%'degre
eG6$&FR6#8'F[o/Ffs;FFFNFF-%$addG6$&&F\r6$FFFF6#&FgnFes/Ffs;FFF[p!""?(FAFFFFFA31
Feo-FP6#9%4FiqC$@$30FRF^q-%5JanetOre/pinv_divideG6%&Fit6$Feo""$&Fit6$Feo""&&F\r
FSC'>%)_joreducG,&F[vFFFFFF>FK,&FKFFFFFF@%FfnC+>84,&-F]s6#-F^o6$-Fbs6$&&Fit6%Fe
oFFFFFesF[oFgsFF-Fjs6$&&Fit6%FeoFduFFF_tFatFct>85FL>Ffs-FP6#Fep?(FAFFFFFA32FLFb
v2FLFfsC$@$332&&FepFes6#FduFbv/&&&FaxFYFSFY&FhuFY-%8JanetOre/conv_divisibleG6$F
exFhuC$>FcwFfs>FbvF`x>Ffs,&FfsFFFctFF@$2FjrFbvC$>Ffs-9)6%FRFao7$FX&&F\rFYFS>Fep
7$-%#opGFfw7%7$&FfsFS&&FfsFYFS7$Fhu-%'subsopG6$/FF&FbzFYFiyFjr@%/FcwFL>FH-%)sim
plifyG6#7$,&-%$mapG6$f*6#F-FA6$%)operatorG%&arrowGFA**&T#FcrFF&F[\l6$FZFZFF&T&6
%T'""'FZFctFIFFFAFA6(F1F\rF&FitF/FeoF[wFct-Fb[l6$f*Fe[lFAFf[lFA*&&T$6%T%Fb\lFFF
FFIFFFAFA6&F&FitF/FeoFRFF,&-Fb[l6$f*Fe[lFAFf[lFAFi[lFAFAFc\l&Fit6%FeoFFFZFct-Fb
[l6$f*Fe[lFAFf[lFAFg\lFAFAF\]lFXFF>FH-F][l6#7$,&-Fb[l6$f*Fe[lFAFf[lFA**Fj[lFFF\
\lFF&&&&F[]l6#Fa\lFYFYFYFctFIFFFAFA6(F1F\rF;FepF>Fcw&&&Fep6#FcwFSFSFct-Fb[l6$f*
Fe[lFAFf[lFA*&&&&&F[\l6#F[]lFYFYFSFFFIFFFAFA6&F;FepF>FcwFRFF,&-Fb[l6$f*Fe[lFAFf
[lFAF^^lFAFAFd^l&Ff^lFYFct-Fb[l6$f*Fe[lFAFf[lFAF\_lFAFAFb_lFXFF>FH-Fey6%FRFaoFX
>FHFgp@$0%0JanetOre/characGFL>FH-%$modG6$FHFa`l@%/Fa`lFLC%>Ffs-%'normalG6#*(Fbr
FF&F\rF]\lFF&Fit6%FeoFb\lFZFct>FH-%(collectG6%7$-F[al6#,&-Fb[l6$f*Fe[lFAFf[lFAF
g\lFAFAF\]lFRFF-Fb[l6$f*Fe[lFAFf[lFA-F_\l6$F[\lFIFAFA6&F0FfsF(9'F[wFct-F[al6#,&
-Fb[l6$f*Fe[lFAFf[lFAFg\lFAFAF\]lFXFF-Fb[l6$f*Fe[lFAFf[lFAF_blFAFAFablFa]lFctFa
o%,distributedG@$1FguFKC$>FHF\`l>FKFLC%>Ffs-Fd`l6$-%'NormalGF\alFa`l>FH-Fcal6%7
$-Fd`l6$-Fgcl6#,&-Fb[l6$f*Fe[lFAFf[lFAFg\lFAFAF\]lFRFF-Fb[l6$f*Fe[lFAFf[lFAF_bl
FAFAFablF[wFctFa`l-Fd`l6$-Fgcl6#,&-Fb[l6$f*Fe[lFAFf[lFAFg\lFAFAF\]lFXFF-Fb[l6$f
*Fe[lFAFf[lFAF_blFAFAFablFa]lFctFa`lFaoF\cl@$1"#7FKC$>FHF\`l>FKFL>FiqFjq>F\rF]r
>Feo,&FeoFFFFFF@'3/FRF^q0FXFdqC%@$2FLFK>FX&-Fey6%FXFaoFhnFS@$4-%5JanetOre/membe
r_multG6%FX%&J_HOMGFao>F\gl7$-F]z6#F\glFX7$FRFdqF^fl7$F^qFX@%FbflF\`lFHFA6%F\gl
FDF[vFAFA
M7R0
IGJanetOre/jnormal_form_evala_lc_poly_lmf*6)%"fG%"FG%%seqvG%(mulprocG%'lmprocG%
'ppprocG%(loc_varG66%"aG%#caG%#cbG%"hG%"iG%"kG%#lmG%$divG%#stG%'n_entrG%)rhs_en
trG%*zero_listG%.rhs_zero_listG%#lvG%#nlG%#nvG%"HG%"eG%#meG%#hiG6#%jnCopyright~
(C)~2000-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C.>%*_jonnformG,&FF"""F
HFH>8'9$>8,""!>8--%%nopsG6#&FJ6#FH>8.-FR6#&FJ6#""#@$09*7"C'>81<#-%$seqG6$&9&6#&
Fin6#8(/Fgo;FH-FR6#Fin>82-FR6#F]o>83-%'removeG6%%$hasGFcoF]o>84Fjn>FJ7$-%7Janet
Ore/cancel_locvarG6%FTFcoFin-F[q6%FZFcoFin>8/7#-%"$G6$FNFP>807#-Fcq6$FNFX>8+%%t
rueG>8*-9(FS?(FCFHFHFC3F[r0&F^r6$FfnFHFNC&>FgoFH>F[r%&falseG@$Fhn>85,&-%$maxG6#
-F`o6$-%'degreeG6$&FT6#8)F]o/Fhs;FHFPFH-%$addG6$&&F^r6$FHFH6#&FinFgs/Fhs;FHF]p!
""?(FCFHFHFC31Fgo-FR6#9%4F[rC$@$30FTF`q-%5JanetOre/pinv_divideG6%&F[u6$Fgo""$&F
[u6$Fgo""&&F^rFUC'>%)_joreducG,&F]vFHFHFH>FM,&FMFHFHFH@%FhnC+>86,&-F_s6#-F`o6$-
Fds6$&&F[u6%FgoFHFHFgsF]oFisFH-F\t6$&&F[u6%FgoFfuFHFatFctFet>87FN>Fhs-FR6#Fgp?(
FCFHFHFC32FNFdv2FNFhsC$@$332&&FgpFgs6#FfuFdv/&&&FcxFenFUFen&FjuFen-%8JanetOre/c
onv_divisibleG6$FgxFjuC$>FewFhs>FdvFbx>Fhs,&FhsFHFetFH@$2F\sFdvC$>Fhs-9)6%FTFco
7$FZ&&F^rFenFU>Fgp7$-%#opGFhw7%7$&FhsFU&&FhsFenFU7$Fju-%'subsopG6$/FH&FdzFenF[z
F\s@%/FewFN>FJ-%)simplifyG6#7$,&-%$mapG6$f*6#F-FC6$%)operatorG%&arrowGFC**&T#Fe
rFH&F]\l6$FfnFfnFH&T&6%T'""'FfnFetFKFHFCFC6(F3F^rF&F[uF1FgoF]wFet-Fd[l6$f*Fg[lF
CFh[lFC*&&T$6%T%Fd\lFHFHFKFHFCFC6&F&F[uF1FgoFTFH,&-Fd[l6$f*Fg[lFCFh[lFCF[\lFCFC
Fe\l&F[u6%FgoFHFfnFet-Fd[l6$f*Fg[lFCFh[lFCFi\lFCFCF^]lFZFH>FJ-F_[l6#7$,&-Fd[l6$
f*Fg[lFCFh[lFC**F\\lFHF^\lFH&&&&F]]l6#Fc\lFenFenFenFetFKFHFCFC6(F3F^rF=FgpF@Few
&&&Fgp6#FewFUFUFet-Fd[l6$f*Fg[lFCFh[lFC*&&&&&F]\l6#F]]lFenFenFUFHFKFHFCFC6&F=Fg
pF@FewFTFH,&-Fd[l6$f*Fg[lFCFh[lFCF`^lFCFCFf^l&Fh^lFenFet-Fd[l6$f*Fg[lFCFh[lFCF^
_lFCFCFd_lFZFH>FJ-Fgy6%FTFcoFZ>FJFip@$0%0JanetOre/characGFN>FJ-%$modG6$FJFc`l@%
/Fc`lFNC&-%$gcdG6&Fdr&F[u6%FgoFd\lFH.8%.8&>Fhs-%'normalG6#-%&evalaG6#*(FaalFH&F
^rF_\lFH&F[u6%FgoFd\lFfnFet>FJ-%(collectG6%7$-Ffal6#-Fial6#,&-Fd[l6$f*Fg[lFCFh[
lFC*&F]\lFHFKFHFCFC6$F/FcalFTFH-Fd[l6$f*Fg[lFCFh[lFC-Fa\l6$F]\lFKFCFC6&F2FhsF(9
'F]wFet-Ffal6#-Fial6#,&-Fd[l6$f*Fg[lFCFh[lFCF\clFCFCF]clFZFH-Fd[l6$f*Fg[lFCFh[l
FCFaclFCFCFcclFc]lFetFco%,distributedG@$1FiuFMC$>FJF^`l>FMFNC&-Ff`l6$-%$GcdGF]a
lFc`l>Fhs-Ff`l6$-%'NormalGFgalFc`l>FJ-Fabl6%7$-Ff`l6$-F_el6#-Fial6#,&-Fd[l6$f*F
g[lFCFh[lFCF\clFCFCF]clFTFH-Fd[l6$f*Fg[lFCFh[lFCFaclFCFCFcclF]wFetFc`l-Ff`l6$-F
_el6#-Fial6#,&-Fd[l6$f*Fg[lFCFh[lFCF\clFCFCF]clFZFH-Fd[l6$f*Fg[lFCFh[lFCFaclFCF
CFcclFc]lFetFc`lFcoF`dl@$1"#7FMC$>FJF^`l>FMFN>F[rF\r>F^rF_r>Fgo,&FgoFHFHFH@'3/F
TF`q0FZFfqC%@$2FNFM>FZ&-Fgy6%FZFcoFjnFU@$4-%5JanetOre/member_multG6%FZ%&J_HOMGF
co>Fhhl7$-F_z6#FhhlFZ7$FTFfqFjgl7$F`qFZ@%F^hlF^`lFJFC6%FhhlFFF]vFCFC
M7R0
IDJanetOre/simp_jnormal_form_Z_lm_oldf*6)%"fG%"FG%%seqvG%(mulprocG%'lmprocG%'pp
procG%(loc_varG6+%"aG%"iG%"hG%"lG%#lmG%$divG%'n_entrG%*zero_listG%.rhs_zero_lis
tG6#%jnCopyright~(C)~2004-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C+>%*_
jonnformG,&F;"""F=F=>8&9$>8*-%%nopsG6#&F?6#F=>8+7#-%"$G6$""!FB>8,7#-FL6$FN-FD6#
&F?6#""#>8)%%trueG>8(-9(FE?(F8F=F=F83FZ0&Fgn6$FXF=FNC%>8%F=>FZ%&falseG?(F8F=F=F
831Fao-FD6#9%4FZC$@$30FFFI-%5JanetOre/pinv_divideG6%&Fio6$Fao""$&Fio6$Fao""&&Fg
nFGC%>%)_joreducG,&F[qF=F=F=>8'-%%iquoG6$F]o&Fio6%Fao""'F=@$0F^qFNC%>F?-%(colle
ctG6%7$-%'normalG6#,&FFF=-%$mapG6$f*6#F-F86$%)operatorG%&arrowGF8**T#F=&T%6$FXF
XF=&T(6%T)FdqFX!""F@F=F8F86*F0F^qF1FgnF&FioF.Fao&Fio6%FaoF=F=Fbs-F^r6#,&FVF=-Fb
r6$f*FerF8FfrF8FirF8F8Fcs&Fio6%FaoF=FXFbs9&%,distributedG>FZFen>FgnFhn>Fao,&Fao
F=F=F=@'3/FFFI0FVFPC$@$4-%5JanetOre/member_multG6%FV%&J_HOMGF^t>F^u7$-%#opG6#F^
uFV7$FFFPFft7$FIFVF?F86%F^uF;F[qF8F8
M7R0
I8JanetOre/omult_exteriorf*6&%"pG%"qG'%&opvarG%%listG'%$opsGF)6#%"iG6#%jnCopyri
ght~(C)~2003-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C$-%%subsG6$7#-%$se
qG6$/&9&6#8$&9'F</F=;"""-%%nopsG6#F;-%:JanetOre/poltoop_exteriorG6$9$F;-%"%G6#9
%F0F0F0F0
M7R0
I9JanetOre/dual_polynomialf*6&%#_pG'%#vlG%%listG'%#vrGF(%,dualmulprocG6&%"cG%"l
G%"pG%"rG6#%jnCopyright~(C)~2006-2010~by~Daniel~Robertz.~All~rights~reserved.G6
"C$>8&-%'expandG6#9$@'-%%typeG6$F6%"+G-%$mapG6'F"F69%9&9'-F=6$F6%"*GC&>8%-%'sel
ectG6%%$hasGF6FC>8'-FM6%FOF6FD>8$-%'removeG6%FOF67$-%#opG6#FC-Fen6#FD*&FU"""-FE
6$FQFKFjnF6F3F3F3F3
M7R0
I4JanetOre/JInvReducef*6%%"fG'%"BG%%listG'%%varsGF(6"6#%jnCopyright~(C)~2000-20
10~by~Daniel~Robertz.~All~rights~reserved.GF+C$@$0%5JanetOre/initializedG.%%tru
eG-%.JanetOre/initGF+-%2JanetOre/JIReduceG6#9"F+F+F+F+
M7R0
I6JanetOre/jjanet_separf*6&%&m_ordG%&N_OrdG%%seqvG%(mulprocG6)%"iG%"lG%"kG%'mod
_rkG%"JG%"QG%"SG6#%\pCopyright~(C)~2000-2010~by~Carlos~F.~Cid~and~Daniel~Robert
z.~All~rights~reserved.G6"C-@$/%*jnumber_tG"""-%'RETURNG6#7"@%0%2JanetOre/divis
ionG""!>%)J_T_ListG-%%sortG6$FB%8JanetOre/pplexdivision3G@$309$F80FJ""$>FB-FD6$
FB%0JanetOre/pplex3G>8'-%%nopsG6#&FB6%F8F8F8>8(7#-%$seqG6$F</8$;F8FR?(FinF8F8F7
%%trueGC$>8&&FB6%FinFL""#>FY-%'subsopG6$/F_o7$-%#opG6#&FY6#F_o&FB6#FinFY>8)F<>F
BF<@%F>?(FinF8F8FRF\oC%>8*-%9JanetOre/jjanet_divisionG6%&FYF_p9&9'>Fap7$-Fjo6#F
ap-Fjo6#&Fgp6#Fbo>FB7$-Fjo6#FB-Fjo6#&Fgp6#F8?(FinF8F8FRF\oC%>Fgp-%7JanetOre/jja
net_stddivGFjp>FapF_q>FBFgq>F7-FTFiq>FB-FD6$FB9%FapF36$FBF7F3F3
M7R0
I=JanetOre/jjanet_div_exteriorf*6'%"LG%%seqvG%(mulprocG%'lmprocG%-var_exteriorG
62%"aG%"iG%"jG%"kG%"lG%"mG%"nG%"FG%"qG%"QG%#suG%$conG%(allmultG%#lmG%,bKeepZero
esG%%lstjG6#%ipCopyright~(C)~2000-2010~by~Carlos~F.~Cid,~Arne~Lorenz~and~Daniel
~Robertz.~All~rights~reserved.G6"C/>8*-%%nopsG6#9$@$/F@""!-%'RETURNG6#7$FD7"@%3
2""&9#-%%typeG6$&9"6#""'%(booleanG>82FU>Fen%&falseG>8+FD>8-FL>Fin-%'subsopG6$/F
@7)&Fin6$F@"""&Fin6$F@""#&Fin6$F@""$7#-%"$G6$FG%'_jnvarG-%:JanetOre/allmult_ext
eriorG6$Fho9(&Fin6$F@FXFLFin>8.&Fin6$F@FP>8/&Fin6$F@""%>8&Fdo?(F=FdoFdoF=1F`qF_
pC$@%2&Fgp6#F`q%)infinityG@$30&F[qFgq,&FfqFdoFdoFdo5/-%'memberG6$F`qFcpFgn0FfqF
doC%>8,-%(collectG6%7$-%$mapG6$f*6#F+F=6$%)operatorG%&arrowGF=-T(6$)-%$catG6$%#
_xGT#,&&T%6#F[tFdoFdoFdoFDF=F=6(F-F`qF5FgpF'9&&Fin6%F@FdoFdo-F\s6$f*F_sF=F`sF=F
csF=F=F`t&Fin6%F@FdoFgo9%%,distributedG@$50&Ffr6#Fdo7#-F]p6$FG-FB6#F^uFenC$>81-
9'Fdu>F[o7$-%#opG6#F[o7)FfrFeo&FguF_uF[p-Fap6$F`vFcp&Fgu6#FgoFho>F[q-F^o6$/F`qF
]rF[q>F[q-F^o6$/F`qFGF[q>F`q,&F`qFdoFdoFdo>Fin-F^o6$/F@-F^o6$/F^qF[q&Fin6#F@Fin
?(8%,&F@Fdo!""FdoF[xFdo%%trueGC(>Fgp-Fap6$&Fin6$FiwFjoFcp>F[q&Fin6$FiwF^q>F`qFd
o?(F=FdoFdoF=3Fbq/&Fin6&,&FiwFdoFdoFdoFjoFdoF`q&Fin6&FiwFjoFdoF`qC%>Fgp-F^o6$/F
`q&Fin6%F\yFPF`qFgp@%Feq@$FjqC%>Ffr-Fhr6%7$-F\s6$f*F_sF=F`sF=FcsF=F=F`t&Fin6%Fi
wFdoFdo-F\s6$f*F_sF=F`sF=FcsF=F=F`t&Fin6%FiwFdoFgoFitFjt@$F\uC$>FguFhu>F[o7$F\v
7)Ffr&Fin6$FiwFgoF`vF[pFavFcvFax>F[qFfv>F[qFjv>F`qF^w@$FbqC&@%%3JanetOre/janetl
ikeGC%>8(,&FjxFdoF]yF[x>Fgp-F^o6$/F`q,&Fh[lFdoF[xFdoFgp@$0F\rFh[lC%>Ffr-Fhr6%7$
-F\s6$f*F_sF=F`sF=FcsF=F=F`tFbt-F\s6$f*F_sF=F`sF=FcsF=F=F`tFgtFitFjt@$F\uC$>Fgu
Fhu>F[oF[[l>F[q-F^o6$/F`qFh[lF[qC$>Fgp-F^o6$F\wFgp@$/F\rFGC%>Ffr-Fhr6%7$-F\s6$f
*F_sF=F`sF=-T&6$FgsFDF=F=6&F-F`qF'FatF`z-F\s6$f*F_sF=F`sF=Fb^lF=F=Fe^lFezFitFjt
@$F\uC$>FguFhu>F[oF[[l>F[q-F^o6$/F`qFdoF[q>F[q-F^o6$-%$seqG6$/8'FG/Fh_l;F^wF_pF
[q>83-F\s6$f*6#F0F=F`sF=@$2&F[tFCFhqFDF=F=6$F5Fgp7#-F]p6#Fj_l@$0F\`lFL?&F`qF\`l
F\x@$FjqC%>Ffr-Fhr6%7$-F\s6$f*F_sF=F`sF=FcsF=F=F`tF`z-F\s6$f*F_sF=F`sF=FcsF=F=F
`tFezFitFjt@$F\uC$>FguFhu>F[oF[[l>F[qFfv>Fin-F^o6$/Fiw-F^o6$Few-F^o6$/FPFgp&Fin
6#FiwFin-FI6#7$FinF[oF=F=F=F=
M7R0
I7JanetOre/autoreductionf*6)'%"LG%%listG%'N_FormG%%seqvG%(mulprocG%'lmprocG%'pp
procG%(loc_varG6*%"gG%"hG%"iG%#lmG%"FG%"TG%*zero_listG%.rhs_zero_listG6#%jnCopy
right~(C)~2002-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C(>8*7#-%"$G6$""!
-%%nopsG6#&9$6%"""FHFH>8+7#-F?6$FA-FC6#&FF6%FHFH""#>8(FF>8&FH?(F9FHFHF91FV-FC6#
FTC&>8$&FT6#FV>8)-%'subsopG6$/FV%%NULLGFT>8%-9%6)&Fgn6#FHF[o9&9'9(9)9*@%/Fbo7$F
<FJ>FTF\oC&>8'-Fjo6#&FboFgo@$4%2JanetOre/ratcoeffG>Fcp-F]o6$/FH7$-%#opG6#&FcpFg
o&&Fcp6#FRFgoFcp@%/&FgnFeqFbq>FT-F]o6$/FV7)FboFhqFbq&Fgn6#""%&Fgn6#""&Fdq7"FT>F
T-F]o6$/FV7)FboFhqFbq7#-F?6$FA%'_jnvarGFarFdqFdrFT>FV,&FVFHFHFHFTF9F9F9F9
M7R0
I1JanetOre/JAddRhsf*6#%"LG6&%"iG%"eG%"vG%"RG6#%jnCopyright~(C)~2000-2010~by~Dan
iel~Robertz.~All~rights~reserved.G6"C%>8&-%*substringG6$-%(convertG6$-%+kernelo
ptsG6#%(versionG%'stringG;""""")@'5-%%typeG6$9$%'matrixG330F0Q)Maple~V,F-0F0Q)M
aple~6.F--FB6$FD%'MatrixG>8'-F56$FD%)listlistG-FB6$FD%%listG>FPFD-%&ERRORG6#%Re
xpecting~first~parameter~to~be~a~list~or~matrix.G@%2F=9#C$@$0-%%nopsG6#&9"6#""#
-F]o6#FP-FY6#%enthe~number~of~right~hand~sides~must~equal~the~length~of~L.G-%$z
ipG6%f*6$F'F(F-6$%)operatorG%&arrowGF-/FD9%F-F-F-FPF_oC$>8%7#-%"$G6$""!Fco7#-%$
seqG6$/&FP6#8$-%'subsopG6$/FaqF=Fdp/Faq;F=FcoF-F-F-F-
M7R0
I6JanetOre/JAnnihilatorf*6$%"pG%"LG6+%"aG%"eG%"iG%"lG%"nG%'n_entrG%#L2G%"MG%"SG
6#%jnCopyright~(C)~2000-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C(@$29#"
"$-%&ERRORG6#%Pexpecting~list~of~variables~as~third~parameter.G>8*-%3JanetOre/p
rocinputG6#9%>8)&F>6#""">F>&F>6#""%@)4-%%typeG6$9$%%listGC&@$/FQ""!-%'RETURNG6#
7#FG>8'7$FQFQ>8%FQ>8&FV3-FO6$FQ%)listlistG/-%%nopsG6#FQFGC'@$/<#-%#opG6#&FQFF<#
FVFW>Ffn7$FhoFho>F[oFG?(F3FGFGF331F[o-FboFjo/&F[p6#F[oFV>F[o,&F[oFGFGFG>FinFep3
4F]o/FaoFDC'@$/FQ7#-%"$G6$FVFDFW>Ffn7$-FioFcoFfq>F[oFG?(F3FGFGF331F[oFao/&FQFfp
FV>F[oFhp>FinF\r>Ffn%%NULLG@%0FfnF`rC%>8,-%0JanetOre/JBasisG6%7$Ffn-Fio6#-%$map
G6$f*6#F(F36$%)operatorG%&arrowGF37$Fho-Fbq6$FVT#F3F36$F-FDF>&9"6#;F8!""""#@%/F
[oFV@%/%0JanetOre/characGFV>Fer-F]s6$f*F`sF3FasF3@$/F[pFV-%'normalG6#*&&FQ6#F^t
FGT$F]tF3F36$F%FQFer>Fer-F]s6$f*F`sF3FasF3@$Fit-%$modG6$-%'NormalGF\uFctF3F3Fau
Fer@%Fbt>Fer-F]s6$f*F`sF3FasF3@$/&FQ6#;FGFgs7#Fes-F[u6#*&&FQ6#,&FgsFGT%FGFGT'F]
tF3F36(F-FDF*F[oF)FinFer>Fer-F]s6$f*F`sF3FasF3@$Fbv-Fhu6$-F[vFhvFctF3F3F_wFer@%
2F8F7-Fgr6$FerFisFerC%@%F]o>8+7$-F]s6$FioFQ-%$seqG6$-Fdx6$7%-Fbq6$FV*&8$FGFDFG-
Fio6#&&F>FfpFF-Fbq6$FV*&,(FaoFGF\yF]tF]tFGFGFDFG/F[o;FG-Fbo6#F>/F\y;FV,&FaoFGF]
tFG>F_x7$FQ-Fdx6$-Fdx6$7%-Fbq6$FVF\yF]y-Fbq6$FVFdyFeyFiy>Fer-%7JanetOre/JSyzygy
ModuleG6$F_xFis@%-FO6$FerF_o-Fgr6$-F]s6$f*F`sF3FasF3F[pF3F3F3FerFisFerF3F3F3F3
M7R0
I5JanetOre/pmaxmin_degf*6#%"TG6&%"aG%"vG%%maxdG%%mindG6#%jnCopyright~(C)~2007-2
010~by~Daniel~Robertz.~All~rights~reserved.G6"C&>8&""!>8'%)infinityG@%%3JanetOr
e/janetlikeG?&8%9$%%trueGC%>8$,&-%(convertG6$&F86$""$"""%"+GFE-F@6$-%%subsG6$/F
4F1&F86#""&FFFE@$2F0F=>F0F=@$2F=F3>F3F=?&F8F9F:C%>F=F?@$FQ>F0F=@$FT>F3F=6$F0F3F
-F-F-F-
M7R0
I4JanetOre/JDimensionf*6"F$6#%\pCopyright~(C)~2000-2010~by~Carlos~F.~Cid~and~Da
niel~Robertz.~All~rights~reserved.GF$-%'degreeG6#-%-JanetOre/JHPG6#9"F$F$F$F$
M7R0
I@JanetOre/JWeightedHilbertSeriesf*6"62%"bG%"fG%"iG%"jG%"pG%"sG%$serG%'vt_degG%
'n_entrG%%varsG%%nvarG%$altG%,given_basisG%/args_without_sG%$varG%2tmp_J_T_List
_dataG6#%jnCopyright~(C)~2000-2010~by~Daniel~Robertz.~All~rights~reserved.GF$C/
>8/%&falseG>8).F=@%31""#9#-%%typeG6$&9"6#FB%%listGC%>80%%trueG>816$&FH6#"""FG>8
'""$C&@$52FCFT4-FE6$FRFJ-%&ERRORG6#%inexpecting~a~list~with~variables~and~degre
es~as~first~argument.G>FMF;>FP%%NULLG>FVFB?(8&FVFTFCFN@)3-FE6$&FH6#Fbo%)equatio
nG/-%#opG6$FTFgoQ$varF$C$>F=-F\p6$FBFgo@$4-FE6$F=%%nameG-Fjn6#%Sexpecting~an~in
determinate~for~the~Hilbert~series.G-FE6$FgoFgp>F=Fgo3-FE6$Fgo%'stringG/FgoQ,al
ternativeF$>F:FN>FP6$FPFgo@%FMC$>6$8382-%5JanetOre/setup_basisG6#FP>8-FGC$>FarF
R@$4-%)assignedG6#%)J_T_ListG-Fjn6#%Lmissing~involutive~basis;~run~JBasis~first
.G>8,-%%nopsG6#&Fir6%FTFTFT>F\r-%2JanetOre/procvarsG6$FarF^s>8+&F\r6#FW>F\r&F\r
FS>8.-F`s6#F\r@%F:C%>8%-%$mulG6$*$,&FTFT)F=&FisFho!""F]u/Fbo;FTF_t>8*-%$addG6$*
&)F=&Fis6#,&F_tFTFboFTFTFetFT/Fbo;FTF^s@$0&Fir6%FT""'FT""!?(FboFTFT-F`sFhrFNC)>
8$-%%subsG6$/%)infinityGFav&Fir6$Fbo""&>8(7#-%"$G6$FavF_t>Fet)F=,&&Fis6#,&F_tFT
&Fir6%FboFWFBFTFT-Fcu6$*&&Fir6&FboFWFTFVFT&Fis6#FVFT/FVF_uFT?(FVFTFTF_tFN@$/&Fi
r6%FboF^wFVF[w>Fet*&FetFT,&FTFT)F=FbxF]uF]u>Fau,&FauFTFetF]u>F`w-%6JanetOre/nex
tmonomialG6$F`wFfv?(F$FTFTF$0F`wFawC$>Fau,&FauFT*&FetFT)F=-%(convertG6$F`w%"+GF
TF]u>F`wFayC$>Fau-Fhv6$7#-%$seqG6$/&F\rFhoF[uF^u-%<JanetOre/JFactorModuleBasisG
6$F\rQ"GF$@%/F^sFT>Fau*&)F=&Fis6#,&F_tFTFTFTFTFauFT>Fau-%'expandG6#-Fcu6$*&FfuF
T&FauFhoFTFju@$FM-%9JanetOre/restoreJ_T_ListG6#F[rFauF$F$F$F$
M7R0
I4JanetOre/jets_mkmatf*6#'%$matG<&%'matrixG%&arrayG%%listG%)listlistG6$%"MG%"iG
6#%[oCopyright~(C)~2000-2002~by~Mohamed~Barakat.~All~rights~reserved.G6"@)-%%ty
peG6$9$F(F6-F46$F6F+@%-F46$&F66$"""F>F*C%>8$-F(6$-%%nopsG6#F6-FE6#&F66#F>?&8%-%
$mapG6$f*6#%"aGF16$%)operatorG%&arrowGF1-%#opG6#-FN6$f*6#%"bGF1FSF17$T$F6F1F16$
FRF67#-%"$G6#;F>-FE6#&FinFJF1F16$F&F67#-F]o6#;F>FD%%trueG>&FA6#-FW6#FL&F6F[p-%%
copyG6#FA-%(convertGF5-F46$F6F*-F(6%F>FDF6FbpF1F1F1F1
M7R0
I4JanetOre/JSubFactorf*6%%$RR1G%#R1G'%%varsG%%listG6+%"KG%"LG%"iG%"nG%"sG%#J1G%
"GG%$varG%$opsG6#%^pCopyright~(C)~2003-2010~by~Mohamed~Barakat~and~Daniel~Rober
tz.~All~rights~reserved.G6"C5>8$-%$mapG6$f*6#%"aGF66$%)operatorG%&arrowGF6&9$6#
"""F6F6F6&-%3JanetOre/procinputG6#FD6#""%>8%-F;6$f*F>F6F@F6FCF6F6F6&-FI6#9%FK@$
0-%%nopsG6#&F9FE-FY6#&FNFE-%&ERRORG6#%dpThe~two~modules~are~submodules~of~diffe
rent~free~modules!~Check~the~number~of~components!G>8+&-%2JanetOre/procvarsG6$9
&FXFE>8,%%NULLG>8(Ffo?(8&FLFF9#%%trueG@'-%%typeG6$&9"6#FjoF)>FeoFap-F_p6$Fap%%n
ameG>FhoFap-Fjn6#%0invalid~option.G>8'FX>8)-%0JanetOre/JBasisG6%FNFcoFeo>F9-F;6
'%4JanetOre/JInvReduceGF9F_qFcoFeo>F9-%7JanetOre/jets_depcheckG6#F9@$/F97">F97#
7#-%"$G6$""!F]q>8*-F;6$f*F>F6F@F6/-%$rhsGFJ-%$lhsGFJF6F6F6-%1JanetOre/JAddRhsGF
jq>F9F_s>F]q-FYFjq-Faq6%7$-%#opG6#F_q-FhsFjqFcoFeo>F9-%3JanetOre/JSyzygiesGFes@
%F\r>F9-Faq6%F_rFcoFeo>F9-Faq6%F9FcoFeo7&FfrF9-%8JanetOre/JHilbertSeriesG6#Fho-
%:JanetOre/JCartanCharacterG6#7#-Fbr6#;FF-FY6#F^oF6F6F6F6
M7R0
I2JanetOre/JKaehlerf*6$%#_RG'%$varG%%listG6%%"RG%#RlG%$opsG6#%[oCopyright~(C)~2
003-2010~by~Mohamed~Barakat.~All~rights~reserved.G6"C&>8$-%$mapG6$f*6#%"aGF/6$%
)operatorG%&arrowGF/&9$6#"""F/F/F/&-%3JanetOre/procinputG6#F=6#""%>8%-F46$%#opG
-%(convertG6$F2%)listlistG@%2""#9#>8&&9"6#""$>FT%%NULLG@%/%4JanetOre/matrixtype
G%'MatrixG-Fhn6#-%.JanetOre/JSumG6&-F46$f*F7F/F9F/-F46$f*6#%"bGF/F9F/-%%diffG6$
T$F=F/F/6$F8F=FioF/F/6$F'9%FG-%4JanetOre/JDirectSumG6#-%"$G6$F2-%%nopsG6#F\pF\p
FT-%'matrixG6#-F\o6&-F46$f*F7F/F9F/-F46$f*FdoF/F9F/FfoF/F/FjoFioF/F/F[pFGF]pF\p
FTF/F/F/F/
M7R0
I/JanetOre/JExtnf*6%'%"qG%*nonnegintG%%_AR1G'%%varsG%%listG6+%"aG%"iG%"sG%$AR0G
%$AR1G%#R0G%#R1G%$RR1G%$opsG6#%jnCopyright~(C)~2000-2010~by~Daniel~Robertz.~All
~rights~reserved.G6"C&>8,%%NULLG>8&F<?(8%""%"""9#%%trueG@'-%%typeG6$&9"6#F@F+>F
;FI-FG6$FI%%nameG>F>FI-%&ERRORG6#%0invalid~option.G@%/9$""!C%>8)-%0JanetOre/JSy
zOpG6%-%5JanetOre/JInvolutionG6%-%4JanetOre/jets_mkmatG6#-%$mapG6$f*6#F-F86$%)o
peratorG%&arrowGF8&FW6#FBF8F8F8&-%3JanetOre/procinputG6#9%6#FA9&F;F_pF;>Fen-%4J
anetOre/JSubFactorG6'Fen7#7#-%"$G6$FX-&%'linalgG6#%'coldimG6#FenF_pF;F>-%'subso
pG6$/FB-F`o6$f*FcoF8FdoF8/-%$lhsG6#FW-Fjn6%-%4JanetOre/matrixtypeG6#7#-%$rhsGFi
qT$T%F8F86&F*F_pF5F;&FenFhoFenC*>8'-F]o6#-F`o6$f*FcoF8FdoF8FgoF8F8F8Fio>8(7#7#F
B>F@FB?(F8FBFBF831F@FW4-&F[q6#%'iszeroG6#F_sC%>F_s-%&evalmG6#Fhr>Fhr-Fgn6%FhrF_
pF;>F@,&F@FBFBFB>Fen-FjnFct>8*-Fjn6%F_sF_pF;>8+-Fgn6%FenF_pF;-Fbp6'F]uFitF_pF;F
>F8F8F8F8
M7R0
I.JanetOre/initf*6"6$%*ini_printG%"vG6#%jnCopyright~(C)~2003-2010~by~Daniel~Rob
ertz.~All~rights~reserved.GF$@$50%5JanetOre/initializedG.%%trueG32""!9#-%%typeG
6$&9"6#""".%%listGC0>8$f*F$F$F$F$@$0%4_Env_JanetOre_printG%&falseG-%&printG6#F8
F$F$F$>%0JanetOre/characGF2>%2JanetOre/ratcoeffGF/>%0JanetOre/absremGFD>%3Janet
Ore/janetlikeGFD>%2JanetOre/divisionGF2>%4JanetOre/JInvoBasisG%1JanetOre/JIBasi
sG>%2JanetOre/JIReduceG%6JanetOre/JInvolReduceG>%5JanetOre/JGroebBasisG%6JanetO
re/JGroebnerBasG>%4JanetOre/JSyzygyModG%4JanetOre/JSyzModuleG>%1JanetOre/invcri
tG7">8%-%*substringG6$-%(convertG6$-%+kerneloptsG6#%(versionG%'stringG;F:"")@%3
0F\oQ)Maple~V,F$0F\oQ)Maple~6.F$>%4JanetOre/matrixtypeG%'MatrixG>Fap%'matrixG>F
-F.F$6.F-FIFKFapFOFQFMFSFVFYFfnFinF$F$
M7R0
IAhomalg/JanetOreZeroSets/Syzygiesf*6%%$_M1G%$_M2G'%$varG%%listG6*%"iG%"jG%"vG%
#M1G%#M2G%'n_entrG%$retG%"LG6#%joCopyright~(C)~2004-2010~by~Arne~Lorenz~and~Dan
iel~Robertz.~All~rights~reserved.G6"C'>8&-%5homalg/NormalizeRingG6$9&%)JanetOre
G@%0&F86#""#7"C&>8'-%6homalg/NormalizeInputG6$9$F=>8(-FH6$9%F=@%0FLFC>8)-%%nops
G6#&FL6#"""@%0FFFC>FS-FU6#&FFFX-%&ERRORG6#QCNo~input~to~compute~syzygies~from!F
5>FL7$-%#opG6#FL-%$seqG6$-Fdo6$-%'subsopG6$/8$&F86%FB8%FY7#-%"$G6$""!FS/F\p;FYF
S/F_p;FY-FU6#F@C$>FFFJ>FLFO>8+-%1JanetOre/JAddRhsG6#FF@%52-FU6#F8""$/&F86#FhqFC
@%4-%%typeG6$FLF)C&-%0JanetOre/JBasisG6$7$-Fao6#F_q-Fao6#-%(convertG6$FL%)listl
istG&F8FX@%-%)assignedG6#%+_JZeroSetsG>Fcs7$-FaoFbs-Fao6#-%3JanetOre/JZeroSetsG
F5>FcsFis>8*-%3JanetOre/JSyzygiesGFdr>FcsFesC&-Fcr6$7$FfrF`oF^s@%F`s>FcsFes>Fcs
Fis>F]t-F_tFct>FcsFes@%F]rC&-Fcr6%FerF^sFjq@%F`s>FcsFes>FcsFis>F]t-F_tF^u>FcsFe
sC&-Fcr6%FdtF^sFjq@%F`s>FcsFes>FcsFis>F]t-F_tFgu>FcsFes@%55/F]t7#Fdp/F]tFC33-F_
r6$F]tF]s/-FU6#F]tFY/F]t7#7#-Fbp6$Fdp-FU6#&F]tFXFC-%?homalg/JanetOre/NormalizeI
nputGFjvF5FbsF5F5
M7R0
I8JanetOre/pplexdivision3f*6$%"aG%"bG6"6#%jnCopyright~(C)~2009-2010~by~Daniel~R
obertz.~All~rights~reserved.GF'-%7JanetOre/pplexdivisionG6$&9$6#""$&9%F/F'F'F'F
'
M7R0
I7JanetOre/jupdate_T_stdf*6#%"LG6)%"iG%"jG%"lG%"nG%"vG%$conG%(allmultG6#%jnCopy
right~(C)~2000-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C$>8'-%%nopsG6#9$
@$2""!F3C&>8*7#-%"$G6$%)infinityG%'_jnvarG>%)J_T_ListG-%'subsopG6$/&F76#F37)&&F
E6#FJ6#"""&FN6#""#&FN6#""$7#-F@6$F:FCF=&FN6#""'7"FE>8(FQ?(8$,&F3FQ!""FQF^oFQ%%t
rueGC'>8%Fjn?(F0FQFQF031FboFC/&FE6&&F76#,&F\oFQFQFQFWFQFbo&FE6&&F76#F\oFWFQFbo>
Fbo,&FboFQFQFQ>8)-FG6$-%$seqG6$/8&F:/Fjp;FapFC&&FE6#F^p6#""%@$3/FboFjn/F\pF:>Fj
n,&FjnFQFQFQ>FE-FG6$/F^p-FG6$/FaqFcpF^qFEF06#FEF0F0
M7R0
I5JanetOre/pplex_blockf*6$%"aG%"bG6#%"iG6#%jnCopyright~(C)~2004-2010~by~Daniel~
Robertz.~All~rights~reserved.G6"C$?(8$"""F/-%%nopsG6#&9$6#F/%%trueG@&2&F36#F.&&
9%F5F:-%'RETURNG6#F62F;F9-F?6#%&falseGF6F+F+F+F+
M7R0
I8JanetOre/jbinary_insertf*6)%"aG%"FG%"sG%"nG%"lG%&N_OrdG%#eqG6%%"iG%"jG%"pG6#%
\pCopyright~(C)~2000-2010~by~Carlos~F.~Cid~and~Daniel~Robertz.~All~rights~reser
ved.G6"C'@$/9(""!-%'RETURNG6#7#9$@$3/9&"""/9'F6@$-9)6$F<&9%6#FA@%-9*FG-F96#FI-F
96#-%'subsopG6$/FAFGFI@$/F@FC-F96#-FS6$/F@6$&FI6#F@F<FI>8&-%%iquoG6$,(F@FAFCFAF
AFA""#@%-FF6$F<&FI6#F[o@%-FMFcoFI-F"6)F<FIF@,&F[oFA!""FAF6FFFM-F"6)F<FIF[oFCF6F
FFMF2F2F2F2
M7R0
I<JanetOre/jbinary_insert_posf*6)%"aG%"FG%"sG%"nG%"lG%&N_OrdG%#eqG6%%"iG%"jG%"p
G6#%\pCopyright~(C)~2000-2010~by~Carlos~F.~Cid~and~Daniel~Robertz.~All~rights~r
eserved.G6"C'@$/9(""!-%'RETURNG6$7#9$"""@$3/9&F=/9'F6@$-9)6$F<&9%6#F=@%-9*FG-F9
6$FIF=-F96$-%'subsopG6$/F=FGFIF=@$/FAFC-F96$-FS6$/FA6$&FI6#FAF<FI,&FAF=F=F=>8&-
%%iquoG6$,(FAF=FCF=F=F=""#@%-FF6$F<&FI6#F\o@%-FMFdo6$FIF\o-F"6)F<FIFA,&F\oF=!""
F=F6FFFM-F"6)F<FIF\oFCF6FFFMF2F2F2F2
M7R0
IAJanetOre/jnormal_form_lc_poly_lmf*6)%"fG%"FG%%seqvG%(mulprocG%'lmprocG%'pppro
cG%(loc_varG66%"aG%#caG%#cbG%"hG%"iG%"kG%#lmG%(termo_hG%$divG%+no_contentG%'n_e
ntrG%*zero_listG%.rhs_zero_listG%#lvG%#nlG%#nvG%"HG%"eG%#meG%#hiG6#%jnCopyright
~(C)~2000-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C.>%*_jonnformG,&FF"""
FHFH>8'9$>8.-%%nopsG6#&FJ6#FH@$09*7"C'>81<#-%$seqG6$&9&6#&FU6#8(/F]o;FH-FO6#FU>
82-FO6#FY>83-%'removeG6%%$hasGFinFY>84FV>FJ7$-%7JanetOre/cancel_locvarG6%FQFinF
U-Fap6%&FJ6#""#FinFU>8/7#-%"$G6$""!FM>807#-F\q6$F^q-FO6#Fep>8-%%trueG>8,Fhq>8*-
9(FP>8+*&&F\r6$FgpFHFH&F\r6$FgpFgpFH?(FCFHFHFC3Fjq0FbrF^qC&>F]oFH>Fjq%&falseG@$
FT>85,&-%$maxG6#-Ffn6$-%'degreeG6$&FQ6#8)FY/F[t;FHFMFH-%$addG6$&&F\r6$FHFH6#&FU
Fjs/F[t;FHFco!""?(FCFHFHFC31F]o-FO6#9%4FjqC$@$30FQFip-%5JanetOre/pinv_divideG6%
&F^u6$F]o""$&F^u6$F]o""&&F\rFRC(>%)_joreducG,&F`vFHFHFH@%FTC+>86,&-Fbs6#-Ffn6$-
Fgs6$&&F^u6%F]oFHFHFjsFYF\tFH-F_t6$&&F^u6%F]oFiuFHFdtFftFht>87F^q>F[t-FO6#F]p?(
FCFHFHFC32F^qFev2F^qF[tC$@$331&&F]pFjs6#FiuFev/&&&FdxFfpFRFfp&F]vFfp-%8JanetOre
/conv_divisibleG6$FhxF]vC$>FfwF[t>FevFcx>F[t,&F[tFHFhtFH@$2F_sFevC$>F[t-9)6%FQF
in7$Fep&&F\rFfpFR>F]p7$-%#opGFiw7%7$&F[tFR&&F[tFfpFR7$F]v-%'subsopG6$/FH&FezFfp
F\zF_s@%/FfwF^q>FJ-%'expandG6#,&*&&F^u6%F]o""'FHFHFJFHFH7$,$*(F`rFH&F^u6%F]oFf[
lFgpFhtF^wFHFht,$*(F`rFHFj[lFht&F^u6%F]oFHFgpFHFhtFH>FJ-F`[l6#,&*&&&&&F]p6#FfwF
fpFfpFRFHFJFHFH7$,$*(F`rFH&Ff\lFfpFht&&Fh\lFRFRFHFht,$*(F`rFHF]]lFht&F_]lFfpFHF
htFH>FJ-Fhy6%FQFinFep>FJF_p@$0%0JanetOre/characGF^q>FJ-%$modG6$FJFi]l@%/Fi]lF^q
C%-%$gcdG6&FbrFd[l.8%.8&>F[t-%'normalG6#*(Fe^lFHFdrFHFj[lFht>FJ7$-Fj^l6#,&-%$ma
pG6$f*6#F-FC6$%)operatorG%&arrowGFC*&T#FHFKFHFCFC6$F/Fg^lFQFH-Fc_l6$f*Ff_lFCFg_
lFC-T&6$F[`lFKFCFC6&F2F[tF(9'F^wFht-Fj^l6#,&-Fc_l6$f*Ff_lFCFg_lFCFj_lFCFCF\`lFe
pFH-Fc_l6$f*Ff_lFCFg_lFCF``lFCFCFc`lF^\lFhtC%-F\^l6$-%$GcdGFc^lFi]l>F[t-F\^l6$-
%'NormalGF[_lFi]l>FJ7$-F\^l6$-Fgal6#,&-Fc_l6$f*Ff_lFCFg_lFCFj_lFCFCF\`lFQFH-Fc_
l6$f*Ff_lFCFg_lFCF``lFCFCFc`lF^wFhtFi]l-F\^l6$-Fgal6#,&-Fc_l6$f*Ff_lFCFg_lFCFj_
lFCFCF\`lFepFH-Fc_l6$f*Ff_lFCFg_lFCF``lFCFCFc`lF^\lFhtFi]l>FjqFhq>FgqF\s>F\rF]r
>F`rFar>F]o,&F]oFHFHFH@'3/FQFip0FepF`qC%>Fep&-Fhy6%FepFinFVFR@$3Ficl4-%5JanetOr
e/member_multG6%Fep%&J_HOMGFin>Fedl7$-F`z6#FedlFep7$FQF`qFhcl7$FipFepC$@$FT>FJF
_p@%/FgqF\sFd]lFJFC6%FedlFFF`vFCFC
M7R0
I<JanetOre/jnormal_form_Z_absf*6)%"fG%"FG%%seqvG%(mulprocG%'lmprocG%'ppprocG%(l
oc_varG6+%"aG%"hG%"iG%"lG%"rG%#lmG%$divG%*zero_listG%.rhs_zero_listG6#%jnCopyri
ght~(C)~2004-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C*>%*_jonnformG,&F;
"""F=F=>8%9$>8+7#-%"$G6$""!-%%nopsG6#&F?6#F=>8,7#-FE6$FG-FI6#&F?6#""#>8(7$FBFN>
8)-9(FJ?(F8F=F=F80&Fen6$FVF=FGC'>8&F=>8*%&falseG?(F8F=F=F831F^o-FI6#9%4F`oC$@$-
%5JanetOre/pinv_divideG6%&Fgo6$F^o""$&Fgo6$F^o""&&FenFLC%>%)_joreducG,&FgpF=F=F
=>8'-%%iquoG6$Fjn&Fgo6%F^o""'F=@&0FjpFGC$>F?7$-%'normalG6#,&FKF=-%$mapG6$f*6#F-
F86$%)operatorG%&arrowGF8**T#F=&T%6$FVFVF=&T(6%T)F`qFV!""F@F=F8F86*F0FjpF2FenF&
FgoF/F^o&Fgo6%F^oF=F=F[s-Fgq6#,&FTF=-F[r6$f*F^rF8F_rF8FbrF8F8F\s&Fgo6%F^oF=FVF[
s>F`o%%trueG52-%$absG6#-%&roundG6#,$F^q#F=FV-F\t6#Fjn3/FctF[t/-%%signGFdtF[sC$>
F?7$-Fgq6#,&FKF=-F[r6$f*F^rF8F_rF8*,-Fit6#&FcrF[oF=-Fit6#&T&6%T'F`qF=F=&FcrFfrF
=&Fju6%F\vF`qFVF[sF@F=F8F86(F2FenF&FgoF/F^oF]sF[s-Fgq6#,&FTF=-F[r6$f*F^rF8F_rF8
FcuF8F8F`vFesF[s>F`oFhs>F^o,&F^oF=F=F=@$FhoC$>FX7$-%'subsopG6$/&Fen6$F=FV-Fgq6#
,&&&FXFL6#FbwF=*&FjnF=&FenFfrF=F=Fhw&FXFU>F?7$-F_w6$/Fbw-Fgq6#,&&FKFiwF=FjwF[sF
KFT>FenFfn@'3/FhwFB0FTFNC$@$4-%5JanetOre/member_multG6%FT%&J_HOMG9&>Fay7$-%#opG
6#FayFT7$FhwFNFix7$FBFT7$FhwFTF86%FayF;FgpF8F8
M7R0
I;JanetOre/invred_collect_lcf*6*%"fG%"TG%'no_rhsG%.return_coeffsG%%seqvG%(mulpr
ocG%'lmprocG%(loc_varG66%"aG%"cG%"hG%#h2G%"iG%"kG%#lmG%"nG%"qG%"rG%$divG%'n_ent
rG%(termo_hG%*zero_listG%#lvG%#nlG%"HG%"eG%#meG%#hiG6#%\pCopyright~(C)~2000-201
0~by~Carlos~F.~Cid~and~Daniel~Robertz.~All~rights~reserved.G6"C0>8/-%%nopsG6#&9
$6#""">817#-%"$G6$""!FG>8&FK@$49&>8'&FL6#""#@$09+7"C'>82<#-%$seqG6$&9(6#&F\o6#8
(/Fjo;FN-FI6#F\o>83-FI6#F`o>84F]o>FW-%7JanetOre/cancel_locvarG6%FWFfoF\o@$FY>Ff
n-Fgp6%FfnFfoF\o>8+-FI6#9%>8-FP>8%7#-FS6$FUF^q>8,FN>8*-9*6#FW?(FDFNFNFD0&F\r6$F
inFNFUC)>FjoFN>8.%&falseG>80*&FbrFN&F\r6$FinFinFN@$F[o>85,&-%$maxG6#-Fco6$-%'de
greeG6$&FW6#8)F`o/F\t;FNFGFN-%$addG6$&&F\r6$FNFN6#&F\oF[t/F\t;FNF`p!""?(FDFNFNF
D31FjoF^q4Fgr@%-%5JanetOre/pinv_divideG6%&Faq6$Fjo""$&Faq6$Fjo""&&F\rFMC$@%F[oC
,>86,&-Fcs6#-Fco6$-Fhs6$&&Faq6%FjoFNFNF[tF`oF]tFN-F`t6$&&Faq6%FjoFduFNFetFgtFit
>87FU>F\tFN?(FDFNFNFD32FUF]v1F\t-FI6#FdpC$@$332&&FdpF[t6#FduF]v/&&&F\xFhnFMFhn&
FhuFhn-%8JanetOre/conv_divisibleG6$F`xFhuC$>F^wF\t>F]vF[x>F\t,&F\tFNFNFN@$3Fbw0
FcqFP[@$2F`sF]v>Fdp7$-%#opGFew7%7$FWFfnF\rF`s@%/F^wFUC$>FW-%)simplifyG6#,&-%$ma
pG6$f*6#F.FD6$%)operatorG%&arrowGFD*&&T$6%T%""'FNFNFLFNFDFD6&F&FaqF2FjoFWFN-F`z
6$f*FczFDFdzFD*(T#FN&T&6%T'F\[lFinFitFLFNFDFD6(F:FjrF&FaqF2FjoFfvFit@$FY>Ffn-F\
z6#,&-F`z6$f*FczFDFdzFDFgzFDFDF][lFfnFN-F`z6$f*FczFDFdzFDFa[lFDFDFg[l&Faq6%FjoF
NFinFitC$>FW-F\z6#,&-F`z6$f*FczFDFdzFD*&&&&&Fb[l6#F[[lFhnFhnFMFNFLFNFDFD6&F>Fdp
FAF^wFWFN-F`z6$f*FczFDFdzFD*(Fb[lFN&&&&F[[l6#Ff[lFhnFhnFhnFitFLFNFDFD6(F:FjrF>F
dpFAF^w&&&Fdp6#F^wFMFMFit@$FY>Ffn-F\z6#,&-F`z6$f*FczFDFdzFDF]]lFDFDFc]lFfnFN-F`
z6$f*FczFDFdzFDFg]lFDFDF]^l&F_^lFhnFit>FWFfp@$FY>FfnF[q@$0%0JanetOre/characGFUC
$>FW-%$modG6$FWFc_l@$FY>Ffn-Fg_l6$FfnFc_l@%/Fc_lFUC%>F\t-%'normalG6#*(FbrFNF\sF
N&Faq6%FjoF\[lFinFit>FW-%(collectG6%-Fb`l6#,&-F`z6$f*FczFDFdzFDFgzFDFDF][lFWFN-
F`z6$f*FczFDFdzFD-Fd[l6$Fb[lFLFDFD6&F3F\tF*9)FfvFitFfo%,distributedG@$FY>Ffn-Fi
`l6%-Fb`l6#,&-F`z6$f*FczFDFdzFDFgzFDFDF][lFfnFN-F`z6$f*FczFDFdzFDFdalFDFDFfalFc
\lFitFfoFhalC%>F\t-Fg_l6$-%'NormalGFc`lFc_l>FW-Fi`l6%-Fg_l6$-F[cl6#,&-F`z6$f*Fc
zFDFdzFDFgzFDFDF][lFWFN-F`z6$f*FczFDFdzFDFdalFDFDFfalFfvFitFc_lFfoFhal@$FY>Ffn-
Fi`l6%-Fg_l6$-F[cl6#,&-F`z6$f*FczFDFdzFDFgzFDFDF][lFfnFN-F`z6$f*FczFDFdzFDFdalF
DFDFfalFc\lFitFc_lFfoFhal>Fgr%%trueG>Fjo,&FjoFNFNFN@%F]u@%F^`lC$>Fcq-%'subsopG6
$/&F\r6$FNFin-Fi`l6%,&&Fcq6#FeelFNFjrFNFfoFhalFcq>FW-Fbel6$/Feel-Fi`l6%,&&FWF[f
lFNFjrFitFfoFhalFWC$>Fcq-Fg_l6$FaelFc_l>FW-Fg_l6$F]flFc_lC%@%F^`l>Fcq-Fi`l6%-Fb
`l6#-F`z6$f*FczFDFdzFDFgzFDFDF][lFcqFfoFhal>Fcq-Fi`l6%-Fg_l6$-F[cl6#-F`z6$f*Fcz
FDFdzFDFgzFDFDF][lFcqFc_lFfoFhal>Fjq*&&Faq6%FjoF\[lFNFNFjqFN@$9'@%F^`l>Feq-Fbel
6$/Fjo,&&FeqFioFN*(FjrFNFjqFitFe`lFitFNFeq>Feq-Fg_l6$FghlFc_l>F\rF]r@$3F]y0FjqF
N@%F^`l>Fcq-Fb`l6#*&FcqFNFjqFit>Fcq-Fg_l6$-F[clFgilFc_l@$3FYFcil@%F^`l>Ffn-Fb`l
6#*&FfnFNFjqFit>Ffn-Fg_l6$-F[clFbjlFc_l7$7$FcqFfnFeqFDFDFDFD
M7R0
I8JanetOre/conv_divisiblef*6$%"aG%"bG6#%"iG6#%\pCopyright~(C)~2000-2010~by~Carl
os~F.~Cid~and~Daniel~Robertz.~All~rights~reserved.G6"C%@$0&9$6#""#&9%F1-%&ERROR
G6#%Finput~must~be~in~the~same~list~entry.G?(8$"""F;%'_jnvarG%%trueG@$2&F46$F;F
:&F0FA-%'RETURNG6#%&falseGF=F+F+F+F+
M7R0
I4JanetOre/jjanet_divf*6%%"LG%%seqvG%(mulprocG6-%"aG%"iG%"jG%"lG%"FG%"QG%"kG%"n
G%#suG%$conG%(allmultG6#%\pCopyright~(C)~2000-2009~by~Carlos~F.~Cid~and~Daniel~
Robertz.~All~rights~reserved.G6"C*>8+-%%nopsG6#9$@$/F9""!-%'RETURNG6#7$F=7">8.7
#-%"$G6$%)infinityG%'_jnvarG>8(F=>8)FE>FO-%'subsopG6$/F97)&FO6$F9"""&FO6$F9""#&
FO6$F9""$7#-FJ6$F@FMFG&FO6$F9""'FEFO?(8%,&F9FZ!""FZFdoFZ%%trueGC(>8,FG>8-&FO6$F
bo""%>8&FZ?(F6FZFZF631F_pFM/&FO6&,&FboFZFZFZFjnFZF_p&FO6&FboFjnFZF_pC%>Fho-FT6$
/F_p&FO6%Ffp""&F_pFho@%2&Fho6#F_pFL@$0&FjoFdq,&FcqFZFZFZC$>FQ7$-%#opG6#FQ7)-%(c
ollectG6%7$-%$mapG6$f*6#F)F66$%)operatorG%&arrowGF6-T(6$)-%$catG6$%#_xGT#,&&T%6
#FdsFZFZFZF=F6F66(F+F_pF1FhoF'9&&FO6%FboFZFZ-Fer6$f*FhrF6FirF6F\sF6F6Fis&FO6%Fb
oFZFgn9%%,distributedG&FO6$FboFgn-FT6$/FZ-FT6$/F_p,(FgpFZFcqFZFZFZ&FO6%FboFjnFZ
&FO6$FboFjnF[oFG7$&FO6%FboF`oFZ-Fjs6$)-Fas6$FcsF_pFhq&FO6%FboF`oFgnF_u>Fjo-FT6$
/F_pFhqFjo>Fjo-FT6$/F_pF@Fjo>F_p,&F_pFZFZFZ@$FbpC$@%%3JanetOre/janetlikeGC%>8',
&FdpFZFgpFdo>Fho-FT6$/F_p,&F[wFZFdoFZFho@$0FgqF[wC$>FQ7$F\r7)-Far6%7$-Fer6$f*Fh
rF6FirF6-F]s6$)F`sFgsF=F6F66(F+F_pF,F[wF'FjsF[t-Fer6$f*FhrF6FirF6F^xF6F6FaxF`tF
btFctFdt-FT6$/FZ-FT6$/F_p,&FgpFZF[wFZF]uF_uF[oFG7$Fbu-Fjs6$)FguF[wFiuF_u>Fjo-FT
6$/F_pF[wFjoC$>Fho-FT6$FbvFho@$/FgqF@C$>FQ7$F\r7)-Far6%7$-Fer6$f*FhrF6FirF6-T&6
$F`sF=F6F66&F+F_pF'FjsF[t-Fer6$f*FhrF6FirF6FdzF6F6FgzF`tFbtFctFdt-FT6$/FZ-FT6$/
F_p,&FgpFZFZFZF]uF_uF[oFG7$Fbu-Fjs6$FguFiuF_u>Fjo-FT6$/F_pFZFjo>Fjo-FT6$-%$seqG
6$/8*F@/F`\l;FdvFMFjo>FO-FT6$/Fbo-FT6$/F]pFjo-FT6$/F`qFho&FO6#FboFO-FB6#7$FOFQF
6F6F6F6
M7R0
I7JanetOre/JanetOreStatsf*6"F$6#%\pCopyright~(C)~2000-2010~by~Carlos~F.~Cid~and
~Daniel~Robertz.~All~rights~reserved.GF$C,@$43-%)assignedG6#%*_JOStatssG-F,6#%)
J_T_ListG-%&ERRORG6#%Kno~statistics~available;~run~JBasis~first.G@%2"""-%%nopsG
6#&F16%F8F8F8-%&printG6$%ENumber~of~tuples~in~involutive~basisG-F:F0-F?6$%KNumb
er~of~polynomials~in~involutive~basis~GFB-F?6$%=Use~of~normal~form~procedureG&F
.6#F8-F?6$%?Number~of~reductions~performedG&F.6#""#-F?6$%4Number~of~transfersG&
F.6#"")-F?6$%7Use~of~first~criterionG&F.6#""$-F?6$%8Use~of~second~criterionG&F.
6#""%-F?6$%7Use~of~third~criterionG&F.6#""&-F?6$%8Use~of~fourth~criterionG&F.6#
""'@$/&F.6#""(F8-F?6#%WThe~involutive~basis~is~also~a~reduced~Groebner~basis.GF
$F$F$F$
M7R0
I1JanetOre/JIBasisf*6$%"LG'%%varsG%%listG6jn%"aG%"bG%"gG%"hG%"iG%"jG%"kG%"lG%#l
mG%"mG%"FG%"QG%#Q2G%#DiG%"GG%#GBG%&ib_gbG%$varG%(var_ordG%'vt_degG%(deg_ordG%(l
oc_varG%)tup_permG%-inv_tup_permG%&m_ordG%&N_OrdG%&B_OrdG%&Q_OrdG%%seqvG%/defau
lt_lmprocG%.force_collectG%,force_evalaG%'lmprocG%'N_FormG%*N_Form_lmG%/N_Form_
autoredG%(seq_varG%,no_transferG%+start_timeG%+time_boundG%+trans_elemG%'n_entr
G%)rhs_entrG%*zero_listG%.rhs_zero_listG%(allmultG%'no_rhsG%(mulprocG%)critproc
G%#eqG%#ppG%.head_red_percG%/tail_reductionG%*nowarningG%+savecharacG%-saveratc
oeffG%.last_was_zeroG%(do_normG%)entr_posG%'pseudoG%(comm_lcG%*jnumber_qG6#%\pC
opyright~(C)~2000-2010~by~Carlos~F.~Cid~and~Daniel~Robertz.~All~rights~reserved
.G6"C^q@$33331""$9#-%%typeG6$&9"6#F\pF(0Fap7"4-F_p6$Fap-F(6#%(integerG-%;JanetO
re/checkops_exteriorG6#Fap-%'RETURNG6#-%:JanetOre/JIBasis_exteriorG6#Fbp>%/_jva
r_exteriorG.Ffq>8.-%3JanetOre/procinputG6#9$>8M&Fiq6#""">8N&Fiq6#""#>8R&FiqFcp>
8C&Fiq6#""&>8L&Fiq6#""(>Fiq&Fiq6#""%>85-%2JanetOre/procvarsG6$9%F_r>86&FjsFfr>8
7&FjsFcp>88&FjsFgs>8:&FjsF^s>8hn&Fjs6#""'>Fjs&FjsFar>%'_jnvarG-%%nopsG6#Fjs@%0%
0JanetOre/characG""!>Fiq-%$modG6$-%(collectG6%FiqFjs%,distributedGFiu>FiqF_v@$-
%$hasG6$-%$mapG6$f*6#F*Fdo6$%)operatorG%&arrowGFdo3-F_p6$&F]rFar-F(6#-%(polynom
G6$%)anythingGT#-F_p6$&F]rFfrFdwFdoFdo6$F;FjsFiq%&falseG-%&ERRORG6#-%$catG6%%Oe
xpecting~a~list~of~(lists~of)~polynomials~in~G-%(convertG6$Fjs%'stringG%4~as~fi
rst~argument.G>8@7#-%$seqG6$-Fdx6$%#_xG8)/Fey;FbrFcu>8Q7#-%"$G6$%)infinityGFcu>
%*_jonnformGFju>%)_joreducGFju>%)_jocrit1GFju>%)_jocrit2GFju>%)_jocrit3GFju>%)_
jocrit4GFju>8IFju>F`t-%%subsG6$7#-F`y6$/&Fjs6#8(-Fdx6$FdyFg[l/Fg[lFgyF`t>8S-%(u
napplyG6%*&%#_aGFbr%#_bGFbrFa\lFb\l>8jn%%trueG>Fg[lF\p@$Fjo@&/FapFep>Fg[lFhs45F
gp-F_p6$Fap-F(6#F(C(>F\\l-%1JanetOre/procopsG6%FjsFapF]y>Fd\l&F\\lFgs@$0&F\\l6#
"")Fep>F\sFe\l>Fas7$-%#opG6#Fas-Fa^l6#&F\\l6#""*>F\\l&F\\lFcp>Fg[lFhs@$4%2Janet
Ore/ratcoeffG@&0-%&minusG6$-%'indetsG6#-Fiv6$f*F\wFdoF]wFdoFcwFdoFdoFdoFiq<#-Fa
^lFfu<"-Fax6#%cono~parameters~allowed~in~involutive~basis~computation~over~the~
integers.GF\s-Fax6#%apno~algebraic~extensions~are~allowed~in~involutive~basis~c
omputation~over~the~integers.G>8B-%&evalbG6#0-Fa_l6$<#F`^lFi_lF[`l>8A4F\s>8gnFe
\l@%/F`tFep>8<Fhs>Fcal7#-F\z6$Fhs-Feu6#F`t>8KFju>83F_x>8XFe\l>8W"$+">8YF_x>8ZFi
u>8enF]_l?(FeyFg[lFbrF]pFe\l@)-F_p6$&Fbp6#FeyFjx@%/F]clQ&denomFdoFdoC$>82F]cl?(
8*FbrFbr-%'lengthG6#FdclFe\l@(/&Fdcl6#FfclQ"NFdo>F_alF_x/F\dlQ"SFdoC$>F\sFe\l>F
\alF_x0F\dlQ!Fdo-Fax6#%aooptions~must~be~given~by~a~string~consisting~of~letter
s~in~|fr"N",~"S"|hr.G5-F_p6$F]clF[q-F_p6$F]clF(>FcalF]cl-F_p6$F]cl%)equationG@7
/-Fa^l6$FbrF]clQ%charFdo@%3-F_p6$-Fa^l6$FgrF]clF[q5/F\flFju-%(isprimeG6#F\flC$>
FiuF\fl@$Fhu>F]_lFe\l-Fax6#%Texpecting~zero~or~a~prime~number~for~option~"char"
.G/FeelQ)divisionFdoC$@$54-F_p6$F\flF(30<#-Fa^lFbfl<#-F\z6#Fgy0FdglFi_l-Fax6#%O
expecting~priority~list~for~option~"division".G@%/FdglFfgl>%2JanetOre/divisionG
F\fl>F`hl-Fiv6$f*6#F.6#F0FdoFdoC$-%'memberG6%F]rFjw.8$F\ilFdoFdoF^xF\fl/FeelQ%t
imeFdoC$@$4-F_p6$F\fl%*nonnegintG-Fax6#%Sexpecting~time~bound~in~seconds~for~op
tion~"time".G>F[blF\fl/FeelQ(percentFdo>FablF\fl/FeelQ&quietFdoFdo/FeelQ)Groebn
erFdoC$@$4-F_p6$F\fl%(booleanG-Fax6#%Oexpecting~boolean~value~for~option~"Groeb
ner".G>F]blF\fl/FeelQ.tailreductionFdoC$@$Fbjl-Fax6#%Texpecting~boolean~value~f
or~option~"tailreduction".G>F_blF\fl/FeelQ*nowarningFdoC$@$Fbjl-Fax6#%Pexpectin
g~boolean~value~for~option~"nowarning".G>FdblF\fl/FeelFaclFdo/FeelQ3exteriornor
malformFdoFdo-Fax6#%0invalid~option.GF]\m@%Fd\l@'F\sC$>Fiq-%&evalaG6#Fiq@%F]_lC
%>8E%?JanetOre/jnormal_form_evala_lcG>8F%BJanetOre/jnormal_form_evala_lc_lmG>8G
F[]mC%>Fj\m%=JanetOre/simp_jnormal_form_ZG>F]]m%@JanetOre/simp_jnormal_form_Z_l
mG@%%0JanetOre/absremG>F`]m%AJanetOre/simp_jnormal_form_Z_absG>F`]m%DJanetOre/s
imp_jnormal_form_Z_nonnegGFc`l@%F]_lC%>Fj\m%AJanetOre/jnormal_form_collect_lcG>
F]]m%DJanetOre/jnormal_form_collect_lc_lmG>F`]mF_^mC%>Fj\mFc]m>F]]mFe]m@%Fg]m>F
`]mFi]m>F`]mF[^m@%F]_lC%>Fj\m%9JanetOre/jnormal_form_lcG>F]]m%<JanetOre/jnormal
_form_lc_lmG>F`]mF\_mC%>Fj\m%8JanetOre/jnormal_form_ZG>F]]m%;JanetOre/jnormal_f
orm_Z_lmG@%Fg]m>F`]m%<JanetOre/jnormal_form_Z_absG>F`]m%?JanetOre/jnormal_form_
Z_nonnegG@'F\sC$>FiqFd\m@%F]_lC%>Fj\m%<JanetOre/jnormal_form_evalaG>F]]m%?Janet
Ore/jnormal_form_evala_lmG>F`]mF``mC%>Fj\mFc]m>F]]mFe]m@%Fg]m>F`]mFi]m>F`]mF[^m
Fc`l@%F]_lC%>Fj\m%>JanetOre/jnormal_form_collectG>F]]m%AJanetOre/jnormal_form_c
ollect_lmG>F`]mF]amC%>Fj\mFc]m>F]]mFe]m@%Fg]m>F`]mFi]m>F`]mF[^m@%F]_lC%>Fj\m%6J
anetOre/jnormal_formG>F]]m%9JanetOre/jnormal_form_lmG>F`]mFjamC%>Fj\mFb_m>F]]mF
d_m@%Fg]m>F`]mFg_m>F`]mFi_m@'F\s@%/FiuFju>8V%8JanetOre/simp_prim_partG>Fhbmf*6%
%"pGF;%"qGFdoFdoFdo7$F]r9&FdoFdoFdoFc`l>FhbmFibm>Fhbm%3JanetOre/prim_partG>8+-%
1JanetOre/procordG6*FcalFjsF`tFctFftF]yF\uF\al>8=&FecmFfr>8>&FecmFcp@$&FecmFgs>
F\uFep>89&FecmF^u>8Uf*6$F*F+FdoFdoFdo-Fe`l6#/&F]r6#;FbrFgr&F^tF]emFdoFdoFdo>8?f
*6$Fa\lFb\l6%F0%#n1G%#n2GFdoFdo@%/&F]rFcp&F^tFcp@'30F]xFiem/&F^tFfrFjemFe\l3/F]
xFiem0F_fmFjemF_xC%>8%-%*numboccurG6$&FcwFarFju>8&-Fgfm6$&&F^tFarFarFju@'2F[gmF
efmFe\l2FefmF[gmF_x-Fe`l6#2-Feu6#-Fhx6$Fifm%"+G-Feu6#-Fhx6$F^gmFjgm-Fjw6$F]rF^t
FdoFdo6$FCFjcm@$/&Fct6#;,&FcuFbrFbrFbr,&FcuFbrF_rFbr7#-F\z6$FjuF_r>FctFju>8D-%&
parseG6#-Fdx6/Q<g->`JanetOre/j_lead_mon`(g,Fdo-Fhx6$F_rFjxQ",Fdo-Fhx6$F]yFjxFgi
m-Fhx6$&FecmFarFjxFgim-Fhx6$F\uFjxFgim-Fhx6$&FecmF^sFjxFgim-Fhx6$FctFjxQ")Fdo@%
0Fit7#-F\z6#;FbrF_rC$>Fiq-Fiv6$f*Fehl6#F/FdoFdo-%'subsopG6$/Fbr7#-F`y6$&Fcw6#&F
jw6#F\il/F\il;FbrT%F]rFdoFdo6&F@FitFSF_rFiq>8;-Fiv6$f*FehlF`[nFdoFdoC$FhhlF\ilF
doFdo6$F@FitFgjm>Fa\nFit@$0F]yFjs>Fiq-Fiv6$f*F\wFdoF]wFdo-F_[l6$7#-F`y6$/&F^\n6
#Fjw-Fdx6$FdyFjw/FjwFgyF]rFdoFdo6&F/FeyF;FjsFiq>8OFihm>8P7#-F\z6$Fju-Feu6#&Fiq6
$FbrFgr@+/%1JanetOre/invcritGFep>8Tf*FdoFdoFdoFdoF_xFdoFdoFdo/Fg^n7$FbrFgr>Fi^n
%5JanetOre/jcriteria12G/Fg^n7%FbrFgrF\p>Fi^n%6JanetOre/jcriteria123G/Fg^n7&FbrF
grF\pFhs>Fi^n%7JanetOre/jcriteria1234G-Fax6#%Uundefined~involutive~criteria;~se
e~?JanetOreOptions.G>%._JBOre_factorG.F[`n>%6_JBOre_factor_multvarG.F^`n>%+_JBO
re_varG.Fa`n>%-_JBOre_compaG.Fd`n>%&J_HOMGFep>%*_jinv_denGFep>8J-%%timeGFdo>8/F
ep>8[oFju?(Fg[lFbrFbr-FeuFf\mFe\l@&53Ffbm0&Fiq6$Fg[lFbrF[^n3Fhu0-F]v6$FhanFiuF[
^nC(@%0FcdmFep>F[gm7$-%7JanetOre/cancel_locvarG6%FhanF]yFcdm-Fdbn6%&Fiq6$Fg[lFg
rF]yFcdm>F[gm&FiqFf[l@$F]_l>F[gm-Fhbm6%&F[gmFarF]y&F[gmFfr>F[gm7$-Fiv6$f*F\wFdo
F]wFdo-F`v6%F]rFjwFbvFdoFdo6$FFF]yF`cnFacn>8,-F^im6#F`cn@%F]_l>F_an-%8JanetOre/
jbinary_insertG6)7)F[gm&F[dnFarFddn7#-F\z6$FjuFcuFiy&F[dnFfrFepF_anFbrFaanFaanF
aemFfdm>F_an-Fadn6)7)F[gm7$-Fa^l6#Fddn&FhdnFarF]enFednFiyFhdnFepF_anFbrFaanFaan
FaemFfdm>Faan-Feu6#F_an53Ffbm0FhbnF]^n3Fhu0-F]v6$FhbnFiuF]^n>Fg`n7$-Fa^l6#Fg`nF
hbn@$/FaanFjuC1@%/F_rFbr>FdclFju>FdclF[^n@$4Fir@%/FdrFbr>Fdcl/FdclFju>Fdcl/Fdcl
F]^n@$Fi\n>Fg`n-Fiv6$f*F\wFdoF]wFdo-F_[l6$7#-F`y6$/-Fdx6$FdyF^\n&Fjw6#F^\n/F^\n
FgyF]rFdoFdo6&F;FjsF.Fg[lFg`n@$Fifn>Fg`n-Fiv6$f*F\wFdoF]wFdo-Fa^lF\rFdoFdoFdoFg
`n@%F]_l>%)J_T_ListG7#7)7$F[^nF]^n7$FednFbrF[inFednFiy7$FjuFbrFep>Fghn7#7)Fjhn7
%FednFbrFbrF`inFednFiyF\inFep>%*jnumber_tGFbr>FiuFfbl>F]_lFhbl>%'_jpvarGF^t>%*_
jpno_rhsGFir>%1_jpforce_collectGFc`l>%/_jpforce_evalaGF\s>%)JTab_VarG7#7%Fju-%3
JanetOre/jmult_varG6$FiyFjsFju>%*_JOStatssG7*F`zFbzFdzFfzFhzFjzFbrF\[l@%32FjuF[
blFdbl-F`q6#7$7#FdclFe\l-F`q6#F][o>Fghn7#&F_anFar>F_an-Fb[n6$/Fbr%%NULLGF_an>Fa
an,&FaanFbr!""Fbr>FbinFbr?(FdoFbrFbrFdo30F_anFep5/F[blFju2,&F\anFbrF[anFj[oF[bl
C2@$-%)assignedG6#%+JOPRINTnoTG-%&printG6$Q##TFdo-Feu6#Fghn@$-Ff\o6#%+JOPRINTlm
TG?(Fg[lF]]oFj[oFbrFe\l-Fj\o6#&&FghnFf[lFcp@$-Ff\o6#%+JOPRINTlcTG?(Fg[lF]]oFj[o
FbrFe\l-Fj\o6#&Fg]oF^u@$-Ff\o6#%)JOPRINTTG?(Fg[lF]]oFj[oFbrFe\l-Fj\o6#Fg]o@$-Ff
\o6#%+JOPRINTnoQG-Fj\o6$Q##QFdoFben@$-Ff\o6#%+JOPRINTlmQG?(Fg[lFbenFj[oFbrFe\l-
Fj\o6#&&F_anFf[lFcp@$-Ff\o6#%+JOPRINTlcQG?(Fg[lFbenFj[oFbrFe\l-Fj\o6#&Ff_oF^u@$
-Ff\o6#%)JOPRINTQG?(Fg[lFbenFj[oFbrFe\l-Fj\o6#Ff_o@$33-Ff\o6#%*JOPRINTHSG-F_p6$
F[ao%'posintG/-F]v6$F]]oF[aoFju-Fj\o6#-%8JanetOre/JHilbertSeriesGFdo>Fg[lFbr>8-
-%$maxG6$-%&truncG6#,$*&FablFbrFaanFbr#FbrFbblFbr>8fnF_x>8inF_x>80Fep?(FdoFbrFb
rFdo3F^\o5Fcbo1Fg[lFhaoC'>F[gmFb[o>F_anFd[o>FaanFi[o@%33/FcdmFepF]_l-Fi^n6#F[gm
>FcboFe\lC$@%F]_l>8'-F]]m6)F`cnFghnF]yF\\lF^imFhbmFcdm>6$FjcoFeboF[do@%/&FjcoFa
rF[^n>FcboFe\lC%>FcboF_x>F[dn-F^im6#Fado@%F\_l@%0F]en&F[gmFcpC$@%-F_p6$F`en%'ne
gintG>Fgbo-Fadn6)7)-%'expandG6#,$FjcoFj[o7$F^en,$F`enFj[oFieoFednFiy7$Fjeo&Fhdn
FfrFepFgboFbr-Feu6#FgboF]foFaemFfdm>Fgbo-Fadn6)7)FjcoF]enF]enFednFiyFhdnFepFgbo
FbrF]foF]foFaemFfdm@$Febo>Fgbo-Fadn6)F[gmFgboFbrF]foF]foFaemFfdm>FgboFefo@%0Fdd
nF[eo>Fgbo-Fadn6)7)FjcoFddnFddnFednFiyFhdnFepFgboFbrF]foF]foFaemFfdm>FgboFefo>F
g[l,&Fg[lFbrFbrFbr@$0FgboFepC*>F[gm&FgboFar>Fgbo-Fb[n6$Ff[oFgbo@$-Ff\o6#%)JOPRI
NTgG-Fj\o6$Q"gFdoF`cn@%F_bl>Fjco-Fj\mF\do>FjcoF`cn@$-Ff\o6#%)JOPRINThG-Fj\o6$Q"
hFdoFjco>F[dnFfdo@$F\_l>F[dn-Fb[n6$/FbrF]enF[dn@'/FbinFjuC&>Fghn7#7)FjcoFacnFdd
nFednFiyFhdnFep>Fbin,&FbinFbrFbrFbr>Fgbo7$-Fa^lF^fo-Fa^l6#-%6JanetOre/jjanet_se
parG6&FcalFjcmF]yF\\l?&FeyFgboFe\lC$>F_an-Fadn6)FeyF_anFbrFaanFaanFaemFfdm>Faan
Fben/FacnFddnC&>6$FghnFfcl-%<JanetOre/jbinary_insert_posG6)7)FjcoFacnFddn&F[gmF
gsFiyFhdnFepFghnFbrFbinFbinFjcmFfdm@%2FfclF]]oC'?(Fey,&FfclFbrFbrFbrFbrF]]oFe\l
C$>F_an-Fadn6)&FghnF^clF_anFbrFaanFaanFaemFfdm>FaanFben>Fghn&Fghn6#;FbrFfcl>Fbi
nFfcl>F\[l,&F\[lFbrFbrFbr-%5JanetOre/jtransfer_TG6$FcalFjcm>FbinF]]o>FgboFjio?&
FeyFgboFe\lC$>F_anFdjo>FaanFbenC&>Fghn-Fadn6)FfioFghnFbrFbinFbinFjcmFfdm>FbinFh
io>FgboFjio?&FeyFgboFe\lC$>F_anFdjo>FaanFben@$33Fijn4Fdbl1F[blFb\o-%(WARNINGG6#
%[ocomputation~of~involutive~basis~stopped~due~to~time~restriction.G@$32FbrFbin
F_blC%@$3F\_lF_al?(Fg[lFbrFbrF]]oFe\l@$-F_p6$&Fghn6%Fg[lF_uFbrF`eo@%/&FghnFibn&
Fghn6$Fg[lF\p>Fghn-Fb[n6$/Fg[l-Fb[n6$/Fbr-Fiv6$f*F\wFdoF]wFdo-Fiv6$f*6#F-FdoF]w
Fdo-Ffeo6#,$F]rFj[oFdoFdoFdoF]rFdoFdoFdo&FghnFian-Fb[n6$/Fgr7$-Fa^l6#&F\_pF]em,
$&F\_pFcpFj[o-Fb[n6$/F\p7$-Fa^l6#&F]_pF]em,$&F]_pFcpFj[o-Fb[n6$/F_u7$-Ffeo6#,$F
h^pFj[o&Fghn6%Fg[lF_uFgrFg]oFghn>Fghn-Fb[n6$/Fg[l-Fb[n6$/Fbr-Fiv6$f*F\wFdoF]wFd
o-Fiv6$f*F\`pFdoF]wFdoF]`pFdoFdoFdoF]rFdoFdoFdoF``pFcapFghn>Fghn-%7JanetOre/aut
oreductionG6)FghnF`]mF]yF\\lF^imFhbmFcdm>FbinF]]o@$50F\u7#F_rF\_l>Fghn-%%sortG6
$FghnF]dm@$F_al@%F]_l@%Fhu?(Fg[lFbrFbrF]]oFe\lC$@$0-Fa_l6$-Fd_l6#Fh^p<#-%&alias
GFdoF[`l>Fi`n7$-Fa^l6#Fi`nFh^p@%F\s>Fghn-Fb[n6$/Fg[l-Fb[n6$/Fbr-Fiv6$f*F\wFdoF]
wFdo-F]v6$-Fe\m6#-F`v6%-Fiv6$f*F\`pFdoF]wFdo*&F]rFbr&Fghn6%FjwF_uFbrFj[oFdoFdo6
$F.F^\nF]rFjwFbvFiuFdoFdo6&FFF]yF.Fg[lF``p-Fb[n6$/F_u7$FbrFjapFg]oFghn>Fghn-Fb[
n6$/Fg[l-Fb[n6$/Fbr-Fiv6$f*F\wFdoF]wFdo-F`v6%-Fiv6$f*F\`pFdoF]wFdo-F]v6$-%'Norm
alG6#F\fpFiuFdoFdoF_fpF]rFjwFbvFdoFdoF`fpF``pFafpFghn?(Fg[lFbrFbrF]]oFe\lC$@$F\
dp>Fi`nFedp@%F\s>Fghn-Fb[n6$/Fg[l-Fb[n6$/Fbr-Fiv6$f*F\wFdoF]wFdo-Fe\m6#-F`v6%-F
iv6$f*F\`pFdoF]wFdo-%'normalGFhgpFdoFdoF_fpF]rFjwFbvFdoFdoF`fpF``pFafpFghn>Fghn
-Fb[n6$/Fg[l-Fb[n6$/Fbr-Fiv6$f*F\wFdoF]wFdo-F`v6%-Fiv6$f*F\`pFdoF]wFdoF_ipFdoFd
oF_fpF]rFjwFbvFdoFdoF`fpF``pFafpFghn@$4F_^p?(Fg[lFbrFbrF]]oFe\l@$Ff^p@%F[_p>Fgh
n-Fb[n6$/Fg[l-Fb[n6$/Fbr-Fiv6$f*F\wFdoF]wFdo-Fiv6$f*F\`pFdoF]wFdoF]`pFdoFdoFdoF
]rFdoFdoFdoF``pFa`pFghn>Fghn-Fb[n6$/Fg[l-Fb[n6$/Fbr-Fiv6$f*F\wFdoF]wFdo-Fiv6$f*
F\`pFdoF]wFdoF]`pFdoFdoFdoF]rFdoFdoFdoF``pFcapFghn>Fg[lFbr?(FdoFbrFbrFdo31Fg[lF
binF[_p>Fg[lF`go@%/Fg[lFhio>84Fbr>Fg\qFju@%3F]bl/Fg\qFju>Fdcl-Fiv6$f*F\wFdoF]wF
do@$FafmFcwFdoFdoFdoFghn>Fdcl-Fiv6$f*F\wFdoF]wFdoFcwFdoFdoFdoFghn>8H7#-F`y6$/Fh
[lFe[lFj[l@%Fi\nC$>Fdcl-Fiv6$f*F\wFdoF]wFdo-F_[l6$FjwF]rFdoFdo6$FNFf]q-%:JanetO
re/pairstoequationsG6'FdclFirF_rFdrFa\n>Fg`n-Fiv6$f*F\wFdoF]wFdoFa^qFdoFdoFc^qF
g`n>FdclFd^q@$Fifn>Fg`n-Fiv6$f*F\wFdoF]wFdoFdhnFdoFdoFdoFg`n>FiuFfbl>F]_lFhbl>F
finF^t>FhinFir>FjinFc`l>F\jnF\s>Fejn7*F`zFbzFdzFfzFhzFjzFg\qF\[l@%Fcfn>F^jn-%$z
ipG6%f*6$F.F/FdoF]wFdo7$F]r-Fa^l6#F^tFdoFdoFdo-F_[l6$Ff]q-Fe^q6'-Fiv6$f*F\wFdoF
]wFdoFcwFdoFdoFdoFghnFirF_rFdrFa\n-Fiv6$f*F\wFdoF]wFdo7$-Fbjn6$&Fghn6$F]rF_sFjw
-F_[l6$F^\n*&&Fghn6%F]rF_uFbrFbr&Fghn6%F]rF_uFgrFbrFdoFdo6&F;FjsFNFf]q7#-F\z6#;
FbrFbin>F^jn-F\`q6%f*F_`qFdoF]wFdoF``qFdoFdoFdo-F_[l6$Ff]q-Fe^q6'-Fiv6$f*F\wFdo
F]wFdoFcwFdoFdoFdoFghnFirF_rFdrFa\n-Fiv6$f*F\wFdoF]wFdo7$F^aq7$Fbaq&T'6#&Fghn6%
F]rF\pFgrFdoFdo6(F;FjsFNFf]qF@FitFjaq@%Fhjn7$Fdcl-Fe`l6#Fa\oFdclFdo6;FcuFfinFhi
nFjinF\jnF^jnFg`nF`zFbzFdzFfzFhzFjzFbinFghnFejnFi`nF[`nF^`nFa`nFd`nFfqFiuF]_lF`
hlFdoFdo
M7R0
I2JanetOre/JTorsionf*6$%$_R1G'%$varG%%listG6$%#R1G%#R0G6#%[oCopyright~(C)~2003-
2010~by~Mohamed~Barakat.~All~rights~reserved.G6"C%>8$-%4JanetOre/jets_mkmatG6#-
%$mapG6$f*6#%"aGF.6$%)operatorG%&arrowGF.&9$6#"""F.F.F.&-%3JanetOre/procinputG6
#F?6#""%>8%-%:JanetOre/JParametrizationG6$F1&9"6#;""#!""-%1JanetOre/JDefectG6%F
1FIFMF.F.F.F.
M7R0
I9JanetOre/invred_Z_nonnegf*6*%"fG%"TG%'no_rhsG%.return_coeffsG%%seqvG%(mulproc
G%'lmprocG%(loc_varG64%"cG%"eG%"hG%#h2G%"iG%"jG%"kG%"lG%#lmG%"nG%"rG%$divG%'n_e
ntrG%(termo_hG%*zero_listG%#lvG%#nlG%"HG6#%\pCopyright~(C)~2000-2010~by~Carlos~
F.~Cid~and~Daniel~Robertz.~All~rights~reserved.G6"C,>80-%%nopsG6#&9$6#""">827#-
%"$G6$""!FE>8&FI@$49&>8'&FJ6#""#>8--FG6#9%>8.FN>8$7#-FQ6$FSFin>8,-9*6#FU?(FBFLF
LFB0&Feo6$FgnFLFSC)>8(FL>8/%&falseG>8)&Feo6$FLFgn>81-%'subsopG6$/Fdp&Feo6$FgnFg
nFN?(FBFLFLFB31F_pFin4FapC$@$-%5JanetOre/pinv_divideG6%&F\o6$F_p""$&F\o6$F_p""&
&FeoFKC$>8+-%%iquoG6$F[p&F\o6%F_p""'FL@&0FarFSC%>FU-%'normalG6#,&FUFL-9)6$*(Far
FLF]qFL&F\o6%F_pFgrFgn!""&F\o6%F_pFLFLFfs@$FW>FZ-F]s6#,&FZFL-Fas6$Fcs&F\o6%F_pF
LFgnFfs>Fap%%trueG/-%%signG6#F[pFfsC&>Far,$-Fft6#FerFfs>FUF\s@$FW>FZF[t>FapFct>
F_p,&F_pFLFLFL@%FbqC$>F^o-%'expandG6#,&F^oFL*&F[pFLFhpFLFL>FU-Fgu6#,&FUFLFjuFfs
@$9'C$>F_p,&F_pFLFfsFL>F`o-Fjp6$/F_p,&&F`o6#F_pFLFcsFLF`o>FeoFfo7$7$F^oFZF`oFBF
BFBFB
M7R0
I<JanetOre/CommonLeftMultiplef*6%%"pG%"qG'%%varsG%%listG68%"dG%"gG%"iG%"jG%"rG%
&opvarG%$varG%(mulprocG%&ind_pG%&ind_qG%(ind_p_qG%#dpG%#dqG%'comm_pG%'comm_qG%)
comm_p_qG%#cpG%#cqG%)main_varG%-main_var_degG%"LG%"RG6#%enCopyright~(C)~2010~by
~Daniel~Robertz.~All~rights~reserved.G6"C/@$0%5JanetOre/initializedG.%%trueG-%.
JanetOre/initGFC>8*&-%2JanetOre/procvarsG6$9&""!6#""">8(""%>8)%%NULLG>8+-%(unap
plyG6%*&%#_aGFU%#_bGFUF\oF]o@$31FX9#-%%typeG6$&9"6#FXF)@&/Feo7">FW""&45-Fco6$Fe
o%'stringG-Fco6$Feo%)equationGC%>FZFeo>Fgn&-%1JanetOre/procopsG6%FMFZFM6#""$>FW
F\p?(8&FWFUFaoFI-%&ERRORG6#%0invalid~option.G>8,7#-%#opG6#-%'indetsG6#9$>8-7#-F
iq6#-F\r6#9%>83FI>F`qFU?(FCFUFUFC1F`q-%%nopsG6#FfqC&>8'FU?(FCFUFUFC31Fas-F]s6#F
`r/-%'normalG6#,&-Fgn6$&Ffq6#F`q&F`r6#FasFU-Fgn6$F`tF^t!""FS>Fas,&FasFUFUFU@$Fd
sC$>Fhr%&falseG[>F`q,&F`qFUFUFU@%FhrC)>81FI>F`qFU?(FCFUFUFCF[sC%>FasF]u?(FCFUFU
FC31FasF\s/-Fis6#,&-Fgn6$F^t&FfqFatFU-Fgn6$F_vF^tFdtFS>FasFft@$FhuC$>FauFjtF[u>
82FI>F`qFU?(FCFUFUFC1F`qFesC%>FasF]u?(FCFUFUFC3Fds/-Fis6#,&-Fgn6$&F`rF_tF`tFU-F
gn6$F`tFewFdtFS>FasFft@$FdsC$>FgvFjtF[u@%3FauFgvC$>8%-%$gcdG6&F^rFfr.84.857$Fex
Fgx7$FfrF^rC,>F`x-%0JanetOre/JBasisG6%7$/F^r7$FUFS/Ffr7$FSFUFRFZ>8.7#-Fiq6#-%*i
ntersectG6$<#-FiqF^s<#-FiqFfs>87Fdt>86Fen?&Fas-%'selectG6$f*6#F-FC6$%)operatorG
%&arrowGFC-%'memberG6$F^rT#FCFC6$F5FeyFMFIC%>8/-%'degreeG6$F^rFas>80-Ff[l6$FfrF
as@$2Faz,&Fd[lFUFi[lFUC$>FczFas>FazF^\l@$/FczFenC&?&FasFfqFIC$>8$Fe[l@$2FazFh\l
C$>FczFas>FazFh\l?&FasF`rFIC$>Fh\lFj[l@$Fj\lC$>FczFas>FazFh\l>Fd[l-Ff[l6$F^rFcz
>Fi[l-Ff[l6$FfrFcz@'2Fi[lFd[lC$>Fex-%&coeffG6%F^rFczFd[l>Fgx-F`^l6%-Fgn6$)Fcz,&
Fd[lFUFi[lFdtFfrFczFd[l2Fd[lFi[lC$>Fex-F`^l6%-Fgn6$)Fcz,&Fi[lFUFd[lFdtF^rFczFi[
l>Fgx-F`^l6%FfrFczFi[lC$>FexF_^l>FgxFc_l>88-F]y6&7$7&FexFexFUFS7&FgxFSFSFUFRFZ"
"#>89-%4JanetOre/JInvReduceG6&/,&-Fgn6$&&Fi_lFTF\qF^rFU-Fgn6$&Fj`lFgoFfrFdt7$FS
FSF`xFRFZ@%0-%$lhsG6#Fa`lFSC$>Fi_l-F]y6&7$7&F^rF^rFUFS7&FfrFSFSFUFRFZF_`l7$Fi`l
F]al7$,&Fi`lFU&-%$rhsGFcalFTFU,&F]alFU&F_bl6#F_`lFdtFCFCFCFC
M7R0
I6JanetOre/procfieldextf*6"6%%"gG%"jG%"SG6#%enCopyright~(C)~2010~by~Daniel~Robe
rtz.~All~rights~reserved.GF$@%/%7JanetOre/fieldextindetG7"-%&parseG6#Q%g->gF$C%
>8&Q$g->F$@%/%0JanetOre/characG""!C%?(8%"""F>-%%nopsG6#F-%%trueG>F5-%$catG6$F5Q
%rem(F$>F5-FE6$F5Q"gF$?(F=F>F>F?FB>F5-FE6(F5Q",F$-%(convertG6$&%9JanetOre/field
extminpolyG6#F=%'stringGFP-FR6$F-FWQ")F$C%?(F=F>F>F?FB>F5-FE6$F5Q%Rem(F$>F5FI?(
F=F>F>F?FB>F5-FE6)F5FPFQFPFXQ')~mod~F$-FR6$F9FW-F06#F5F$F$F$F$
M7R0
I2JanetOre/compiled"-E5@75?6"
M7R0
I0JanetOre/homalg=6"%&falseGE\[l*%3ReduceRingElementsG%?homalg/JanetOre/Normali
zeInputG%'IsUnitG%7homalg/JanetOre/IsUnitG%.SimplifyBasisG%7JanetOre/jets_depch
eckG%1PresentationInfoG%>homalg/JanetOre/HilbertCartanG%(ComposeG%5homalg/Janet
Ore/MultG%+InvolutionG%;homalg/JanetOre/InvolutionG%3SyzygiesGeneratorsG%9homal
g/JanetOre/SyzygiesG%.BasisOfModuleG%6homalg/JanetOre/BasisG%'ReduceG%7homalg/J
anetOre/ReduceGF$
M7R0
I5JanetOre/pplex_Z_POTf*6$%"aG%"bG6#%"iG6#%jnCopyright~(C)~2004-2010~by~Daniel~
Robertz.~All~rights~reserved.G6"C%@&2&9$6#""#&9%F1-%'RETURNG6#%&falseG2F3F/-F66
#%%trueG?(8$"""F?-%%nopsG6#&F06#F?F<@&2&FC6#F>&&F4FDFHF:2FIFGF5@%2-%$absG6#&F46
#""$-FO6#&F0FRF8F<F+F+F+F+
M7R0
I:JanetOre/pplex_entr_blockf*6$%"aG%"bG6#%"iG6#%jnCopyright~(C)~2006-2010~by~Da
niel~Robertz.~All~rights~reserved.G6"C&@&2&%-_jentrblocksG6#&9$6#""#&F06#&9%F4-
%'RETURNG6#%&falseG2F6F/-F;6#%%trueG?(8$"""FD-%%nopsG6#&F36#FDFA@&2&FH6#FC&&F9F
IFMF?2FNFLF:@$2F2F8F:FAF+F+F+F+
M7R0
I=JanetOre/pnegplex_entr_blockf*6$%"aG%"bG6"6#%jnCopyright~(C)~2006-2010~by~Dan
iel~Robertz.~All~rights~reserved.GF'@'2&%-_jentrblocksG6#&9$6#""#&F-6#&9%F1%&fa
lseG2F3F,%%trueG4-%/JanetOre/pplexG6$F0F6F'F'F'F'
M7R0
I:JanetOre/pdegrevlex_deg_Zf*6$%"aG%"bG6&%"iG%"nG%$tdaG%$tdbG6#%jnCopyright~(C)
~2004-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C(>8%-%%nopsG6#&9$6#""">8&
,&-%$addG6$*&&F56#8$F8&%*_jovardegGFAF8/FB;F8F1F8&%*_jotupdegG6#&F66#""#F8>8',&
-F=6$*&&&9%F7FAF8FCF8FEF8&FH6#&FUFKF8@'2F:FN-%'RETURNG6#%%trueG2FNF:-Ffn6#%&fal
seGC%>F:F<>FNFP@'FZFenFinFjn?(FBF1!""F8Fhn@&2FSF@Fen2F@FSFjn@&2-%$absG6#&FU6#""
$-Fio6#&F6F\pFjn2F^pFhoFen@%2FJFXF\oFhnF.F.F.F.
M7R0
I9JanetOre/nonmult_prolongf*6%'%"aG%%listG%"dG'%"bGF'6#%"iG6#%jnCopyright~(C)~2
005-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C'@$0&9$6#""#&9&F5-%'RETURNG
6#%&falseG?(8$"""F?%'_jnvarG%%trueG@(2&F86$F?F>&F4FEF9/,&FFF?F?F?FD@%2""!&9%6#F
>F9[2FFFDF9>F>,&F>F?F?F??(F/F?F?F/31F>F@/FFFD>F>FR-%&evalbG6#2F@F>F/F/F/F/
M7R0
I:JanetOre/allmult_exteriorf*6$%(lm_exprG%-var_exteriorG6#%"iG6#%gnCopyright~(C
)~2006-2010~by~Arne~Lorenz.~All~rights~reserved.G6"-%'RETURNG6#-%$mapG6$f*F'F+6
$%)operatorG%&arrowGF+@%-%'memberG6$9$T$@%2""!&T&6$"""F:F>FB%)infinityGF+F+6&F&
9%F%F:7#-%"$G6#;FB-%%nopsG6#&F:6#FBF+F+F+F+
M7R0
I2JanetOre/proccommf*6$'%$varG%%listG'%'opvarsGF'6+%"dG%"jG%"nG%"sG%%declG%%pos
1G%%pos2G%)alg_elemG%+trans_elemG6#%jnCopyright~(C)~2003-2010~by~Daniel~Robertz
.~All~rights~reserved.G6"C+>8&-%%nopsG6#9$>8'-%$mapG6$%#opG7#-%"$G6$F=F9>8$7#-F
F6$""!*&F9"""F9FO>8(7">8+FR>8,FR?(8%FOFO-F;6#9%%%trueG@%-%%typeG6$&Fen6#FX%)fun
ctionGC'@$2-F;6#F[o""#-%&ERRORG6#%Lwrong~number~of~arguments~in~operator~list.G
@$43-%'memberG6%-FC6$FOF[oF=.8)-F\p6%-FC6$FcoF[oF=.8*-Feo6#%]ooperators~and~var
iables~must~be~declared~in~the~list~of~variables.G@$-F\p6$FapFQ-Feo6#%Sonly~one
~declaration~for~each~operator~is~allowed.G>FQ7$-FC6#FQFap@-/-%(convertG6$-FC6$
FMF[o%'stringGQ%weylF6@%2FcoFaoC%>FI-%'subsopG6$/,&*&,&FapFO!""FOFOF9FOFOFgpFO-
FC6$""$F[oFI>FV7$-FC6#FV-FC6#-%'indetsG6#Fjr>FT7$-FC6#FT-FC6#-Fds6$Fjr%'algextG
>FI-Fcr6$/FfrFOFI/FgqQ&eulerF6>FI-Fcr6$/Ffr&F=6#FgpFI/FgqQ)backdiffF6C$>FIF`t>F
?-Fcr6$/Ffr,&FitFOFirFOF?/FgqQ)forwdiffF6C$>FIF`t>F?-Fcr6$/Ffr,&FitFOFOFOF?/Fgq
Q&shiftF6@%F_rC%>F?-Fcr6$/Ffr,&FitFOFjrFOF?>FVF^s>FTFgs>F?Fiu-Feo6#-%$catG6%%/o
perator~type~GFgq%0~not~supported.G-Feo6#%@operator~list~has~wrong~format.G>FV7
#-FC6#-%&minusG6$<#F_s<#Fhs7&F?FIFTFVF6F6F6F6
M7R0
I>JanetOre/jnormal_form_collectf*6)%"fG%"FG%%seqvG%(mulprocG%'lmprocG%'ppprocG%
(loc_varG68%"aG%#caG%#cbG%"gG%"hG%"iG%"kG%"rG%#lgG%#lmG%(termo_hG%$divG%'n_entr
G%*zero_listG%.rhs_zero_listG%#lvG%#nlG%#nvG%"HG%"eG%#meG%#hiG6#%\pCopyright~(C
)~2000-2010~by~Carlos~F.~Cid~and~Daniel~Robertz.~All~rights~reserved.G6"C,>%*_j
onnformG,&FH"""FJFJ>8(9$>80-%%nopsG6#&FL6#FJ@$09*7"C'>83<#-%$seqG6$&9&6#&FW6#8)
/F_o;FJ-FQ6#FW>84-FQ6#Fen>85-%'removeG6%%$hasGF[oFen>86FX>FL7$-%7JanetOre/cance
l_locvarG6%FSF[oFW-Fcp6%&FL6#""#F[oFW>817#-%"$G6$""!FO>827#-F^q6$F`q-FQ6#Fgp>8+
7$F[qFbq>8--9(FR?(FEFJFJFE0&F\r6$FipFJF`qC)>F_oFJ>8/%&falseG>8.*&FarFJ&F\r6$Fip
FipFJ@$FV>87,&-%$maxG6#-Fhn6$-%'degreeG6$&FS6#8*Fen/F[t;FJFOFJ-%$addG6$&&F\r6$F
JFJ6#&FWFjs/F[t;FJFeo!""?(FEFJFJFE31F_o-FQ6#9%4Ffr@%-%5JanetOre/pinv_divideG6%&
F^u6$F_o""$&F^u6$F_o""&&F\rFTC%>%)_joreducG,&F]vFJFJFJ@%FVC,>88,&-Fbs6#-Fhn6$-F
gs6$&&F^u6%F_oFJFJFjsFenF\tFJ-F_t6$&&F^u6%F_oFfuFJFdtFftFht>89F`q>F[t-FQ6#F_p?(
FEFJFJFE32F`qFbv2F`qF[tC$@$331&&F_pFjs6#FfuFbv/&&&FaxFhpFTFhp&FjuFhp-%8JanetOre
/conv_divisibleG6$FexFjuC$>FcwF[t>FbvF`x>F[t,&F[tFJFhtFJ@$3Fiw0&FiqFTF[q[@$2F_s
FbvC$>F[t-9)6%FSF[o7$Fgp&&F\rFhpFT>F_p7$-%#opGFfw7%7$&F[tFT&&F[tFhpFT7$Fju-%'su
bsopG6$/FJ&FgzFhpF^zF_s@%/FcwF`q>FL-%)simplifyG6#7$,&-%$mapG6$f*6#F-FE6$%)opera
torG%&arrowGFE*(T#FJ&T&6%T'""'FipFhtFMFJFEFE6(F7FirF&F^uF2F_oF[wFht-Fg[l6$f*Fj[
lFEF[\lFE*&&T$6%T%Fd\lFJFJFMFJFEFE6&F&F^uF2F_oFSFJ,&-Fg[l6$f*Fj[lFEF[\lFEF^\lFE
FEFe\l&F^u6%F_oFJFipFht-Fg[l6$f*Fj[lFEF[\lFEFi\lFEFEF^]lFgpFJ>FL-Fb[l6#7$,&-Fg[
l6$f*Fj[lFEF[\lFE*(F_\lFJ&&&&F]]l6#Fc\lFhpFhpFhpFhtFMFJFEFE6(F7FirF?F_pFBFcw&&&
F_p6#FcwFTFTFht-Fg[l6$f*Fj[lFEF[\lFE*&&&&&F_\l6#F]]lFhpFhpFTFJFMFJFEFE6&F?F_pFB
FcwFSFJ,&-Fg[l6$f*Fj[lFEF[\lFEF`^lFEFEFf^l&Fh^lFhpFht-Fg[l6$f*Fj[lFEF[\lFEF^_lF
EFEFd_lFgpFJ>FL-Fjy6%FSF[oFgp>FLFap@$0%0JanetOre/characGF`q>FL-%$modG6$FLFc`l@%
/Fc`lF`qC'>F[t-%'normalG6#*(FarFJF[sFJ&F^u6%F_oFd\lFipFht>8'-%(collectG6%7$-Fg[
l6$f*Fj[lFEF[\lFE-Fa\l6$F_\lFMFEFE6&F3F[tF(9'F[w-Fg[l6$f*Fj[lFEF[\lFEF[blFEFEF]
blFc]lF[o%,distributedG>8,-F^r6#&FcalFT>F[t-F]al6#*&&FdblFbrFJFarFht>FL-Feal6%7
$-F]al6#,&-Fg[l6$f*Fj[lFEF[\lFE*&F_\lFJFMFJFEFE6$F3F[tFSFJFgblFht-F]al6#,&-Fg[l
6$f*Fj[lFEF[\lFEFgclFEFEFhclFgpFJ&FcalFhpFhtF[oFbblC'>F[t-Ff`l6$-%'NormalGF^alF
c`l>Fcal-Ff`l6$-Feal6%7$-Fg[l6$f*Fj[lFEF[\lFEF[blFEFEF]blF[w-Fg[l6$f*Fj[lFEF[\l
FEF[blFEFEF]blFc]lF[oFbblFc`l>FdblFebl>F[t-Ff`l6$-FedlFjblFc`l>FL-Feal6%7$-Ff`l
6$-Fedl6#,&-Fg[l6$f*Fj[lFEF[\lFEFgclFEFEFhclFSFJFgblFhtFc`l-Ff`l6$-Fedl6#,&-Fg[
l6$f*Fj[lFEF[\lFEFgclFEFEFhclFgpFJF_dlFhtFc`lF[oFbbl>Ffr%%trueG>F_o,&F_oFJFJFJ@
%F_uC$>Fiq7$-Fjz6$/&F\r6$FJFip-Feal6%,&&Fcy6#FfglFJFjrFJF[oFbblFcy&FiqFhp>FL7$-
Fjz6$/Ffgl-Feal6%,&&FSF\hlFJFjrFhtF[oFbblFSFgp@%Fi`l>Fiq-Feal6%7$-F]al6#-Fg[l6$
f*Fj[lFEF[\lFEFgclFEFEFhclFcy-F]al6#-Fg[l6$f*Fj[lFEF[\lFEFgclFEFEFhclF]hlF[oFbb
l>Fiq-Feal6%7$-Ff`l6$-Fedl6#-Fg[l6$f*Fj[lFEF[\lFEFgclFEFEFhclFcyFc`l-Ff`l6$-Fed
l6#-Fg[l6$f*Fj[lFEF[\lFEFgclFEFEFhclF]hlFc`lF[oFbbl>F\rF]r@'3/FcyF[q0FgpFbqC%>F
gp&-Fjy6%FgpF[oFXFT@$4-%5JanetOre/member_multG6%Fgp%&J_HOMGF[o>Fg[m7$-Fbz6#Fg[m
Fgp7$FcyFbqF[[m7$F[qFgp-Fjy6%FcyF[oFgpFE6%Fg[mFHF]vFEFE
M7R0
I8JanetOre/jnormal_form_Zf*6)%"fG%"FG%%seqvG%(mulprocG%'lmprocG%'ppprocG%(loc_v
arG6,%"aG%"hG%"iG%"lG%"rG%#lmG%$divG%'n_entrG%*zero_listG%.rhs_zero_listG6#%jnC
opyright~(C)~2004-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C+>%*_jonnform
G,&F<"""F>F>>8%9$>8+-%%nopsG6#&F@6#F>>8,7#-%"$G6$""!FC>8-7#-FM6$FO-FE6#&F@6#""#
>8(7$FJFQ>8)-9(FF?(F9F>F>F90&Fhn6$FYF>FOC'>8&F>>8*%&falseG?(F9F>F>F931Fao-FE6#9
%4FcoC$@$-%5JanetOre/pinv_divideG6%&Fjo6$Fao""$&Fjo6$Fao""&&FhnFHC%>%)_joreducG
,&FjpF>F>F>>8'-%%iquoG6$F]o&Fjo6%Fao""'F>@$0F]qFOC$>F@7$-%'normalG6#,&FGF>-%$ma
pG6$f*6#F-F96$%)operatorG%&arrowGF9**T#F>&T%6$FYFYF>&T(6%T)FcqFY!""FAF>F9F96*F0
F]qF2FhnF&FjoF/Fao&Fjo6%FaoF>F>F^s-Fjq6#,&FWF>-F^r6$f*FarF9FbrF9FerF9F9F_s&Fjo6
%FaoF>FYF^s>Fco%%trueG>Fao,&FaoF>F>F>@$F[pC$>Fen7$-%'subsopG6$/&Fhn6$F>FY-Fjq6#
,&&&FenFH6#FftF>*&F]oF>&FhnFirF>F>F\u&FenFX>F@7$-Fct6$/Fft-Fjq6#,&&FGF]uF>F^uF^
sFGFW>FhnFin@'3/F\uFJ0FWFQC$@$4-%5JanetOre/member_multG6%FW%&J_HOMG9&>Fev7$-%#o
pG6#FevFW7$F\uFQF]v7$FJFW7$F\uFWF96%FevF<FjpF9F9
M7R0
IAJanetOre/simp_jnormal_form_Z_absf*6)%"fG%"FG%%seqvG%(mulprocG%'lmprocG%'pppro
cG%(loc_varG6+%"aG%"hG%"iG%"lG%"rG%#lmG%$divG%*zero_listG%.rhs_zero_listG6#%jnC
opyright~(C)~2004-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C*>%*_jonnform
G,&F;"""F=F=>8%9$>8+7#-%"$G6$""!-%%nopsG6#&F?6#F=>8,7#-FE6$FG-FI6#&F?6#""#>8(7$
FBFN>8)-9(FJ?(F8F=F=F80&Fen6$FVF=FGC'>8&F=>8*%&falseG?(F8F=F=F831F^o-FI6#9%4F`o
C$@$-%5JanetOre/pinv_divideG6%&Fgo6$F^o""$&Fgo6$F^o""&&FenFLC%>%)_joreducG,&Fgp
F=F=F=>8'-%%iquoG6$Fjn&Fgo6%F^o""'F=@&0FjpFGC$>F?-%(collectG6%7$-%'normalG6#,&F
KF=-%$mapG6$f*6#F-F86$%)operatorG%&arrowGF8**T#F=&T%6$FVFVF=&T(6%T)F`qFV!""F@F=
F8F86*F0FjpF2FenF&FgoF/F^o&Fgo6%F^oF=F=F^s-Fjq6#,&FTF=-F^r6$f*FarF8FbrF8FerF8F8
F_s&Fgo6%F^oF=FVF^s9&%,distributedG>F`o%%trueG52-%$absG6#-%&roundG6#,$F^q#F=FV-
Fat6#Fjn3/FhtF`t/-%%signGFitF^sC$>F?-Ffq6%7$-Fjq6#,&FKF=-F^r6$f*FarF8FbrF8*,-F^
u6#&FfrF[oF=-F^u6#&T&6%T'F`qF=F=&FfrFirF=&Fav6%FcvF`qFVF^sF@F=F8F86(F2FenF&FgoF
/F^oF`sF^s-Fjq6#,&FTF=-F^r6$f*FarF8FbrF8FjuF8F8FgvFhsF^sFjsF[t>F`oF]t>F^o,&F^oF
=F=F=@$FhoC$>FX7$-%'subsopG6$/&Fen6$F=FV-Ffq6%,&&&FXFL6#FiwF=*&FjnF=&FenFirF=F=
FjsF[tF_x&FXFU>F?7$-Ffw6$/Fiw-Ffq6%,&&FKF`xF=FaxF^sFjsF[tFKFT>FenFfn@'3/F_xFB0F
TFNC$@$4-%5JanetOre/member_multG6%FT%&J_HOMGFjs>Fhy7$-%#opG6#FhyFT7$F_xFNF`y7$F
BFT7$F_xFTF86%FhyF;FgpF8F8
M7R0
I9JanetOre/JSubmoduleBasisf*6"6;%"bG%"iG%"jG%"lG%"pG%"sG%,given_basisG%&m_ordG%
'n_entrG%"FG%2tmp_J_T_List_dataG%%varsG%$varG%%nvarG%$opsG%(var_ordG%'vt_degG%)
entr_posG%%seqvG%,force_evalaG%'lmprocG%(seq_varG%#suG%#lmG%$resG6#%jnCopyright
~(C)~2007-2010~by~Daniel~Robertz.~All~rights~reserved.GF$C.@$4%2JanetOre/ratcoe
ffG-%&ERRORG6#%fnnot~implemented~yet~for~involutive~bases~over~the~integers.G>8
7%&falseG>8+""%>82%%NULLG>8:FQ@'5/9#"""32FXFW555-%%typeG6$&9"6#""#%)equationG-F
in6$F[o%(integerG-Fin6$F[o-%%listG6#Fbo3-Fin6$F[oFfo5-%(hastypeG6$F[o%)function
G-F]p6$F[o%*procedureGC$>8*FK>8&F^o2""!FWC$>Fep%%trueG>Fgp""$-FF6#%goexpecting~
either~an~involutive~basis~or~list~of~variables~as~first~argument.G?(8%FgpFXFWF
\q@)-Fin6$&F\o6#FcqFbo>FMFgq-Fin6$FgqFfo@'/Fgq7"F$45-Fin6$FgqFeo-Fin6$Fgq-Ffo6#
Ffo>FPFgq>FMFgq3-Fin6$FgqF_o/-%#opG6$FXFgqQ%subsF$C$@$-Fin6$-F^s6$F^oFgqFfo-FF6
#%Hexpecting~expression~for~option~"subs".G>FSFes-FF6#%0invalid~option.G@%FepC3
>8--%3JanetOre/procinputG6#&F\o6#FX>8,&FatFft>FJ5FJ&Fat6#""&>8.73%)J_T_ListG%*j
number_tG%)JTab_VarG%'_jnvarG%'_jpvarG%)_jvardegG%)_jtupdegG%-_jentrblocksG%&J_
HOMG%*_jpno_rhsG%1_jpforce_collectG%/_jpforce_evalaG%*_jinv_denG%._JBOre_factor
G%6_JBOre_factor_multvarG%+_JBOre_varG%-_JBOre_compaG>8/-%2JanetOre/procvarsG6$
F[oFht>83&FdvF]o>84&Fdv6#F^q>85&Fdv6#""'>80&FdvFft>867#-%$seqG6$-%$catG6$%#_xGF
cq/Fcq;FX-%%nopsG6#Few>Fiv-%%subsG6$7#-F[x6$/&FewFhq&FhwFhqFaxFiv@$30FivF^r/FMF
N>FM7#-%"$G6$FN-Fdx6#Fiv>8'-%1JanetOre/procordG6*FMFewFivF]w&Fdv6#FNFhwF`w4FJ@$
&F\zFaz>F`wF^r@$/&F\w6#;,&FcxFXFXFX,&FcxFXFhtFX7#-Fgy6$FipFht>F\wFip>88-%&parse
G6#-F^x6/Q<g->`JanetOre/j_lead_mon`(g,F$-%(convertG6$Fht%'stringGQ",F$-Fj[l6$Fh
wF\\lF]\l-Fj[l6$&F\zFftF\\lF]\l-Fj[l6$F`wF\\lF]\l-Fj[l6$&F\zF]uF\\lF]\l-Fj[l6$F
\wF\\lQ")F$-%7JanetOre/setupJ_T_ListG6*-%(collectG6%&FatFazFew%,distributedGFht
&FatF]oFb[l&F\zF^w&FdvF]uFew&FatF^wC(@$4-%)assignedG6#Fbu-FF6#%Lmissing~involut
ive~basis;~run~JBasis~first.G>Fht-Fdx6#&Fbu6%FXFXFX>Fdv-Ffv6$FetFht>FewFfw>FhwF
iw@$0-Fdx6#&Fbu6%FXF^qFXFcx-FF6#%[qthe~current~involutive~basis~was~computed~w.
r.t.~a~different~number~of~variables~than~nops(var).G@$0FPFQ-%1JanetOre/procops
G6%FewFPFhw@%/&Fbu6%FXFcwFXFip@%/FhtFX>8<Fip>F_`lF][lC%>81Fcx>897#-F[x6$/F_yF^y
/Fcq;FXFc`l@%F]`l@%%3JanetOre/janetlikeGC$>F_`lFip?&FcqFbuF\q@%/&FcqF]u7#-Fgy6$
%)infinityGFc`l>F_`l,&F_`lFX*&-Fhx6$Fe`l&Fcq6$FcwF^oFX-%$mulG6$,&FXFX&Few6#Fgp!
""/FgpF[alFfblFXC)>8$-Fhx6$/FhalFipFdal>8(7#-Fgy6$FipFc`l>8;F\bl?(FgpFXFXFc`lF\
q@$/&Fcq6$F^uFgpFhal>Fdcl*&FdclFXFcblFfbl>F_`l,&F_`lFXFdclFX>F_cl-%6JanetOre/ne
xtmonomialG6$F_clFjbl?(F$FXFXF$0F_clF`clC$>F_`l,&F_`lFX*&FdclFX-Fabl6$)Fdbl&F_c
lFeblFgblFXFX>F_clF_dl>F_`l-%$addG6$*&-Fhx6$Fe`l&Fbu6%FcqFcwF^oFX-Fabl6$)Fcbl-F
hx6$/FhalFX&Fbu6%FcqF^uFgpFgblFfbl/Fcq;FX-FdxF\^lC$>8)F][l@%F^alC$>F_`lFcfl?&Fc
qFbuF\q@%Fcal>F_`l-%'expandG6#,&F_`lFX-%'subsopG6$/&Fcq6$F^qF^oF[blFcflFXC)>Fjb
lF[cl>F_clF`cl>FdclF\bl?(FgpFXFXFc`lF\q@$Fgcl>FdclF[dl>F_`l-F[gl6#,&F_`lFX-F_gl
6$/FbglFdclFcflFX>F_clF_dl?(F$FXFXF$FcdlC$>F_`l-F[gl6#,&F_`lFX-F_gl6$/FbglFgdlF
cflFX>F_clF_dl>F_`l-F[gl6#-F_el6$-F_gl6$/&Fbu6%FcqF^qF^oFaelFcflF^fl@$Fep-%9Jan
etOre/restoreJ_T_ListG6#F`u@%0FSFQ-Fhx6$-%$mapG6$f*6#F'F$6$%)operatorG%&arrowGF
$/9$T#F$F$6$F<FSFewF_`lF_`lF$F$F$F$
M7R0
I8JanetOre/JGroebnerBasisf*6#%"LG6&%"GG%*tmp_J_HOMG%-tmp_jinv_denG%0tmp_JBOre_c
ompaG6#%jnCopyright~(C)~2000-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C&@
$0%5JanetOre/initializedG.%%trueG-%.JanetOre/initGF->8$-%5JanetOre/JGroebBasisG
6#9"@$/F9%<JanetOre/JGroebnerBasisFastGC)>8%%&J_HOMG>8&%*_jinv_denG>8'%-_JBOre_
compaG-%1JanetOre/JIBasisG6$F7&F;6#;""#9#>FBFA>FEFD>FHFGF7F-6%FBFEFHF-F-
M7R0
I2JanetOre/pmax_degf*6#%"TG6%%"aG%"vG%#mdG6#%\pCopyright~(C)~2000-2010~by~Carlo
s~F.~Cid~and~Daniel~Robertz.~All~rights~reserved.G6"C%>8&""!@%%3JanetOre/janetl
ikeG?&8%9$%%trueGC$>8$,&-%(convertG6$&F46$""$"""%"+GFA-F<6$-%%subsG6$/%)infinit
yGF0&F46#""&FBFA@$2F/F9>F/F9?&F4F5F6C$>F9F;@$FN>F/F9-%'RETURNG6#F/F,F,F,F,
M7R0
I-JanetOre/JHPf*6"62%"aG%"bG%"dG%"iG%"kG%"nG%"mG%"pG%"sG%%termG%&n_mulG%+n_exte
riorG%/args_without_sG%,given_basisG%$varG%2tmp_J_T_List_dataG6#%ipCopyright~(C
)~2000-2010~by~Carlos~F.~Cid,~Arne~Lorenz~and~Daniel~Robertz.~All~rights~reserv
ed.GF$C->8,.F:>80%%NULLG@%19#"""C$>81%&falseG@$/FAFB@%3-%%typeG6$&9"6#FB%)equat
ionG/-%#opG6$FBFNQ$varF$>F:-FT6$""#FN>F:FNC$>FE%%trueG?(8'FBFBFAFhn@%3-FL6$&FO6
#FjnFQ/-FT6$FBF_oFV>F:-FT6$FZF_o>F=6$F=F_o@%FE>6$8382-%5JanetOre/setup_basisG6#
F=@$4-%)assignedG6#%)J_T_ListG-%&ERRORG6#%Lmissing~involutive~basis;~run~JBasis
~first.G>8*-%%nopsG6#&Ffp6%FBFBFB>8)-F^q6#&Ffp6%FB""$FB@%-Fdp6#%/_jvar_exterior
G@%-FL6$F\r%%listG>8/-F^qF[r-Fhp6$QSwrong~format~of~the~global~variable~_jvar_e
xteriorF$F\r>Fbr""!@%/FbrFhr>8-*&F\qFB-%)binomialG6$,&FcqFBF:FBF:FB>F\s*&F\qFB-
%$addG6$*&-F_s6$Fbr8(FB-F_s6$,*FcqFBFbr!""F:FBFjsF^t,&F:FBFjsF^tFB/Fjs;FhrFbrFB
@$0&Ffp6%FB""'FBFhr@%%3JanetOre/janetlikeG?&8$FfpFhnC$>8.-%*numboccurG6$&Fjt6#"
"&%)infinityG@%/F]uFcq>F\s,&F\sFB-F_s6$,(F:FB-%(convertG6$&Fjt6$FhqFB%"+GF^tF]u
FBF]uF^tC(>8&F\v>8%-%%subsG6$/FduFhrFau>8+7#-%"$G6$FhrFcq>F\s,&F\sFB-F_s6$,(F:F
BFdvF^tF]uFBF]uF^t>F\w-%6JanetOre/nextmonomialG6$F\wFfv?(F$FBFBF$0F\wF]wC$>F\s,
&F\sFB-F_s6$,*F:FBFdvF^t-F]v6$F\wFavF^tF]uFBF]uF^t>F\wFgw?&FjtFfpFhnC$>F]uF^u@%
Fjr>F\sFhu@%Ffu>F\sFhuC(>FdvF\v>FfvFgv>F\wF]w>F\sFbw>F\wFgw?(F$FBFBF$F[xC$>F\sF
^x>F\wFgw@$FE-%9JanetOre/restoreJ_T_ListG6#F\p-%'RETURNG6#-%'expandG6#F\sF$F$F$
F$
M7R0
I:JanetOre/JIndexRegularityf*6"6(%"iG%"qG%+n_exteriorG%,given_basisG%$varG%2tmp
_J_T_List_dataG6#%ioCopyright~(C)~2000-2010~by~Carlos~F.~Cid~and~Arne~Lorenz.~A
ll~rights~reserved.GF$C'@%-%)assignedG6#%/_jvar_exteriorG@%-%%typeG6$F3%%listG>
8&-%%nopsGF2-%&ERRORG6$QSwrong~format~of~the~global~variable~_jvar_exteriorF$F3
>F:""!@%2FB9#C$>8'%%trueG>6$8)8(-%5JanetOre/setup_basisG6#9"C$@$4-F16#%)J_T_Lis
tG-F>6#%Lmissing~involutive~basis;~run~JBasis~first.G>FH%&falseG>8%-%2JanetOre/
pmax_degGFV@$2FBF:>Fhn-%$maxG6$,&F:"""FboFboFhn?(8$FBFboFhnFI@$/-%-JanetOre/JHP
G6#Fdo-%-JanetOre/JHFGFioC$@$FH-%9JanetOre/restoreJ_T_ListG6#FL-%'RETURNGFioF$F
$F$F$
M7R0
I5JanetOre/jets_mklistf*6#%"LG6"6#%[oCopyright~(C)~2000-2002~by~Mohamed~Barakat
.~All~rights~reserved.GF&@)-%%typeG6$9$%%listGF--F+6$F-%$setG-%(convertGF,-F+6$
F-%&arrayG-F36$F-%)listlistG7#F-F&F&F&F&
M7R0
I6JanetOre/jets_zerocolf*6#%"MG6#%#ZLG6#%inCopyright~(C)~2000-2002~by~Gehrt~Har
tjen.~All~rights~reserved.G6"C$>8$7#-%"$G6$""!-&%'linalgG6#%'rowdimG6#9$-%$mapG
6$f*6#%"iGF*6$%)operatorG%&arrowGF*@%-%&evalbG6#/-%(convertG6$-&F56#%$colG6$T&F
9%%listGT#F9%%NULLGF*F*6&F'F-F%F97#-F06#;"""-&F56#%'coldimGF8F*F*F*F*
M7R0
I7homalg/JanetOre/Reducef*6%%"pG%#_MG%$varG6(%"MG%"iG%"jG%"vG%'n_entrG%#rrG6#%j
oCopyright~(C)~2004-2010~by~Arne~Lorenz~and~Daniel~Robertz.~All~rights~reserved
.G6"C&>8$-%6homalg/NormalizeInputG6$9%%)JanetOreG>8'-%5homalg/NormalizeRingG6$9
&F9@$0&F;6#""#7"C%>8(&-%3JanetOre/procinputG6#F86#"""@%/FHFN>8)FB>FR-%$mapG6$f*
6#F+6#F*F1F1-%$seqG6$-%'subsopG6$/F4&T#6%FD9$FN7#-%"$G6$""!T%/F4;FNFdoF1F16&F,F
;F-FH7#-Fao6#;FN-%%nopsG6#FB@$/-%(convertG6$-FU6$f*6#%"aGF16$%)operatorG%&arrow
GF1-%'memberG6$F^oF\oF1F16$F)F4FR%#orG%&falseG>F4-%6homalg/JanetOre/BasisG6$7$-
%#opG6#F4-Fhq6#FRF?@%52-F]p6#F;""$/&F;6#FarFE-%4JanetOre/JInvReduceG6%F^oF4&F;F
M-Ffr6&F^oF4FhrFcrF1F1F1F1
M7R0
I<JanetOre/copyright_JanetOref*6"F$6#%jnCopyright~(C)~2003-2010~by~Daniel~Rober
tz.~All~rights~reserved.GF$C)-%&printG6#%9JanetOre~(2003-2010)~(C)G-F)6#%MCopyr
ight~(C)~(2003-2010)~by~Daniel~Robertz.G-F)6#%5All~rights~reserved.G-F)6#%YThis
~software~should~be~referenced~if~it~is~used~in~workG-F)6#%>eventuating~in~a~pu
blication.G-F)6#%GUsers~are~free~to~modify~this~program,G-F)6#%Tbut~it~is~not~t
o~be~redistributed~in~modified~form.GF$F$F$F$
M7R0
I1JanetOre/pplex_Zf*6$%"aG%"bG6#%"iG6#%jnCopyright~(C)~2004-2010~by~Daniel~Robe
rtz.~All~rights~reserved.G6"C%?(8$"""F/-%%nopsG6#&9$6#F/%%trueG@&2&F36#F.&&9%F5
F:-%'RETURNG6#F62F;F9-F?6#%&falseG@&2-%$absG6#&F=6#""$-FH6#&F4FKFB2FMFGF>@%2&F4
6#""#&F=FTFDF6F+F+F+F+
M7R0
I6JanetOre/pnegplex_POTf*6$%"aG%"bG6"6#%jnCopyright~(C)~2002-2010~by~Daniel~Rob
ertz.~All~rights~reserved.GF'C$@&2&9$6#""#&9%F/%&falseG2F1F-%%trueG4-%/JanetOre
/pplexG6$F.F2F'F'F'F'
M7R0
I3JanetOre/block_ordf*6&%"aG%"bG%$sepG%+termordersG6#%"iG6#%jnCopyright~(C)~200
4-2010~by~Daniel~Robertz.~All~rights~reserved.G6"@'4-&9'6#"""6$7$&&9$F36#;F4&9&
F3&F96#""#7$&&9%F3F:&FDF?%&falseG/F7FBC$?(8$F@F4-%%nopsG6#F=%%trueG@&4-&F26#FJ6
$7$&F86#;,&&F=6#,&FJF4!""F4F4F4F4&F=FSF>7$&FCFWFE-%'RETURNG6#FF0FVFjn-F\o6#FN@%
2F>FEFFFNFNF-F-F-F-
M7R0
I1JanetOre/procopsf*6%'%$varG%%listG'%'opvarsGF''%%seqvGF'65%"aG%"iG%"jG%"kG%%d
eclG%&opvarG%'optypeG%$opsG%(dualopsG%*appprocs1G%*appprocs2G%(appops1G%(appops
2G%%pos1G%%pos2G%(comm_lcG%-var_exteriorG%)alg_elemG%+trans_elemG6#%joCopyright
~(C)~2003-2010~by~Arne~Lorenz~and~Daniel~Robertz.~All~rights~reserved.G6"C5>8)%
%NULLG>8*FF>8+FF>8,FF>8/FF>80FF>8-FF>8.FF>8(7">83%%trueG>84FW>85FW>86FW?(8&"""F
]o-%%nopsG6#9%FZ@'-%%typeG6$&Fao6#F\o%)functionG@//-%(convertG6$-%#opG6$""!Ffo%
'stringGQ%weylFBC*@$52-F_o6#Ffo""#2""$Fhp-%&ERRORG6#%Xexpecting~'weyl(D,x)'~wit
h~appropriate~symbols~D~and~x.G>FE6$FE-F_p6$F]oFfo>FH6$FHFcp@$43-%'memberG6%Fcq
9$.81-F[r6%-F_p6$FjpFfoF]r.82-F^q6#%]ooperators~and~variables~must~be~declared~
in~the~list~of~variables.G@$-F[r6$F_rFV-F^q6#%Sonly~one~declaration~for~each~op
erator~is~allowed.G>FV7$-F_p6#FVF_r>FP6$FP&9&6#F_r@%/FhpF\qC'>FJ6$-%%evalG6#FJ-
%&parseG6#-%$catG6)Q(_a->_a*FB-F\p6$FesFbpQ#+(FB-F\p6$-F_p6$F\qFfoFbpQ+)*diff(_
a,FB-F\p6$&Ffs6#FerFbpQ")FB>FL6$-F^t6#FL-Fat6#-Fdt6)FftFgtQ#-(FBFjtF^uF_uFcu>FT
6$-F^t6#FT-Fat6#-Fdt6'Q&_a->(FBFjtF^uF_uFcu>Fjn7$-F_p6#Fjn-F_p6#-%'indetsG6#F\u
>Fhn7$-F_p6#Fhn-F_p6#-F]w6$F\u%'algextGC%>FJ6$F]t-Fat6#-Fdt6'FftFgtQ*+diff(_a,F
BF_uFcu>FL6$Ffu-Fat6#-Fdt6'FftFgtQ*-diff(_a,FBF_uFcu>FT6$F_v-Fat6#-Fdt6%Q-_a->d
iff(_a,FBF_uFcu/F[pQ&eulerFBC,@$0FhpFjp-F^q6#%Yexpecting~'euler(D,x)'~with~appr
opriate~symbols~D~and~x.G>FEFbq>FH6$FHF_y@$FhqFfr@$FjrF\s>FVF`s>FPFds>FJ6$F]t-F
at6#-Fdt6)FftFgtQ"+FBF_uQ**diff(_a,FBF_uFcu>FL6$Ffuf*FBFBFBFB-F^q6#%Anot~implem
ented~yet~for~'euler'.GFBFBFB>FT6$F_v-Fat6#-Fdt6'Q%_a->FBF_uFdzF_uFcu/F[pQ)back
diffFBC,@$Fby-F^q6#%^oexpecting~'backdiff(delta,x)'~with~appropriate~symbols~de
lta~and~x.G>FEFbq>FH6$FHFc[l@$FhqFfr@$FjrF\s>FVF`s>FN6$FNFes>FJ6$F]t-Fat6#-Fdt6
-Q*_a->subs(FBF_uQ"=FBF_uQ)-1,~_a)*FBFgtQ*+_a-subs(FBF_uFh\lF_uQ(-1,~_a)FB>FL6$
Ffu-Fat6#-Fdt6-Fg\lF_uFh\lF_uQ)+1,~_a)*FBFgtQ'-subs(FBF_uFh\lF_uQ++1,~_a)+_aFB>
FR6$-F^t6#FR-Fat6#-Fdt6'Q-_a->_a-subs(FBF_uFh\lF_uQ'-1,_a)FB/F[pQ)forwdiffFBC,@
$Fby-F^q6#%^oexpecting~'forwdiff(delta,x)'~with~appropriate~symbols~delta~and~x
.G>FEFbq>FH6$FHF`^l@$FhqFfr@$FjrF\s>FVF`s>FNF`\l>FJ6$F]t-Fat6#-Fdt6-Fg\lF_uFh\l
F_uFb]lFgtQ'+subs(FBF_uFh\lF_uQ++1,~_a)-_aFB>FL6$Ffu-Fat6#-Fdt6-Fg\lF_uFh\lF_uF
i\lFgtQ*-_a+subs(FBF_uFh\lF_uF[]l>FR6$Fg]l-Fat6#-Fdt6'Fg\lF_uFh\lF_uQ*+1,_a)-_a
FB/F[pQ&shiftFBC*@$Ffp-F^q6#%eoexpecting~'shift(s,x)'~or~'shift(s,x,h)'~with~ap
propriate~symbols~s~and~x.G>FEFbq>FH6$FHFd`l@$FhqFfr@$FjrF\s>FVF`s>FNF`\l@%FisC
'>FJ6$F]t-Fat6#-Fdt6*Fg\lF_uFh\lF_uFitFjtQ'),_a)*FBFgt>FL6$Ffu-Fat6#-Fdt6*Fg\lF
_uFh\lF_uF\vFjtFialFgt>FR6$Fg]l-Fat6#-Fdt6)Fg\lF_uFh\lF_uFitFjtQ&),_a)FB>FjnFgv
>FhnF`wC%>FJ6$F]t-Fat6#-Fdt6(Fg\lF_uFh\lF_uFb]lFgt>FL6$Ffu-Fat6#-Fdt6(Fg\lF_uFh
\lF_uFi\lFgt>FR6$Fg]l-Fat6#-Fdt6'Fg\lF_uFh\lF_uQ'+1,_a)FB/F[pQ)exteriorFBC/@$5F
gp0Fhp-F_o6#<#-F_pFip-F^q6#%\pexpecting~'exterior(dx1,dx2,...)'~with~appropriat
e~distinct~symbols~dx1,~dx2~etc.G>FE6$FfdlFE>FH6$F^dlFH>Ffn7$-F_p6#FfnFfdl>F_r-
%$mapG6$f*6#F-6#%$posGFBFB@%4-F[r6%F]rT$.8$FapF`flFBFB6$F&F]r7#Ffdl@$-%$hasG6$F
_rFapFfr@$-F\p6$-Fdel6$f*6#F.FB6$%)operatorG%&arrowGFB-Fefl6$T#F]rFBFB6$F1FVF_r
%#orGF\s>FV7$Fas-F_pFgs>FJ6$-%$seqG6$-Fat6#-Fdt6&Fg\l-F\p6$7$/&Ffs6#&F_r6#,&8'F
]oF]oF]oFap-F_p6#-Fdel6$f*FgelFBF^glFB/F]r,$F]r!""FBFBFB7#-F\hl6$&Ffs6#&F_r6#8%
/F[jl;F]oF[ilFbpQ&,_a)*FB-F\p6$FfhlFbp/F[il;Fap,&FhpF]oFcilF]oF]t>FPFds>FL6$Ffu
f*FBFBFBFB-F^q6#%Dnot~implemented~yet~for~'exterior'.GFBFBFB>FT6$F_vf*FBFBFBFBF
hjlFBFBFB>FY%&falseG-F^q6$%6unknown~operator~typeGF^p-Fdo6$Ffo%)equationGC-@$4F
jq-F^q6#%Oexpecting~a~variable~in~var~as~left~hand~side.G@$4-Fdo6$Fbr%*procedur
eG-F^q6#%Jexpecting~a~procedure~as~right~hand~side.G@$FjrF\s>FVF`s>FEFbq>FH6$FH
Q%userFB>FJ6$F]tFbr>FPFds>FL6$Ffuf*FBFBFBFB-F^q6#%Vnot~implemented~yet~for~user
-defined~multiplication'.GFBFBFB>FT6$F_vf*FBFBFBFBF`]mFBFBFB>FYF_[m-F^q6#%@oper
ator~list~has~wrong~format.G>Fjn7#-F_p6#-%&minusG6$<#Fhv<#Faw>FE-%%subsG6$7#-F\
hl6$/&F]rFjil&FfsFjil/F[jl;F]o-F_o6#F]r7#FE>FN-Fe^m6$Fg^m7#FN>FP-Fe^m6$Fg^m7#FP
@%/FfnFW7+FE7#FH-Fat6#-Fdt6'QA(_a,_b)->`JanetOre/omult`(_a,_b,FB-F\p6$FEFbpQ",F
B-F\p6$7#F]tFbpFcuFYFfn-Fat6#-Fdt6'Fb`mFc`mFe`m-F\p6$7#FfuFbpFcu-Fat6#-Fdt6+QD(
_a,_b)->`JanetOre/applypol`(_a,_b,FB-F\p6$FNFbpFe`m-F\p6$FPFbpFe`m-F\p6$7#Fg]lF
bpFe`m-F\p6$7#F_vFbpFcuFhnFjnC$>Ffn-Fdel6$f*FgelFBF^glFB@%-F[r6%F]rF^fl.FielFie
l-F^q6#QQvariable~from~exterior~algebra~not~found~in~var.FBFBFBFaflFfn7+FEF]`m-
Fat6#-Fdt6'QJ(_a,_b)->`JanetOre/omult_exterior`(_a,_b,FBFc`mFe`mFf`mFcuFYFfn-Fa
t6#-Fdt6'F`cmFc`mFe`mF]amFcuF`amFhnFjnFBFBFBFB
M7R0
IBJanetOre/jnormal_form_simplify_lmf*6)%"fG%"FG%%seqvG%(mulprocG%'lmprocG%'pppr
ocG%(loc_varG66%"aG%#caG%#cbG%"hG%"iG%"kG%#lmG%$divG%'n_entrG%)rhs_entrG%*zero_
listG%.rhs_zero_listG%#lvG%#nlG%#nvG%"HG%"eG%#meG%#hiG%#stG6#%jnCopyright~(C)~2
000-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C.>%*_jonnformG,&FF"""FHFH>8
'9$>87""!>8,-%%nopsG6#&FJ6#FH>8--FR6#&FJ6#""#@$09*7"C'>80<#-%$seqG6$&9&6#&Fin6#
8(/Fgo;FH-FR6#Fin>81-FR6#F]o>82-%'removeG6%%$hasGFcoF]o>83Fjn>FJ7$-%7JanetOre/c
ancel_locvarG6%FTFcoFin-F[q6%FZFcoFin>8.7#-%"$G6$FNFP>8/7#-Fcq6$FNFX>8+%%trueG>
8*-9(FS?(FCFHFHFC3F[r0&F^r6$FfnFHFNC&>FgoFH>F[r%&falseG@$Fhn>84,&-%$maxG6#-F`o6
$-%'degreeG6$&FT6#8)F]o/Fhs;FHFPFH-%$addG6$&&F^r6$FHFH6#&FinFgs/Fhs;FHF]p!""?(F
CFHFHFC31Fgo-FR6#9%4F[rC$@$30FTF`q-%5JanetOre/pinv_divideG6%&F[u6$Fgo""$&F[u6$F
go""&&F^rFUC'>%)_joreducG,&F]vFHFHFH>FM,&FMFHFHFH@%FhnC+>85,&-F_s6#-F`o6$-Fds6$
&&F[u6%FgoFHFHFgsF]oFisFH-F\t6$&&F[u6%FgoFfuFHFatFctFet>86FN>Fhs-FR6#Fgp?(FCFHF
HFC32FNFdv2FNFhsC$@$332&&FgpFgs6#FfuFdv/&&&FcxFenFUFen&FjuFen-%8JanetOre/conv_d
ivisibleG6$FgxFjuC$>FewFhs>FdvFbx>Fhs,&FhsFHFetFH@$2F\sFdvC$>Fhs-9)6%FTFco7$FZ&
&F^rFenFU>Fgp7$-%#opGFhw7%7$&FhsFU&&FhsFenFU7$Fju-%'subsopG6$/FH&FdzFenF[zF\s@%
/FewFN>FJ-%)simplifyG6#7$,&-%$mapG6$f*6#F-FC6$%)operatorG%&arrowGFC**&T#FerFH&F
]\l6$FfnFfnFH&T&6%T'""'FfnFetFKFHFCFC6(F3F^rF&F[uF1FgoF]wFet-Fd[l6$f*Fg[lFCFh[l
FC*&&T$6%T%Fd\lFHFHFKFHFCFC6&F&F[uF1FgoFTFH,&-Fd[l6$f*Fg[lFCFh[lFCF[\lFCFCFe\l&
F[u6%FgoFHFfnFet-Fd[l6$f*Fg[lFCFh[lFCFi\lFCFCF^]lFZFH>FJ-F_[l6#7$,&-Fd[l6$f*Fg[
lFCFh[lFC**F\\lFHF^\lFH&&&&F]]l6#Fc\lFenFenFenFetFKFHFCFC6(F3F^rF<FgpF?Few&&&Fg
p6#FewFUFUFet-Fd[l6$f*Fg[lFCFh[lFC*&&&&&F]\l6#F]]lFenFenFUFHFKFHFCFC6&F<FgpF?Fe
wFTFH,&-Fd[l6$f*Fg[lFCFh[lFCF`^lFCFCFf^l&Fh^lFenFet-Fd[l6$f*Fg[lFCFh[lFCF^_lFCF
CFd_lFZFH>FJ-Fgy6%FTFcoFZ>FJFip@$0%0JanetOre/characGFN>FJ-%$modG6$FJFc`lC$@%/Fc
`lFN-%$gcdG6&Fdr&F[u6%FgoFd\lFH.8%.8&-Ff`l6$-%$GcdGF]alFc`l>FJ-F_[l6#7$,&-Fd[l6
$f*Fg[lFCFh[lFC*&F]\lFHFKFHFCFC6$F/FcalFTFH-Fd[l6$f*Fg[lFCFh[lFC-T,6$*(F]\lFH&F
]]lF_\lFH&T(6%T)Fd\lFfnFetFKFCFC6,F.FaalF3F^rF&F[uF1FgoF(9'F]wFet,&-Fd[l6$f*Fg[
lFCFh[lFCF`blFCFCFablFZFH-Fd[l6$f*Fg[lFCFh[lFCFeblFCFCF^clFc]lFet>F[rF\r>F^rF_r
>Fgo,&FgoFHFHFH@'3/FTF`q0FZFfqC%@$2FNFM>FZ&-Fgy6%FZFcoFjnFU@$4-%5JanetOre/membe
r_multG6%FZ%&J_HOMGFco>F[el7$-F_z6#F[elFZ7$FTFfqF]dl7$F`qFZ@%FadlF^`lFJFC6%F[el
FFF]vFCFC
M7R0
I7JanetOre/jcriteria1234f*6#'%"qG%%listG6(%"iG%"jG%"lG%"dG%#hgG%#hpG6#%jnCopyri
ght~(C)~2005-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C%@$/&9$6#""#&F66#"
"$-%'RETURNG6#%&falseG?(8$"""FB%*jnumber_tG%%trueG@$-%5JanetOre/pinv_divideG6%&
%)J_T_ListG6$FAF;&FJ6$FA""&F9C*@$/-%%nopsG6#&FJ6%FBFBFBFBC$>8&7$,&&F66$F8FBFB&F
J6%FAF8FBFB&F66$F8F8@$-%8JanetOre/conv_divisibleG6$FYF9C$>%)_jocrit1G,&FboFBFBF
B-F=6#FD>FY-%.JanetOre/pLCMG6$F5&FJ6$FAF8@$0FY&F96#;FBF8C$>%)_jocrit2G,&FcpFBFB
FBFdo>8'-%(convertG6$&FY6#FB%"+G>8%FB?(F1FBFBF131F^qFC2-Fhp6$&FJ6%F^qF;FBF\qFfp
C$@$/&FJ6%F^qF;F8&F66$F;F8C%>8)-Fho6$&FJ6$F^qF;F5>8(-Fho6$FcrFjo@$333-F^o6$F`rF
Y0-Fhp6$&F`rF[qF\qFfp-F^o6$FfrFY0-Fhp6$&FfrF[qF\qFfpC$>%)_jocrit3G,&F[tFBFBFBFd
o>F^q,&F^qFBFBFB@$0&F66#""(7"C%>Ffp-Fhp6$&F9F[qF\q>F^qFB?(F1FBFBF13Faq4-%4Janet
Ore/pdegrevlexG6$FatFcrC$@$-%9JanetOre/nonmult_prolongG6%Fcr&FJ6$F^qFNF9C$>F`r-
Fho6$&FJ6$F^qF8F5@$3-F^o6$F`rF9F_sC$>%)_jocrit4G,&FdvFBFBFBFdo>F^qF^tF<F?F16&Fb
oFcpF[tFdvF1F1
M7R0
I7JanetOre/JSyzygyModulef*6#%"LG6$%"aG%"SG6#%jnCopyright~(C)~2002-2010~by~Danie
l~Robertz.~All~rights~reserved.G6"C&@$0%5JanetOre/initializedG.%%trueG-%.JanetO
re/initGF+>8%-%4JanetOre/JSyzygyModG6#9"@$30F57"/F7%;JanetOre/JSyzygyModuleFast
G-%6JanetOre/AssertJBasisG6$F5-%#opG6#-%'selectG6$f*6#F'F+6$%)operatorG%&arrowG
F+54-%%typeG6$9$%)equationG0-FD6$"""FSQ$modF+F+F+F+7#&F96#;""#9#F5F+F+F+F+
M7R0
I4JanetOre/jets_grankf*6#%"MG6$%"iG%#zlG6#%inCopyright~(C)~2000-2002~by~Gehrt~H
artjen.~All~rights~reserved.G6"C&>8$-&%'linalgG6#%'rowdimG6#9$>8%7#-%"$G6$""!-&
F16#%'coldimGF4?(F+"""FBF+32F<F./-%(convertG6$-&F16#%$rowG6$F5F.%%listGF7>F.,&F
.FB!""FBF.F+F+F+F+
M7R0
I0JanetOre/polhasf*6$%"aG%"bG6$%"iG%#ibG6#%inCopyright~(C)~2000-2002~by~Gehrt~H
artjen.~All~rights~reserved.G6"C%>8%7#-%#opG6#-%'indetsG6#9%?&8$F/%%trueG@$2-%'
degreeG6$9$F9-F>6$F7F9-%'RETURNG6#%&falseG-FD6#F:F,F,F,F,
M7R0
I4JanetOre/JCoeffListf*6%%"pG'%%varsG%%listG%#FBG6-%"aG%"iG%"jG%"lG%'n_entrG%$v
arG%'vt_degG%$cmpG%"BG%"FG%%multG6#%jnCopyright~(C)~2006-2010~by~Daniel~Robertz
.~All~rights~reserved.G6"C*@$5/9&7"/F=""!-%&ERRORG6#%Hexpecting~non-empty~vecto
r~space~basis.G@%-%%typeG6$9$F(>8(-%%nopsG6#FI>FK""">8)-%2JanetOre/procvarsG6$9
%FK>8*&FR6#""$>FR&FR6#FP>8+&-%1JanetOre/procordG6*""%FRF>FXF>FR7#FK%%trueG6#""&
@'4-FG6$F=F(C%@%-FG6$F=%"+G>8--%%sortG6$-%$mapG6$f*6#F,F86$%)operatorG%&arrowGF
87$-%&numerGFN-%'indetsG6#-%&denomGFNF8F8F8-%(convertGFgof*6$F,F-F8FgpF8-T#6$&F
IFhn&FVFhnF8F86$F2Fjn>F^p7#7$-F\q6#F=-F^q6#-FaqF`r>8.-Fcp6$f*FfpF8FgpF8-Fcp6$f*
6#F-F8FgpF8@%-%$hasG6$&T$6#""#FI%)infinityGF@F8F86$F,FIFgqF8F86$F0FRF^p>F^p-Fcp
6$f*FfpF8FgpF8@%/-%#opG6$FPFiq!"",$FiqFatFiqF8F8F8F^p45-FG6$&F=FhnF(-FG6$Fgt%(p
olynomGC%>F^pF>>FerF>?(8$FPFP-FMF`rFaoC%@%-FG6$&F=6#F_uF\p>F^p7$-F_t6#F^p-F`p6$
-Fcp6$f*FfpF8FgpF8FjpF8F8F8-Fcq6$FeuF(f*FeqF8FgpF8FfqF8F8F[r>F^p7$Fiu7#7$-F\q6#
Feu-F^q6#-FaqFhv>Fer7$-F_t6#Fer-Fcp6$f*FfpF8FgpF8-Fcp6$f*F\sF8FgpF8@%F^sFesF@F8
F8FfsFgqF8F8Fgs&F^p6#Fat>F^p-%'subsopG6$/Fat-Fcp6$f*FfpF8FgpF8@%F]tFbtFiqF8F8F8
FgwF^pC$>Fer%%NULLG>F^pF=@%/FKFPC$@$0&F^pFhnFP-FB6#%[oexpecting~third~argument~
to~be~the~result~of~JFactorModuleBasis.G@%/FerFdx-%8JanetOre/monomcoefflistG6%F
IFRF^p-%<JanetOre/monomcoefflistmultG6&FIFRF^pFerC'>8'7#-%$seqG6$,&FKFP8%Fat/F_
z;F@,&FKFPFatFP@%F`yC%>8,7#-%"$G6$F>FK>8&FK?(F_zFPFP-FMFjuFaoC%?(F8FPFPF831FPF\
[l/&&F^p6#F_z6#F\[lF@>F\[l,&F\[lFPFatFP@$2F\[lFPF\y>Ffz-F[x6$/F\[l7$-F_t6#&FfzF
g[lFd[lFfz>FfzF^p@$0<#-F_t6#-Fcp6$f*FfpF8FgpF8FiqF8F8F8Ffz<#FPF\y@%F`y>F^p-%6Ja
netOre/tupcoefflistG6&FIFRFfzFiy>F^p-%:JanetOre/tupcoefflistmultG6'FIFRFfzFerFi
y@%4-FG6$F^p-F(6#F(F^p-Fcp6$F_tF^pF8F8F8F8
M7R0
I7JanetOre/JIntersectionf*6%%$_R1G%$_R2G'%$varG%%listG6)%"aG%"nG%#R1G%#R2G%#R0G
%"ZG%$opsG6#%^pCopyright~(C)~2003-2010~by~Mohamed~Barakat~and~Daniel~Robertz.~A
ll~rights~reserved.G6"C+>8&-%$mapG6$f*6#F+F46$%)operatorG%&arrowGF4&9$6#"""F4F4
F4&-%3JanetOre/procinputG6#FA6#""%>8'-F96$f*F<F4F=F4F@F4F4F4&-FF6#9%FH@%332""$9
#-%%typeG6$&9"FHF)4-FZ6$Ffn-F)6#%(integerG>8*Ffn>F_o%%NULLG>8%-%%nopsG6#&F7FB>8
(-F96$%#opG7$-F96$f*F<F4F=F4-F96$F\p7$FAFAF4F4F4F7-F96$f*F<F4F=F4-F96$F\p7$FA-%
"$G6$""!T#F4F46$F,FcoFK-%0JanetOre/JBasisG6&Fio9&F_o""#>8)-F96$f*F<F4F=F4@$/&FA
6#;FCF^q7#Fjp&FA6#;,&F^qFCFCFC!""F4F4F_q%"%G@$/Ffq7">Ffq7#7#-F[q6$F]qFco@%/F_oF
ao-Faq6%FfqFcq&Fgn6#;FIFX-Faq6&FfqFcqF_o&Fgn6#;""&FXF4F4F4F4
M7R0
I6homalg/JanetOre/Basisf*6$%#_MG'%$varG%%listG6,%"MG%"iG%"jG%"oG%"vG%$verG%$ord
G%%elimG%$POTG%'n_entrG6#%joCopyright~(C)~2004-2010~by~Arne~Lorenz~and~Daniel~R
obertz.~All~rights~reserved.G6"C*>8+%&falseG>8,F:?(8'""$"""9#%%trueG@%-%%typeG6
$&9"6#F>%)equationG@'/-%$lhsG6#FGQ3POSITION_OVER_TERMF6@%-FE6$-%$rhsGFO%(boolea
nG>F<FT-%&ERRORG6#%Yexpecting~boolean~value~for~"POSITION_OVER_TERM"~option.G/F
MQ,ELIMINATIONF6@%FR>F9FT-FY6#%Rexpecting~boolean~value~for~"ELIMINATION"~optio
n.G-FY6#%0unknown~option.G-FY6#%0invalid~option.G@%F<>8*F@>FeoF?@$4F9>Feo,&FeoF
@F@F@>8(-%5homalg/NormalizeRingG6$9%%)JanetOreG@%0&F\p6#""#7"C%>8$-%6homalg/Nor
malizeInputG6$9$Fap>8-&-%3JanetOre/procinputG6#F^q6#F@@%/F`qF@>Fjp7$-%#opG6#Fjp
-F[r6#Fdp>Fjp7$Fjq-%$seqG6$-Fbr6$-%'subsopG6$/8%&F\p6%Ffp8&F@7#-%"$G6$""!F`q/Fj
r;F@F`q/F]s;F@-%%nopsGF^r>FjpF^q@%52-Fhs6#F\pF?/&F\p6#F?Fgp-%0JanetOre/JBasisG6
%Fjp&F\pFeqFeo-Fct6&FjpFetF`tFeoF6F6F6F6
M7R0
I7JanetOre/jjanet_stddivf*6%%"LG%%seqvG%(mulprocG6-%"aG%"iG%"jG%"lG%"FG%"QG%"kG
%"nG%#suG%$conG%(allmultG6#%\pCopyright~(C)~2000-2010~by~Carlos~F.~Cid~and~Dani
el~Robertz.~All~rights~reserved.G6"C*>8+-%%nopsG6#9$@$/F9""!-%'RETURNG6#7$F=7">
8.7#-%"$G6$%)infinityG%'_jnvarG>8(F=>8)FE>FO-%'subsopG6$/F97)&FO6$F9"""&FO6$F9"
"#&FO6$F9""$7#-FJ6$F@FMFG&FO6$F9""'FEFO?(8%,&F9FZ!""FZFdoFZ%%trueGC(>8,FG>8-&FO
6$Fbo""%>8&FZ?(F6FZFZF631F_pFM/&FO6&,&FboFZFZFZFjnFZF_p&FO6&FboFjnFZF_pC%>Fho-F
T6$/F_p&FO6%Ffp""&F_pFho@%2&Fho6#F_pFL@$0&FjoFdq,&FcqFZFZFZC$>FQ7$-%#opG6#FQ7)-
%(collectG6%7$-%$mapG6$f*6#F)F66$%)operatorG%&arrowGF6-T(6$)-%$catG6$%#_xGT#,&&
T%6#FdsFZFZFZF=F6F66(F+F_pF1FhoF'9&&FO6%FboFZFZ-Fer6$f*FhrF6FirF6F\sF6F6Fis&FO6
%FboFZFgn9%%,distributedG&FO6$FboFgn-FT6$/FZ-FT6$/F_p,(FgpFZFcqFZFZFZ&FO6%FboFj
nFZ&FO6$FboFjnF[oFG7$&FO6%FboF`oFZ-Fjs6$)-Fas6$FcsF_pFhq&FO6%FboF`oFgnF_u>Fjo-F
T6$/F_pFhqFjo>Fjo-FT6$/F_pF@Fjo>F_p,&F_pFZFZFZ@$FbpC$@%%3JanetOre/janetlikeGC%>
8',&FdpFZFgpFdo>Fho-FT6$/F_p,&F[wFZFdoFZFho@$0FgqF[wC$>FQ7$F\r7)-Far6%7$-Fer6$f
*FhrF6FirF6-F]s6$)F`sFgsF=F6F66(F+F_pF,F[wF'FjsF[t-Fer6$f*FhrF6FirF6F^xF6F6FaxF
`tFbtFctFdt-FT6$/FZ-FT6$/F_p,&FgpFZF[wFZF]uF_uF[oFG7$Fbu-Fjs6$)FguF[wFiuF_u>Fjo
-FT6$/F_pF[wFjoC$>Fho-FT6$FbvFho@$/FgqF@C$>FQ7$F\r7)-Far6%7$-Fer6$f*FhrF6FirF6-
T&6$F`sF=F6F66&F+F_pF'FjsF[t-Fer6$f*FhrF6FirF6FdzF6F6FgzF`tFbtFctFdt-FT6$/FZ-FT
6$/F_p,&FgpFZFZFZF]uF_uF[oFG7$Fbu-Fjs6$FguFiuF_u>Fjo-FT6$/F_pFZFjo>Fjo-FT6$-%$s
eqG6$/8*F@/F`\l;FdvFMFjo>FO-FT6$/Fbo-FT6$/F]pFjo-FT6$/F`qFho&FO6#FboFO7$FOFQF6F
6F6F6
M7R0
IAJanetOre/stdinterface_gettmpnamef*6"6'%"iG%"jG%"rG%"PG%"SG6#%jnCopyright~(C)~
2007-2010~by~Daniel~Robertz.~All~rights~reserved.GF$C&>8(-%(convertG6$-%+kernel
optsG6#%(versionG%'stringG@%5555/-%*substringG6$F/;"""""(Q(Maple~VF$/F>Q(Maple~
6F$/F>Q(Maple~7F$/F>Q(Maple~8F$/F>Q(Maple~9F$>8'Q+unknownPIDF$>FN-F16$-F46#%$pi
dGF7>F/-%(ssystemG6#Q$envF$@'/F/%%NULLG-%$catG6$%//tmp/JanetOre-GFN0&F/6#FB""!F
hnC%>F/&F/6#""#@%/-F?6$F/;FB""&Q&USER=F$C$>8$FB>8%-%+searchtextG6%Q"|+F$F/;""'!
""C$>F^p-Fbp6$Q'|+USER=F$F/>F`p-Fbp6%FdpF/;,&F^pFBFfpFBFgp@%5/F^pF_o/F`pF_oFhnC
&>F/-F?6$F/;Faq,(F^pFB""%FBF`pFB>8&-FX6#-Fin6$%.test~-d~/tmp/GF/@$0&F^rF^oF_oC$
>F^r-FX6#-Fin6$%,mkdir~/tmp/GF/@$Fer-%&ERRORG6#%Ecannot~write~temporary~file~to
~/tmp.G-Fin6(%&/tmp/GF/%+/JanetOre-GFN%"-GF/F$F$F$F$
M7R0
I.JanetOre/rmsqf*6$%"pG'%"vG%%listG6"6#%jnCopyright~(C)~2003-2010~by~Daniel~Rob
ertz.~All~rights~reserved.GF)@'55-%%typeG6$9$F(-F06$F2%"+G-F06$F2%"*G-%$mapG6%F
"F29%-F06$F2%"^G@%33-%'memberG6$-%#opG6$"""F2F<-F06$-FG6$""#F2%'posintG2FIFL""!
F2F2F)F)F)F)
M7R0
I*JanetOreT=6"%&falseGE\[l\w%<jnormal_form_simplify_lc_lmGf*F$F$6#%jnCopyright~
(C)~2000-2010~by~Daniel~Robertz.~All~rights~reserved.GF$C$30%5JanetOre/initiali
zedG.%%trueG0-%.JanetOre/initGF$""!-%EJanetOre/jnormal_form_simplify_lc_lmG6#9"
F$F$F$%)applypolGf*F$F$6#%jnCopyright~(C)~2007-2010~by~Daniel~Robertz.~All~righ
ts~reserved.GF$C$F,-%2JanetOre/applypolGF7F$F$F$%/pplexdivision3Gf*F$F$6#%jnCop
yright~(C)~2009-2010~by~Daniel~Robertz.~All~rights~reserved.GF$C$F,-%8JanetOre/
pplexdivision3GF7F$F$F$%,invred_polyGf*F$F$6#%\pCopyright~(C)~2000-2010~by~Carl
os~F.~Cid~and~Daniel~Robertz.~All~rights~reserved.GF$C$F,-%5JanetOre/invred_pol
yGF7F$F$F$%2simp_invred_Z_absGf*F$F$FIF$C$F,-%;JanetOre/simp_invred_Z_absGF7F$F
$F$%-JGroebnerBasGf*F$F$F)F$C$F,-%6JanetOre/JGroebnerBasGF7F$F$F$%2jnormal_form
_polyGf*F$F$FIF$C$F,-%;JanetOre/jnormal_form_polyGF7F$F$F$%)jleadmonGf*F$F$FIF$
C$F,-%2JanetOre/jleadmonGF7F$F$F$%6jnormal_form_evala_lcGf*F$F$FIF$C$F,-%?Janet
Ore/jnormal_form_evala_lcGF7F$F$F$%/invred_collectGf*F$F$FIF$C$F,-%8JanetOre/in
vred_collectGF7F$F$F$%*block_cmpGf*F$F$6#%jnCopyright~(C)~2004-2010~by~Daniel~R
obertz.~All~rights~reserved.GF$C$F,-%3JanetOre/block_cmpGF7F$F$F$%.jets_depchec
kGf*F$F$6#%\pCopyright~(C)~2000-2010~by~Gehrt~Hartjen~and~Daniel~Robertz.~All~r
ights~reserved.GF$C$F,-%7JanetOre/jets_depcheckGF7F$F$F$%.jcriteria1234Gf*F$F$6
#%jnCopyright~(C)~2005-2010~by~Daniel~Robertz.~All~rights~reserved.GF$C$F,-%7Ja
netOre/jcriteria1234GF7F$F$F$%3copyright_JanetOreGf*F$F$6#%jnCopyright~(C)~2003
-2010~by~Daniel~Robertz.~All~rights~reserved.GF$C$F,-%<JanetOre/copyright_Janet
OreGF7F$F$F$%,pinv_divideGf*F$F$FIF$C$F,-%5JanetOre/pinv_divideGF7F$F$F$%2remov
e_whitespaceGf*F$F$F)F$C$F,-%;JanetOre/remove_whitespaceGF7F$F$F$%*jupdate_TGf*
F$F$F)F$C$F,-%3JanetOre/jupdate_TGF7F$F$F$%-invred_evalaGf*F$F$FIF$C$F,-%6Janet
Ore/invred_evalaGF7F$F$F$%.JAnnihilator1Gf*F$F$F)F$C$F,-%7JanetOre/JAnnihilator
1GF7F$F$F$%'is_opsGf*F$F$F;F$C$F,-%0JanetOre/is_opsGF7F$F$F$%.jupdate_T_stdGf*F
$F$F)F$C$F,-%7JanetOre/jupdate_T_stdGF7F$F$F$%=jnormal_form_collect_lc_polyGf*F
$F$FIF$C$F,-%FJanetOre/jnormal_form_collect_lc_polyGF7F$F$F$%;jnormal_form_eval
a_lc_polyGf*F$F$FIF$C$F,-%DJanetOre/jnormal_form_evala_lc_polyGF7F$F$F$%/omult_
exteriorGf*F$F$F]qF$C$F,-%8JanetOre/omult_exteriorGF7F$F$F$%0pnegdegrevlex_ZGf*
F$F$FhoF$C$F,-%9JanetOre/pnegdegrevlex_ZGF7F$F$F$%@jnormal_form_collect_lc_poly
_lmGf*F$F$F)F$C$F,-%IJanetOre/jnormal_form_collect_lc_poly_lmGF7F$F$F$%;simp_jn
ormal_form_Z_nonnegGf*F$F$FhoF$C$F,-%DJanetOre/simp_jnormal_form_Z_nonnegGF7F$F
$F$%'polhasGf*F$F$6#%inCopyright~(C)~2000-2002~by~Gehrt~Hartjen.~All~rights~res
erved.GF$C$F,-%0JanetOre/polhasGF7F$F$F$%2checkops_exteriorGf*F$F$6#%joCopyrigh
t~(C)~2003-2010~by~Arne~Lorenz~and~Daniel~Robertz.~All~rights~reserved.GF$C$F,-
%;JanetOre/checkops_exteriorGF7F$F$F$%-polcoefflistGf*F$F$F_pF$C$F,-%6JanetOre/
polcoefflistGF7F$F$F$%)pmax_degGf*F$F$FIF$C$F,-%2JanetOre/pmax_degGF7F$F$F$%(pr
ocordGf*F$F$6#%jnCopyright~(C)~2002-2010~by~Daniel~Robertz.~All~rights~reserved
.GF$C$F,-%1JanetOre/procordGF7F$F$F$%-nextmonomialGf*F$F$FfpF$C$F,-%6JanetOre/n
extmonomialGF7F$F$F$%-jjanet_separGf*F$F$FIF$C$F,-%6JanetOre/jjanet_separGF7F$F
$F$%1poltoop_exteriorGf*F$F$F]qF$C$F,-%:JanetOre/poltoop_exteriorGF7F$F$F$%)inv
red_ZGf*F$F$FIF$C$F,-%2JanetOre/invred_ZGF7F$F$F$%2jnormal_form_Z_lmGf*F$F$FhoF
$C$F,-%;JanetOre/jnormal_form_Z_lmGF7F$F$F$%-jets_zerocolGf*F$F$FeuF$C$F,-%6Jan
etOre/jets_zerocolGF7F$F$F$%.simp_invred_ZGf*F$F$FIF$C$F,-%7JanetOre/simp_invre
d_ZGF7F$F$F$%<pdegrevlex_deg_Z_entr_blockGf*F$F$6#%jnCopyright~(C)~2006-2010~by
~Daniel~Robertz.~All~rights~reserved.GF$C$F,-%EJanetOre/pdegrevlex_deg_Z_entr_b
lockGF7F$F$F$%+j_lead_monGf*F$F$6%F*%'systemG%)rememberGF$C$F,-%4JanetOre/j_lea
d_monGF7F$F$F$%'pplex3Gf*F$F$FIF$C$F,-%0JanetOre/pplex3GF7F$F$F$%3CommonLeftMul
tipleGf*F$F$6#%enCopyright~(C)~2010~by~Daniel~Robertz.~All~rights~reserved.GF$C
$F,-%<JanetOre/CommonLeftMultipleGF7F$F$F$%1pplex_entr_blockGf*F$F$FgyF$C$F,-%:
JanetOre/pplex_entr_blockGF7F$F$F$%&omultGf*F$F$F]qF$C$F,-%/JanetOre/omultGF7F$
F$F$%,pplex_blockGf*F$F$FhoF$C$F,-%5JanetOre/pplex_blockGF7F$F$F$%0block_ord_Z_
POTGf*F$F$FhoF$C$F,-%9JanetOre/block_ord_Z_POTGF7F$F$F$%0rmmult_exteriorGf*F$F$
6#%gnCopyright~(C)~2006-2010~by~Arne~Lorenz.~All~rights~reserved.GF$C$F,-%9Jane
tOre/rmmult_exteriorGF7F$F$F$%1pdegrevlex_blockGf*F$F$FhoF$C$F,-%:JanetOre/pdeg
revlex_blockGF7F$F$F$%9jnormal_form_evala_lc_lmGf*F$F$F)F$C$F,-%BJanetOre/jnorm
al_form_evala_lc_lmGF7F$F$F$%,jbinary_hasGf*F$F$FfpF$C$F,-%5JanetOre/jbinary_ha
sGF7F$F$F$%;simp_jnormal_form_Z_lm_oldGf*F$F$FhoF$C$F,-%DJanetOre/simp_jnormal_
form_Z_lm_oldGF7F$F$F$%6jnormal_form_Z_lm_oldGf*F$F$FhoF$C$F,-%?JanetOre/jnorma
l_form_Z_lm_oldGF7F$F$F$%8jnormal_form_lc_poly_lmGf*F$F$F)F$C$F,-%AJanetOre/jno
rmal_form_lc_poly_lmGF7F$F$F$%%rmsqGf*F$F$F]qF$C$F,-%.JanetOre/rmsqGF7F$F$F$%(c
heckIBGf*F$F$F)F$C$F,-%1JanetOre/checkIBGF7F$F$F$%,member_multGf*F$F$F)F$C$F,-%
5JanetOre/member_multGF7F$F$F$%1pairstoequationsGf*F$F$F;F$C$F,-%:JanetOre/pair
stoequationsGF7F$F$F$%4pnegdegrevlex_Z_POTGf*F$F$FhoF$C$F,-%=JanetOre/pnegdegre
vlex_Z_POTGF7F$F$F$%-JInvolReduceGf*F$F$FIF$C$F,-%6JanetOre/JInvolReduceGF7F$F$
F$%-jcriteria123Gf*F$F$FfpF$C$F,-%6JanetOre/jcriteria123GF7F$F$F$%7simp_jnormal
_form_Z_lmGf*F$F$FhoF$C$F,-%@JanetOre/simp_jnormal_form_Z_lmGF7F$F$F$%.pplexdiv
isionGf*F$F$FBF$C$F,-%7JanetOre/pplexdivisionGF7F$F$F$%(poltoopGf*F$F$F]qF$C$F,
-%1JanetOre/poltoopGF7F$F$F$%5pdegrevlex_deg_blockGf*F$F$FhoF$C$F,-%>JanetOre/p
degrevlex_deg_blockGF7F$F$F$%)procvarsGf*F$F$F)F$C$F,-%2JanetOre/procvarsGF7F$F
$F$%3pdegrevlex_deg_POTGf*F$F$FhoF$C$F,-%<JanetOre/pdegrevlex_deg_POTGF7F$F$F$%
4pnegdegrevlex_blockGf*F$F$FhoF$C$F,-%=JanetOre/pnegdegrevlex_blockGF7F$F$F$%;j
normal_form_evala_poly_lmGf*F$F$F)F$C$F,-%DJanetOre/jnormal_form_evala_poly_lmG
F7F$F$F$%5simp_invred_Z_nonnegGf*F$F$FIF$C$F,-%>JanetOre/simp_invred_Z_nonnegGF
7F$F$F$%-tupcoefflistGf*F$F$FgyF$C$F,-%6JanetOre/tupcoefflistGF7F$F$F$%,pmaxmin
_degGf*F$F$F;F$C$F,-%5JanetOre/pmaxmin_degGF7F$F$F$%>jnormal_form_evala_lc_poly
_lmGf*F$F$F)F$C$F,-%GJanetOre/jnormal_form_evala_lc_poly_lmGF7F$F$F$%0invred_ev
ala_lcGf*F$F$FIF$C$F,-%9JanetOre/invred_evala_lcGF7F$F$F$%1tupcoefflistmultGf*F
$F$F;F$C$F,-%:JanetOre/tupcoefflistmultGF7F$F$F$%/jbinary_insertGf*F$F$FIF$C$F,
-%8JanetOre/jbinary_insertGF7F$F$F$%*jmult_varGf*F$F$FIF$C$F,-%3JanetOre/jmult_
varGF7F$F$F$%.jjanet_stddivGf*F$F$FIF$C$F,-%7JanetOre/jjanet_stddivGF7F$F$F$%6j
janet_separ_exteriorGf*F$F$FIF$C$F,-%?JanetOre/jjanet_separ_exteriorGF7F$F$F$%/
pdegrevlex_degGf*F$F$FIF$C$F,-%8JanetOre/pdegrevlex_degGF7F$F$F$%(procopsGf*F$F
$F\vF$C$F,-%1JanetOre/procopsGF7F$F$F$%:jnormal_form_collect_polyGf*F$F$FIF$C$F
,-%CJanetOre/jnormal_form_collect_polyGF7F$F$F$%/pnegplex_Z_POTGf*F$F$FhoF$C$F,
-%8JanetOre/pnegplex_Z_POTGF7F$F$F$%8simp_jnormal_form_Z_absGf*F$F$FhoF$C$F,-%A
JanetOre/simp_jnormal_form_Z_absGF7F$F$F$%/invred_lc_polyGf*F$F$FIF$C$F,-%8Jane
tOre/invred_lc_polyGF7F$F$F$%8stdinterface_gettmpnameGf*F$F$F;F$C$F,-%AJanetOre
/stdinterface_gettmpnameGF7F$F$F$%3jupdate_T_exteriorGf*F$F$6#%joCopyright~(C)~
2000-2010~by~Arne~Lorenz~and~Daniel~Robertz.~All~rights~reserved.GF$C$F,-%<Jane
tOre/jupdate_T_exteriorGF7F$F$F$%;pnegdegrevlex_Z_entr_blockGf*F$F$FgyF$C$F,-%D
JanetOre/pnegdegrevlex_Z_entr_blockGF7F$F$F$%7block_ord_Z_entr_blockGf*F$F$FgyF
$C$F,-%@JanetOre/block_ord_Z_entr_blockGF7F$F$F$%+jets_mkmatGf*F$F$6#%[oCopyrig
ht~(C)~2000-2002~by~Mohamed~Barakat.~All~rights~reserved.GF$C$F,-%4JanetOre/jet
s_mkmatGF7F$F$F$%1onemult_exteriorGf*F$F$Ff\lF$C$F,-%:JanetOre/onemult_exterior
GF7F$F$F$%5invred_evala_lc_polyGf*F$F$FIF$C$F,-%>JanetOre/invred_evala_lc_polyG
F7F$F$F$%*cppJBasisGf*F$F$F)F$C$F,-%3JanetOre/cppJBasisGF7F$F$F$%5jnormal_form_
poly_lmGf*F$F$F)F$C$F,-%>JanetOre/jnormal_form_poly_lmGF7F$F$F$%=jnormal_form_c
ollect_poly_lmGf*F$F$F)F$C$F,-%FJanetOre/jnormal_form_collect_poly_lmGF7F$F$F$%
*procinputGf*F$F$F)F$C$F,-%3JanetOre/procinputGF7F$F$F$%.setupJ_T_ListGf*F$F$F]
qF$C$F,-%7JanetOre/setupJ_T_ListGF7F$F$F$%3jbinary_insert_posGf*F$F$FIF$C$F,-%<
JanetOre/jbinary_insert_posGF7F$F$F$%,checkIBfastGf*F$F$F)F$C$F,-%5JanetOre/che
ckIBfastGF7F$F$F$%0jjanet_divisionGf*F$F$FIF$C$F,-%9JanetOre/jjanet_divisionGF7
F$F$F$%3monomcoefflistmultGf*F$F$F;F$C$F,-%<JanetOre/monomcoefflistmultGF7F$F$F
$%/pnegplex_blockGf*F$F$FhoF$C$F,-%8JanetOre/pnegplex_blockGF7F$F$F$%.pnegdegre
vlexGf*F$F$FhoF$C$F,-%7JanetOre/pnegdegrevlexGF7F$F$F$%+JSyzModuleGf*F$F$F)F$C$
F,-%4JanetOre/JSyzModuleGF7F$F$F$%&pplexGf*F$F$FIF$C$F,-%/JanetOre/pplexGF7F$F$
F$%7invred_collect_lc_polyGf*F$F$FIF$C$F,-%@JanetOre/invred_collect_lc_polyGF7F
$F$F$%,jets_mklistGf*F$F$F\jlF$C$F,-%5JanetOre/jets_mklistGF7F$F$F$%+pnegplex_Z
Gf*F$F$FhoF$C$F,-%4JanetOre/pnegplex_ZGF7F$F$F$%9pnegdegrevlex_entr_blockGf*F$F
$FgyF$C$F,-%BJanetOre/pnegdegrevlex_entr_blockGF7F$F$F$%(pneglexGf*F$F$FhoF$C$F
,-%1JanetOre/pneglexGF7F$F$F$%0restoreJ_T_ListGf*F$F$FgyF$C$F,-%9JanetOre/resto
reJ_T_ListGF7F$F$F$%,jtransfer_TGf*F$F$F)F$C$F,-%5JanetOre/jtransfer_TGF7F$F$F$
%1jets_coeffmatrixGf*F$F$F_pF$C$F,-%:JanetOre/jets_coeffmatrixGF7F$F$F$%)pnegtd
egGf*F$F$FhoF$C$F,-%2JanetOre/pnegtdegGF7F$F$F$%+jets_grankGf*F$F$FeuF$C$F,-%4J
anetOre/jets_grankGF7F$F$F$%(JIBasisGf*F$F$FIF$C$F,-%1JanetOre/JIBasisGF7F$F$F$
%)pnegplexGf*F$F$F]wF$C$F,-%2JanetOre/pnegplexGF7F$F$F$%+pdegrevlexGf*F$F$FIF$C
$F,-%4JanetOre/pdegrevlexGF7F$F$F$%0invred_Z_nonnegGf*F$F$FIF$C$F,-%9JanetOre/i
nvred_Z_nonnegGF7F$F$F$%,jcriteria12Gf*F$F$FIF$C$F,-%5JanetOre/jcriteria12GF7F$
F$F$%/monomcoefflistGf*F$F$FgyF$C$F,-%8JanetOre/monomcoefflistGF7F$F$F$%/simp_p
rim_partGf*F$F$F)F$C$F,-%8JanetOre/simp_prim_partGF7F$F$F$%(jresdimGf*F$F$6#%[o
Copyright~(C)~2003-2010~by~Mohamed~Barakat.~All~rights~reserved.GF$C$F,-%1Janet
Ore/jresdimGF7F$F$F$%0dual_polynomialGf*F$F$FgyF$C$F,-%9JanetOre/dual_polynomia
lGF7F$F$F$%*pplex_POTGf*F$F$FIF$C$F,-%3JanetOre/pplex_POTGF7F$F$F$%4pnegplex_en
tr_blockGf*F$F$FgyF$C$F,-%=JanetOre/pnegplex_entr_blockGF7F$F$F$%-jnormal_formG
f*F$F$FIF$C$F,-%6JanetOre/jnormal_formGF7F$F$F$%1JIBasis_exteriorGf*F$F$6#%ipCo
pyright~(C)~2000-2010~by~Carlos~F.~Cid,~Arne~Lorenz~and~Daniel~Robertz.~All~rig
hts~reserved.GF$C$F,-%:JanetOre/JIBasis_exteriorGF7F$F$F$%.cancel_locvarGf*F$F$
F)F$C$F,-%7JanetOre/cancel_locvarGF7F$F$F$%-pdegrevlex_ZGf*F$F$FhoF$C$F,-%6Jane
tOre/pdegrevlex_ZGF7F$F$F$%6jnormal_form_simplifyGf*F$F$FIF$C$F,-%?JanetOre/jno
rmal_form_simplifyGF7F$F$F$%,setup_basisGf*F$F$FgyF$C$F,-%5JanetOre/setup_basis
GF7F$F$F$%:pdegrevlex_deg_entr_blockGf*F$F$FgyF$C$F,-%CJanetOre/pdegrevlex_deg_
entr_blockGF7F$F$F$%5pdegrevlex_deg_Z_POTGf*F$F$FhoF$C$F,-%>JanetOre/pdegrevlex
_deg_Z_POTGF7F$F$F$%,block_ord_ZGf*F$F$FhoF$C$F,-%5JanetOre/block_ord_ZGF7F$F$F
$%3jnormal_form_Z_absGf*F$F$FhoF$C$F,-%<JanetOre/jnormal_form_Z_absGF7F$F$F$%.c
ppJInvReduceGf*F$F$F)F$C$F,-%7JanetOre/cppJInvReduceGF7F$F$F$%4invred_collect_p
olyGf*F$F$FIF$C$F,-%=JanetOre/invred_collect_polyGF7F$F$F$%*lm_neglexGf*F$F$Fho
F$C$F,-%3JanetOre/lm_neglexGF7F$F$F$%1JBasisFastAssertGf*F$F$F)F$C$F,-%:JanetOr
e/JBasisFastAssertGF7F$F$F$%'invredGf*F$F$FIF$C$F,-%0JanetOre/invredGF7F$F$F$%1
pdegrevlex_deg_ZGf*F$F$FhoF$C$F,-%:JanetOre/pdegrevlex_deg_ZGF7F$F$F$%*invred_l
cGf*F$F$FIF$C$F,-%3JanetOre/invred_lcGF7F$F$F$%-invred_Z_absGf*F$F$FIF$C$F,-%6J
anetOre/invred_Z_absGF7F$F$F$%9jnormal_form_simplify_lcGf*F$F$FIF$C$F,-%BJanetO
re/jnormal_form_simplify_lcGF7F$F$F$%%pLCMGf*F$F$6#%inCopyright~(C)~2000-2002~b
y~Carlos~F.~Cid.~All~rights~reserved.GF$C$F,-%.JanetOre/pLCMGF7F$F$F$%*block_or
dGf*F$F$FhoF$C$F,-%3JanetOre/block_ordGF7F$F$F$%3jnormal_form_lc_lmGf*F$F$F)F$C
$F,-%<JanetOre/jnormal_form_lc_lmGF7F$F$F$%6pnegplex_Z_entr_blockGf*F$F$FgyF$C$
F,-%?JanetOre/pnegplex_Z_entr_blockGF7F$F$F$%3pplex_Z_entr_blockGf*F$F$FgyF$C$F
,-%<JanetOre/pplex_Z_entr_blockGF7F$F$F$%,jets_getbasGf*F$F$FeuF$C$F,-%5JanetOr
e/jets_getbasGF7F$F$F$%-pnegplex_POTGf*F$F$F]wF$C$F,-%6JanetOre/pnegplex_POTGF7
F$F$F$%5jnormal_form_collectGf*F$F$FIF$C$F,-%>JanetOre/jnormal_form_collectGF7F
$F$F$%,pplex_Z_POTGf*F$F$FhoF$C$F,-%5JanetOre/pplex_Z_POTGF7F$F$F$%6jnormal_for
m_evala_lmGf*F$F$F)F$C$F,-%?JanetOre/jnormal_form_evala_lmGF7F$F$F$%2jets_krone
ckermatGf*F$F$6#%fnCopyright~(C)~2003~by~Mohamed~Barakat.~All~rights~reserved.G
F$C$F,-%;JanetOre/jets_kroneckermatGF7F$F$F$%2pnegdegrevlex_POTGf*F$F$FhoF$C$F,
-%;JanetOre/pnegdegrevlex_POTGF7F$F$F$%*prim_partGf*F$F$F)F$C$F,-%3JanetOre/pri
m_partGF7F$F$F$%8jnormal_form_collect_lcGf*F$F$FIF$C$F,-%AJanetOre/jnormal_form
_collect_lcGF7F$F$F$%;jnormal_form_collect_lc_lmGf*F$F$F)F$C$F,-%DJanetOre/jnor
mal_form_collect_lc_lmGF7F$F$F$%0jnormal_form_lcGf*F$F$FIF$C$F,-%9JanetOre/jnor
mal_form_lcGF7F$F$F$%6jnormal_form_Z_nonnegGf*F$F$FhoF$C$F,-%?JanetOre/jnormal_
form_Z_nonnegGF7F$F$F$%8jnormal_form_collect_lmGf*F$F$F)F$C$F,-%AJanetOre/jnorm
al_form_collect_lmGF7F$F$F$%,pdegrevlex3Gf*F$F$FIF$C$F,-%5JanetOre/pdegrevlex3G
F7F$F$F$%7JFactorModuleBasisFastGf*F$F$6#%jnCopyright~(C)~2008-2010~by~Daniel~R
obertz.~All~rights~reserved.GF$C$F,-%@JanetOre/JFactorModuleBasisFastGF7F$F$F$%
1allmult_exteriorGf*F$F$Ff\lF$C$F,-%:JanetOre/allmult_exteriorGF7F$F$F$%8pdegre
vlex_Z_entr_blockGf*F$F$FgyF$C$F,-%AJanetOre/pdegrevlex_Z_entr_blockGF7F$F$F$%3
jnormal_form_evalaGf*F$F$FIF$C$F,-%<JanetOre/jnormal_form_evalaGF7F$F$F$%1pdegr
evlex_Z_POTGf*F$F$FhoF$C$F,-%:JanetOre/pdegrevlex_Z_POTGF7F$F$F$%/isMinimalBasi
sGf*F$F$F]wF$C$F,-%8JanetOre/isMinimalBasisGF7F$F$F$%/conv_divisibleGf*F$F$FIF$
C$F,-%8JanetOre/conv_divisibleGF7F$F$F$%2invred_collect_lcGf*F$F$FIF$C$F,-%;Jan
etOre/invred_collect_lcGF7F$F$F$%(pplex_ZGf*F$F$FhoF$C$F,-%1JanetOre/pplex_ZGF7
F$F$F$%)proccommGf*F$F$F]qF$C$F,-%2JanetOre/proccommGF7F$F$F$%.block_ord_POTGf*
F$F$FhoF$C$F,-%7JanetOre/block_ord_POTGF7F$F$F$%4jjanet_div_exteriorGf*F$F$F^fm
F$C$F,-%=JanetOre/jjanet_div_exteriorGF7F$F$F$%9jnormal_form_simplify_lmGf*F$F$
F)F$C$F,-%BJanetOre/jnormal_form_simplify_lmGF7F$F$F$%2invred_evala_polyGf*F$F$
FIF$C$F,-%;JanetOre/invred_evala_polyGF7F$F$F$%.proctermorderGf*F$F$F]wF$C$F,-%
7JanetOre/proctermorderGF7F$F$F$%'hasvarGf*F$F$FgyF$C$F,-%0JanetOre/hasvarGF7F$
F$F$%.autoreductionGf*F$F$F]wF$C$F,-%7JanetOre/autoreductionGF7F$F$F$%+lm_negtd
egGf*F$F$FhoF$C$F,-%4JanetOre/lm_negtdegGF7F$F$F$%0jnormal_form_lmGf*F$F$F)F$C$
F,-%9JanetOre/jnormal_form_lmGF7F$F$F$%/jnormal_form_ZGf*F$F$FhoF$C$F,-%8JanetO
re/jnormal_form_ZGF7F$F$F$%8jnormal_form_evala_polyGf*F$F$FIF$C$F,-%AJanetOre/j
normal_form_evala_polyGF7F$F$F$%)findconeGf*F$F$F;F$C$F,-%2JanetOre/findconeGF7
F$F$F$%0nonmult_prolongGf*F$F$FfpF$C$F,-%9JanetOre/nonmult_prolongGF7F$F$F$%6pd
egrevlex_entr_blockGf*F$F$FgyF$C$F,-%?JanetOre/pdegrevlex_entr_blockGF7F$F$F$%5
jnormal_form_lc_polyGf*F$F$FIF$C$F,-%>JanetOre/jnormal_form_lc_polyGF7F$F$F$%4s
imp_jnormal_form_ZGf*F$F$FhoF$C$F,-%=JanetOre/simp_jnormal_form_ZGF7F$F$F$%-jet
s_diagmatGf*F$F$F^_nF$C$F,-%6JanetOre/jets_diagmatGF7F$F$F$%/pdegrevlex_POTGf*F
$F$FhoF$C$F,-%8JanetOre/pdegrevlex_POTGF7F$F$F$%5block_ord_entr_blockGf*F$F$Fgy
F$C$F,-%>JanetOre/block_ord_entr_blockGF7F$F$F$F$
M7R0
IAJanetOre/pdegrevlex_Z_entr_blockf*6$%"aG%"bG6%%"iG%$tdaG%$tdbG6#%jnCopyright~
(C)~2006-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C)@&2&%-_jentrblocksG6#
&9$6#""#&F26#&9%F6-%'RETURNG6#%&falseG2F8F1-F=6#%%trueG>8%-%(convertG6$&F56#"""
%"+G>8&-FG6$&F;FJFL@'2FEFNFA2FNFEF<?(8$-%%nopsG6#FI!""FKFC@&2&FQ6#FV&FIFhnFA2Fi
nFgnF<@&2-%$absG6#&F;6#""$-F^o6#&F5FaoF<2FcoF]oFA@$2F4F:F<FCF-F-F-F-
M7R0
I<JanetOre/pdegrevlex_deg_POTf*6$%"aG%"bG6&%"iG%"nG%$tdaG%$tdbG6#%jnCopyright~(
C)~2004-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C'@&2&9$6#""#&9%F4-%'RET
URNG6#%&falseG2F6F2-F96#%%trueG>8%-%%nopsG6#&F36#""">8&-%$addG6$*&&FE6#8$FG&%*_
jovardegGFOFG/FP;FGFA>8'-FK6$*&&&F7FFFOFGFQFGFS@'2FIFVF?2FVFIF;C$?(FPFA!""FGF?@
&2FZFNF=2FNFZF8F?F.F.F.F.
M7R0
I2JanetOre/jleadmonf*6%%"pG%%seqvG%$cmpG6'%"iG%"jG%"nG%"CG%"LG6#%\pCopyright~(C
)~2000-2010~by~Carlos~F.~Cid~and~Daniel~Robertz.~All~rights~reserved.G6"C)>8'7#
-%'coeffsG6%-%(collectG6%9$9%%,distributedGF<.8(>8&-%%nopsG6#F3@$/FA"""-%'RETUR
NG6$&F36#FGF?>F?7#F?>8%FG?(8$""#FGFA%%trueG@$-9&6$&F?6#FP&F?6#FR>FPFR-FI6$&F3FZ
FYF0F0F0F0
M7R0
I9JanetOre/rmmult_exteriorf*6#%'p_listG6)%'lstRetG%(lstMultG%(tmp_seqG%"pG%"aG%
"iG%"jG6#%gnCopyright~(C)~2006-2010~by~Arne~Lorenz.~All~rights~reserved.G6"C%>8
$%%NULLG?&8'9$%%trueG@%-%(convertG6$-%$mapG6$f*6#F+F06$%)operatorG%&arrowGF0@%-
%'memberG6$F7<$""!%)infinityG%&falseGF8F0F0F0&F66#""#%#orGC&>8%-F>6$f*FAF0FBF0@
%FFF7FJF0F0F0FM>8&7$&F66#"""FS?(8)FgnFgn-%%nopsG6#FMF8@$/-FG6$&F66$FOFinFIFL>FY
6$FY-%$seqG6$-%#opG6#-F>6$f*FAF0FBF07$7$-%'subsopG6$/T%T#&F76$FgnFgn&F76$FgnFOT
'F0F06(F-8*F,FinF(FS7#FY/F\q;FgnFao>F36$F3FY>F36$F3F67#F3F0F0F0F0
M7R0
I9JanetOre/jnormal_form_lcf*6)%"fG%"FG%%seqvG%(mulprocG%'lmprocG%'ppprocG%(loc_
varG63%"aG%"hG%"iG%"kG%"rG%#lmG%$divG%'n_entrG%*zero_listG%.rhs_zero_listG%#lvG
%#nlG%#nvG%"HG%"eG%#meG%#hiG6#%\pCopyright~(C)~2000-2010~by~Carlos~F.~Cid~and~D
aniel~Robertz.~All~rights~reserved.G6"C,>%*_jonnformG,&FC"""FEFE>8%9$>8+-%%nops
G6#&FG6#FE@$09*7"C'>8.<#-%$seqG6$&9&6#&FR6#8&/Fjn;FE-FL6#FR>8/-FL6#FV>80-%'remo
veG6%%$hasGFfnFV>81FS>FG7$-%7JanetOre/cancel_locvarG6%FNFfnFR-F^p6%&FG6#""#FfnF
R>8,7#-%"$G6$""!FJ>8-7#-Fip6$F[q-FL6#Fbp>8(7$FfpF]q>8)-9(FM?(F@FEFEF@0&Fgq6$Fdp
FEF[qC(>FjnFE>8*%&falseG@$FQ>82,&-%$maxG6#-FY6$-%'degreeG6$&FN6#8'FV/Fas;FEFJFE
-%$addG6$&&Fgq6$FEFE6#&FRF`s/Fas;FEF`o!""?(F@FEFEF@31Fjn-FL6#9%4Far@%-%5JanetOr
e/pinv_divideG6%&Fdt6$Fjn""$&Fdt6$Fjn""&&FgqFOC%>%)_joreducG,&FcuFEFEFE@%FQC,>8
3,&-Fhr6#-FY6$-F]s6$&&Fdt6%FjnFEFEF`sFVFbsFE-Fes6$&&Fdt6%FjnF\uFEFjsF\tF^t>84F[
q>Fas-FL6#Fjo?(F@FEFEF@32F[qFhu2F[qFasC$@$331&&FjoF`s6#F\uFhu/&&&FgwFcpFOFcp&F`
uFcp-%8JanetOre/conv_divisibleG6$F[xF`uC$>FivFas>FhuFfw>Fas,&FasFEF^tFE@$3F_w0&
FdqFOFfp[@$2FerFhuC$>Fas-9)6%FNFfn7$Fbp&&FgqFcpFO>Fjo7$-%#opGF\w7%7$&FasFO&&Fas
FcpFO7$F`u-%'subsopG6$/FE&F]zFcpFdyFer@%/FivF[q>FG-%'expandG6#,&*&&Fdt6%Fjn""'F
EFEFGFEFE7$,$**F\rFE&Fgq6$FdpFdpFE&Fdt6%FjnF^[lFdpF^tFavFEF^t,$**F\rFEFb[lFEFd[
lF^t&Fdt6%FjnFEFdpFEF^tFE>FG-Fhz6#,&*&&&&&Fjo6#FivFcpFcpFOFEFGFEFE7$,$**F\rFEFb
[lFE&F`\lFcpF^t&&Fb\lFOFOFEF^t,$**F\rFEFb[lFEFg\lF^t&Fi\lFcpFEF^tFE>FG-F`y6%FNF
fnFbp>FGF\p@$0%0JanetOre/characGF[q>FG-%$modG6$FGFc]l@%/Fc]lF[qC$>Fas-%'normalG
6#*(F\rFEFb[lFEFd[lF^t>FG7$-F]^l6#,&-%$mapG6$f*6#F-F@6$%)operatorG%&arrowGF@*&&
T$6%T%F^[lFEFEFHFEF@F@6&F&FdtF/FjnFNFE-Ff^l6$f*Fi^lF@Fj^lF@-T&6$T#FHF@F@6&F0Fas
F(9'FavF^t-F]^l6#,&-Ff^l6$f*Fi^lF@Fj^lF@F]_lF@F@Fb_lFbpFE-Ff^l6$f*Fi^lF@Fj^lF@F
f_lF@F@Fj_lFh[lF^tC$>Fas-Ff]l6$-%'NormalGF^^lFc]l>FG7$-Ff]l6$-Fj`l6#,&-Ff^l6$f*
Fi^lF@Fj^lF@F]_lF@F@Fb_lFNFE-Ff^l6$f*Fi^lF@Fj^lF@Ff_lF@F@Fj_lFavF^tFc]l-Ff]l6$-
Fj`l6#,&-Ff^l6$f*Fi^lF@Fj^lF@F]_lF@F@Fb_lFbpFE-Ff^l6$f*Fi^lF@Fj^lF@Ff_lF@F@Fj_l
Fh[lF^tFc]l>Far%%trueG>Fjn,&FjnFEFEFE@%Fet@%Fi]lC$>Fdq7$-F`z6$/&Fgq6$FEFdp-F]^l
6#,&&Fix6#F_clFE*&F\rFEFb[lFEFEFix&FdqFcp>FG7$-F`z6$/F_cl-F]^l6#,&&FNFeclFEFfcl
F^tFNFbpC$>Fdq7$-F`z6$/F_cl-Ff]l6$-Fj`lFbclFc]lFixFgcl>FG7$-F`z6$/F_cl-Ff]l6$-F
j`lF^dlFc]lFNFbp@%Fb]l>Fdq-Ff]l6$*&F\[lFEFdqFEFc]l>FdqFfel>FgqFhq@'3/FixFfp0Fbp
F]qC%>Fbp&-F`y6%FbpFfnFSFO@$3F\fl4-%5JanetOre/member_multG6%Fbp%&J_HOMGFfn>Fhfl
7$-Fhy6#FhflFbp7$FixF]qF[fl7$FfpFbpC$@$FQ>Fix-F^p6%FixFfnFR-F`y6%FixFfnFbpF@6%F
hflFcuFCF@F@
M7R0
I2JanetOre/applypolf*6(%$polG%%exprG%(appops1G%(appops2G%*appprocs1G%*appprocs2
G6'%"jG%"rG%$conG%%ops1G%%ops2G6#%jnCopyright~(C)~2007-2010~by~Daniel~Robertz.~
All~rights~reserved.G6"@--%%typeG6$9$%"^G@%-F66$-%#opG6$""#F8%'posintGC%>8%-F"6
(-F>6$"""F89%9&9'9(9)?(8$F@FIF=%%trueG>FD-F"6(FGFDFKFLFMFNFD*&F8FIFJFI-F66$F8%"
*GC*>8&FI>8'7">8(Fhn?&FPF8FQ@'-%$hasG6$FPFK>Fgn7$FP-F>6#Fgn-F^o6$FPFL>Fjn7$FP-F
>6#Fjn>Fen*&FenFIFPFI>FDFJ?&FPFgnFQ>FD-F"6(FPFDFKFLFMFN?&FPFjnFQ>FDF_p*&FenFIFD
FI3-F66$F8%%nameG-%'memberG6%F8FK.FP-&FM6#FP6#FJ3Fep-Fip6%F8FLF[q-&FNF^qF_q5-F6
6$F8%)rationalGFepFU-%$mapG6$f*6#%"iGF3F3F3@+F5@%F;C%>T#-F"6(FGT&T(T*T,T.?(T/F@
FIF=FQ>Fcr-F"6(FGFcrFgrFhrFirFjrFcr*&F8FIFfrFIFVC*>T1FI>T3Fhn>T5Fhn?&F\sF8FQ@'-
F^o6$F\sFgr>Fes7$F\s-F>6#Fes-F^o6$F\sFhr>Fgs7$F\s-F>6#Fgs>Fcs*&FcsFIF\sFI>FcrFf
r?&F\sFesFQ>Fcr-F"6(F\sFcrFgrFhrFirFjr?&F\sFgsFQ>FcrF[u*&FcsFIFcrFI3Fep-Fip6%F8
Fgr.F\s-&Fir6#F\s6#Ffr3Fep-Fip6%F8FhrFcu-&FjrFfuFguF`sF3F366F-FDF&FJF'FKF(FLF)F
MF*FNF,FPF.FenF/FgnF0FjnF8F3F3F3F3
M7R0
I8JanetOre/invred_collectf*6*%"fG%"TG%'no_rhsG%.return_coeffsG%%seqvG%(mulprocG
%'lmprocG%(loc_varG68%"aG%"cG%"gG%"hG%#h2G%"iG%"kG%#lgG%#lmG%"nG%"qG%"rG%$divG%
'n_entrG%(termo_hG%*zero_listG%#lvG%#nlG%"HG%"eG%#meG%#hiG6#%\pCopyright~(C)~20
00-2010~by~Carlos~F.~Cid~and~Daniel~Robertz.~All~rights~reserved.G6"C0>81-%%nop
sG6#&9$6#""">837#-%"$G6$""!FI>8'FM@$49&>8(&FN6#""#@$09+7"C'>84<#-%$seqG6$&9(6#&
F^o6#8)/F\p;FP-FK6#F^o>85-FK6#Fbo>86F_o>FY-%7JanetOre/cancel_locvarG6%FYFhoF^o@
$Fen>Fhn-Fip6%FhnFhoF^o>8--FK6#9%>8/FR>8%7#-FU6$FWF`q>8.FP>8,-9*6#FY?(FFFPFPFF0
&F^r6$F[oFPFWC)>F\pFP>80%&falseG>82*&FdrFP&F^r6$F[oF[oFP@$F]o>87,&-%$maxG6#-Feo
6$-%'degreeG6$&FY6#8*Fbo/F^t;FPFIFP-%$addG6$&&F^r6$FPFP6#&F^oF]t/F^t;FPFbp!""?(
FFFPFPFF31F\pF`q4Fir@%-%5JanetOre/pinv_divideG6%&Fcq6$F\p""$&Fcq6$F\p""&&F^rFOC
$@%F]oC,>88,&-Fes6#-Feo6$-Fjs6$&&Fcq6%F\pFPFPF]tFboF_tFP-Fbt6$&&Fcq6%F\pFfuFPFg
tFitF[u>89FW>F^tFP?(FFFPFPFF32FWF_v1F^t-FK6#FfpC$@$332&&FfpF]t6#FfuF_v/&&&F^xFj
nFOFjn&FjuFjn-%8JanetOre/conv_divisibleG6$FbxFjuC$>F`wF^t>F_vF]x>F^t,&F^tFPFPFP
@$3Fdw0FeqFR[@$2FbsF_v>Ffp7$-%#opGFgw7%7$FYFhnF^rFbs@%/F`wFWC$>FY-%)simplifyG6#
,&-%$mapG6$f*6#F.FF6$%)operatorG%&arrowGFF*&&T$6%T%""'FPFPFNFPFFFF6&F&FcqF3F\pF
YFP-Fbz6$f*FezFFFfzFF*(T#FP&T&6%T'F^[lF[oF[uFNFPFFFF6(F<F\sF&FcqF3F\pFhvF[u@$Fe
n>Fhn-F^z6#,&-Fbz6$f*FezFFFfzFFFizFFFFF_[lFhnFP-Fbz6$f*FezFFFfzFFFc[lFFFFFi[l&F
cq6%F\pFPF[oF[uC$>FY-F^z6#,&-Fbz6$f*FezFFFfzFF*&&&&&Fd[l6#F][lFjnFjnFOFPFNFPFFF
F6&F@FfpFCF`wFYFP-Fbz6$f*FezFFFfzFF*(Fd[lFP&&&&F][l6#Fh[lFjnFjnFjnF[uFNFPFFFF6(
F<F\sF@FfpFCF`w&&&Ffp6#F`wFOFOF[u@$Fen>Fhn-F^z6#,&-Fbz6$f*FezFFFfzFFF_]lFFFFFe]
lFhnFP-Fbz6$f*FezFFFfzFFFi]lFFFFF_^l&Fa^lFjnF[u>FYFhp@$Fen>FhnF]q@$0%0JanetOre/
characGFWC$>FY-%$modG6$FYFe_l@$Fen>Fhn-Fi_l6$FhnFe_l@%/Fe_lFWC'>F^t-%'normalG6#
*(FdrFPF^sFP&Fcq6%F\pF^[lF[oF[u>8&-%(collectG6%-Fbz6$f*FezFFFfzFF-Ff[l6$Fd[lFNF
FFF6&F4F^tF*9)FhvFho%,distributedG>8+-F`r6#Fj`l>FY-F\al6%-Fd`l6#,&-Fbz6$f*FezFF
FfzFF*(&Fd[lFerFP&F][lFerF[uFNFPFFFF6&F5FgalF6F^rFYFPFj`lF[uFhoFeal@$FenC$>Fj`l
-F\al6%-Fbz6$f*FezFFFfzFFFaalFFFFFcalFe\lFhoFeal>Fhn-F\al6%-Fd`l6#,&-Fbz6$f*Fez
FFFfzFFFcblFFFFFfblFhnFPFj`lF[uFhoFealC'>F^t-Fi_l6$-%'NormalGFe`lFe_l>Fj`l-Fi_l
6$-F\al6%-Fbz6$f*FezFFFfzFFFaalFFFFFcalFhvFhoFealFe_l>FgalFhal>FY-F\al6%-Fi_l6$
-F]dl6#,&-Fbz6$f*FezFFFfzFFFcblFFFFFfblFYFPFj`lF[uFe_lFhoFeal@$FenC$>Fj`l-F\al6
%-Fbz6$f*FezFFFfzFFFaalFFFFFcalFe\lFhoFeal>Fhn-F\al6%-Fi_l6$-F]dl6#,&-Fbz6$f*Fe
zFFFfzFFFcblFFFFFfblFhnFPFj`lF[uFe_lFhoFeal>Fir%%trueG>F\p,&F\pFPFPFP@%F_u@%F``
lC$>Feq-%'subsopG6$/&F^r6$FPF[o-F\al6%,&&Feq6#FaglFPF\sFPFhoFealFeq>FY-F^gl6$/F
agl-F\al6%,&&FYFgglFPF\sF[uFhoFealFYC$>Feq-Fi_l6$F]glFe_l>FY-Fi_l6$FiglFe_lC%@%
F``l>Feq-F\al6%-Fd`l6#-Fbz6$f*FezFFFfzFFFcblFFFFFfblFeqFhoFeal>Feq-F\al6%-Fi_l6
$-F]dl6#-Fbz6$f*FezFFFfzFFFcblFFFFFfblFeqFe_lFhoFeal>F\r*(F\rFP&FgalFerFPFdrF[u
@$9'@%F``l>Fgq-F^gl6$/F\p,&&FgqF[pFP*(F\sFPF\rF[uFg`lF[uFPFgq>Fgq-Fi_l6$FbjlFe_
l>F^rF_r@$3F_y0F\rFP@%F``l>Feq-Fd`l6#*&FeqFPF\rF[u>Feq-Fi_l6$-F]dlFb[mFe_l@$3Fe
nF^[m@%F``l>Fhn-Fd`l6#*&FhnFPF\rF[u>Fhn-Fi_l6$-F]dlF]\mFe_l7$7$FeqFhnFgqFFFFFFF
F
M7R0
I;JanetOre/remove_whitespacef*6#%"SG6$%"iG%"sG6#%jnCopyright~(C)~2000-2010~by~D
aniel~Robertz.~All~rights~reserved.G6"C&>8%9$>8$"""?(F+F2F2F+1F1-%'lengthG6#F.@
%55/&F.6#F1Q"~F+/F<Q"|+F+/F<Q"|*F+>F.-%$catG6$&F.6#;F2,&F1F2!""F2&F.6#;,&F1F2F2
F2FK>F1FO-%'RETURNGF7F+F+F+F+
M7R0
I6JanetOre/JSubmoduleHPf*6"6;%"bG%"dG%"iG%"jG%"lG%"nG%"pG%"sG%&n_mulG%,given_ba
sisG%&m_ordG%'n_entrG%"FG%%varsG%$varG%$opsG%2tmp_J_T_List_dataG%%nvarG%(var_or
dG%'vt_degG%)entr_posG%%seqvG%,force_evalaG%'lmprocG%$resG6#%jnCopyright~(C)~20
07-2010~by~Daniel~Robertz.~All~rights~reserved.GF$C.@$4%2JanetOre/ratcoeffG-%&E
RRORG6#%fnnot~implemented~yet~for~involutive~bases~over~the~integers.G>8+%%NULL
G>83FK>8:%&falseG>8.""%@%519#"""32FXFW5555-%%typeG6$&9"6#""#%)equationG-Fjn6$F\
o%(numericG-Fjn6$F\o-%%listG6#%(integerG-Fjn6$F\o%%nameG3-Fjn6$F\oFgo5-%(hastyp
eG6$F\o%)functionG-Fbp6$F\o%*procedureGC$>8-FP>8'FXC$>Fjp%%trueG>F\q""$?(8&F\qF
XFWF_q@--Fjn6$&F]o6#FcqFio@%Fjp>FRFgq@%/FJFK>FJFgq-FF6#%Zcannot~determine~which
~indeterminate~or~value~to~plug~in.G-Fjn6$FgqFgo@'/Fgq7"F$45-Fjn6$FgqFfo-Fjn6$F
gq-Fgo6#Fgo>FMFgq>FRFgq-Fjn6$FgqFco@%F\r>FJFgqF^r3-Fjn6$FgqF`o/-%#opG6$FXFgqQ$v
arF$@%F\r>FJ-Fis6$F_oFgqF^r-Fjn6$FgqF\p@%F\r>FJFgqF^r-FF6#%0invalid~option.G@$F
\r>FJ.FJ@%FjpC4>80-%3JanetOre/procinputG6#&F]o6#FX>8/&F]uFbu>FO5FO&F]u6#""&>847
3%)J_T_ListG%*jnumber_tG%)JTab_VarG%'_jnvarG%'_jpvarG%)_jvardegG%)_jtupdegG%-_j
entrblocksG%&J_HOMG%*_jpno_rhsG%1_jpforce_collectG%/_jpforce_evalaG%*_jinv_denG
%._JBOre_factorG%6_JBOre_factor_multvarG%+_JBOre_varG%-_JBOre_compaG>81-%2Janet
Ore/procvarsG6$F\oFdu>86&F`wF^o>87&F`w6#Faq>88&F`w6#""'>82&F`wFbu>897#-%$seqG6$
-%$catG6$%#_xGFcq/Fcq;FX-%%nopsG6#Fax>Few-%%subsG6$7#-Fgx6$/&FaxFhq&FdxFhqF]yFe
w@$30FewFer/FRFS>FR7#-%"$G6$FS-F`y6#Few@$0FMFK-%1JanetOre/procopsG6%FaxFMFdx>8(
-%1JanetOre/procordG6*FRFaxFewFiw&F`w6#FSFdxF\x4FO@$&F][lFb[l>F\xFer@$/&Fhw6#;,
&F_yFXFXFX,&F_yFXFduFX7#-Fcz6$""!Fdu>FhwFa\l>8;-%&parseG6#-Fjx6/Q<g->`JanetOre/
j_lead_mon`(g,F$-%(convertG6$Fdu%'stringGQ",F$-F\]l6$FdxF^]lF_]l-F\]l6$&F][lFbu
F^]lF_]l-F\]l6$F\xF^]lF_]l-F\]l6$&F][lFiuF^]lF_]l-F\]l6$FhwF^]lQ")F$-%7JanetOre
/setupJ_T_ListG6*-%(collectG6%&F]uFb[lFax%,distributedGFdu&F]uF^oFd\l&F][lFjw&F
`wFiuFax&F]uFjw@$4-%)assignedG6#F^v-FF6#%Lmissing~involutive~basis;~run~JBasis~
first.G@%/&F^v6%FXF_xFXFa\l>8<Fa\l@%%3JanetOre/janetlikeGC%>Ff_lFa\l>8)-F`y6#&F
^v6%FXFaqFX?&FcqF^vF_qC$>8,-%*numboccurG6$&FcqFiu%)infinityG@%/Fd`lF\`l>Ff_l,&F
f_lFX-%)binomialG6$,(FJFX-F\]l6$&Fcq6$FaqFX%"+G!""Fd`lFXFd`lFXC(>8%Fbal>8$-Fdy6
$/Fi`lFa\lFh`l>8*7#-Fcz6$Fa\lF\`l>Ff_l,&Ff_lFX-F_al6$,(FJFXFjalFgalFd`lFXFd`lFX
>Fabl-%6JanetOre/nextmonomialG6$FablF\bl?(F$FXFXF$0FablFbblC$>Ff_l,&Ff_lFX-F_al
6$,*FJFXFjalFgal-F\]l6$FablFfalFgalFd`lFXFd`lFX>FablF[cl>Ff_l-%$addG6$-F_al6$,(
-Ff`l6$&F^v6$FcqFjuFi`lFXFJFX-F\]l6$&F^v6%FcqFaqFXFfalFgalF`dl/Fcq;FX-F`yF]_l@$
Fjp-%9JanetOre/restoreJ_T_ListG6#F\v-%'expandG6#Ff_lF$F$F$F$
M7R0
I@JanetOre/JSubmoduleMultiplicityf*6"6#%#hpG6#%^pCopyright~(C)~2007-2010~by~Tho
mas~Baechler~and~Daniel~Robertz.~All~rights~reserved.GF$C$>8$-%6JanetOre/JSubmo
duleHPG6#9"*&-%*factorialG6#-%'degreeG6#F+"""-%'lcoeffGF6F7F$F$F$F$
M7R0
I6JanetOre/JGroebnerBasf*6#%"LG6&%"iG%"jG%#IBG%"rG6#%jnCopyright~(C)~2000-2010~
by~Daniel~Robertz.~All~rights~reserved.G6"C&>8&-%1JanetOre/JIBasisG6#9">8'7"?(8
$"""F:-%%nopsG6#%)J_T_ListG%%trueG?(8%F:F:F;F?@$30F9FA-%9JanetOre/nonmult_prolo
ngG6%&F>6$F9""$&F>6$F9""&&F>6$FAFJ>F67$-%#opG6#F6FA-%'subsopG6$-%$seqG6$/&F66#F
9%%NULLG/F9;F:-F<FTF0F-F-F-F-
M7R0
I8JanetOre/JResolutionDimf*6$%"LG'%%varsG%%listG6)%"iG%"jG%"dG%#d1G%#trG%#MVG%$
opsG6#%jnCopyright~(C)~2003-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C)>8
*%%NULLG>8(""!@&2""#9#@%-%%typeG6$&9"6#""$F(>F6FC>F9FC2FFF>C$>F6FC>F9&FD6#""%>8
'-%%nopsG6#-%0JanetOre/JBasisG6&9$9%F6F=>8&7$FQ-FS6#&%)J_T_ListG6%"""F\oF\o@$5/
F9F:2F\oF9C%>8)-%$mapG6$f*6#%"aGF36$%)operatorG%&arrowGF3,&-FS6#&FX6#""&F\o-%*n
umboccurG6$F`p%)infinityG!""F3F3F3Fjn>FQ-%$addG6$&Fco6#8$/F^q;F\oFQ@$2F:FQC%>Fe
n7$FQ-%#opG6#Fen?(F^qF\oF\o-FS6#Fco%%trueG@$2F:F\q>F\q,&F\qF\oFgpF\o?(F3F\oF\oF
33Fbq5F_o2,&-FSFhqF\oFgpF\oF9C%>FQ-Fjp6$-Fjp6$8%/F]s;F\oF\q/F^q;F\oFjq?(F^qF\oF
\oFjqF\r@$F^r>F\qF`r@$Fbq>FenFeq-%'RETURNGFhqF3F3F3F3
M7R0
I1JanetOre/JDerModf*6$%#_RG'%$varG%%listG6'%"RG%#RlG%"MG%&alphaG%$opsG6#%[oCopy
right~(C)~2003-2010~by~Mohamed~Barakat.~All~rights~reserved.G6"C(>8$-%4JanetOre
/jets_mkmatG6#-%$mapG6$f*6#%"aGF16$%)operatorG%&arrowGF1&9$6#"""F1F1F1&-%3Janet
Ore/procinputG6#FB6#""%>8%-F96$%#opG-%(convertG6$F4%)listlistG@%2""#9#>8(&9"6#"
"$>FY%%NULLG>8&-%4JanetOre/JDirectSumG6#-%"$G6$F4-%%nopsG6#9%>8'-%'matrixG6#-F9
6$f*F<F1F>F1-F96$f*6#%"bGF1F>F1-%%diffG6$FBT$F1F16$F=FBT#F1F16$F+FLFeo-%1JanetO
re/JKernelG6(F[oFgo-F]o6#-F`o6$F4-Fco6#FLFeoFYQ#GTF1F1F1F1F1
M7R0
I;homalg/JanetOre/Involutionf*6$%"aG%$varG6+%"iG%"jG%"pG%"sG%"vG%#vlG%#vrG%,dua
lmulprocG%*only_diffG6#%joCopyright~(C)~2004-2010~by~Arne~Lorenz~and~Daniel~Rob
ertz.~All~rights~reserved.G6"C%>8(-%5homalg/NormalizeRingG6$9%%)JanetOreG>F6-%'
subsopG6$/""#%%NULLGF6@%32"""-%%nopsG6#F60&F66#FA7"C+>8*-%1JanetOre/procopsG6%&
F66#FFFKFT>8+&FP6#""'>FP&FPFU>8)-%'removeG6%%0JanetOre/hasvarGFTFP>8&FB>8'FM>8,
-%&evalbG6#/-Fjn6$f*6#F)F36$%)operatorG%&arrowGF3-Fdo6#3-%%typeG6$9$%)functionG
/-%(convertG6$-%#opG6$""!Fdp%'stringGQ%weylF3F3F3F3FKFM?(8%FFFF-FH6#FK%%trueG@'
-Fbp6$&FK6#FaqFep@,3/-Fhp6$-F[q6$F]qFhqF^qF_qFbo>F`o7$-F[q6#F`o/-F[q6$FFFhq,$Ff
r!""/F]rQ)exteriorF3C$@$52-FH6#FhqFA0F`s-FH6#<#-F[qFas-%&ERRORG6#%\pexpecting~'
exterior(dx1,dx2,...)'~with~appropriate~distinct~symbols~dx1,~dx2~etc.G@%/F^oFB
>F^o-%&parseG6#-%$catG6%QLa->`homalg/JanetOre/involution_exterior`(a,F3-Fhp6$Fe
sF^qQ#);F3>F^o-%"@G6$-%%evalG6#F^oF^t/F]rQ&shiftF3>F`o7$Fcr/-F[q6$FAFhq,$FduFir
/F]rQ&eulerF3-Fhs6#%Mno~involution~is~defined~for~the~given~ring.G0F]rF_q-Fhs6$
%6unknown~operator~typeGFfr-Fbp6$Fhq%)equationGFiu-Fhs6#%@operator~list~has~wro
ng~format.G@'0F`oFM@%0F^oFB-Fhs6#%jnup~to~now~'exterior'~cannot~be~combined~wit
h~'weyl'~or~'shift'.G-&%'linalgG6#%*transposeG6#-%%subsG6$F`o-%$mapG6'%9JanetOr
e/dual_polynomialG-Fhp6$Fdp%'matrixGFhnFPFWFiv-Fgw6$F^o-F^w6#FjwF_xF_xF3F3F3F3
M7R0
I;JanetOre/simp_invred_Z_absf*6*%"fG%"TG%'no_rhsG%.return_coeffsG%%seqvG%(mulpr
ocG%'lmprocG%(loc_varG65%"aG%"cG%"eG%"hG%#h2G%"iG%"jG%"kG%"lG%#lmG%"nG%"rG%$div
G%'n_entrG%(termo_hG%*zero_listG%#lvG%#nlG%"HG6#%\pCopyright~(C)~2000-2010~by~C
arlos~F.~Cid~and~Daniel~Robertz.~All~rights~reserved.G6"C,>81-%%nopsG6#&9$6#"""
>837#-%"$G6$""!FF>8'-%'expandGFI@$49&>8(&FK6#""#>8.-FH6#9%>8/FO>8%7#-FR6$FTF\o>
8--9*6#FV?(FCFMFMFC0&Fho6$FjnFMFTC*>8)FM>80%&falseG>8*&Fho6$FMFjn>82-%'subsopG6
$/Fgp&Fho6$FjnFjnFO?(FCFMFMFC31FbpF\o4FdpC$@$-%5JanetOre/pinv_divideG6%&F_o6$Fb
p""$&F_o6$Fbp""&&FhoFLC$>8,-%%iquoG6$F^p&F_o6%Fbp""'FM@&0FdrFTC%>FV-%)simplifyG
6#,&FVFM-%$mapG6$f*6#F.FC6$%)operatorG%&arrowGFC-T,6$*(T#FM&T%FaqFM&T(6%T)FjrFj
n!""FKFCFC6,F6FdrF7FhoF&F_oF3FbpF*9)&F_o6%FbpFMFMFft@$FZ>Fgn-F`s6#,&FgnFM-Fds6$
f*FgsFCFhsFCF[tFCFCFgt&F_o6%FbpFMFjnFft>Fdp%%trueG52-%$absG6#-%&roundG6#,$Fhr#F
MFjn-Fju6#F^p3/FavFiu/-%%signGFbvFftC&>Fdr*&FfvFM-Fgv6#FhrFM>FV-F`s6#,&FVFM-Fds
6$f*FgsFCFhsFCF[tFCFCFgtFitFft@$FZ>Fgn-F`s6#,&FgnFM-Fds6$f*FgsFCFhsFCF[tFCFCFgt
FcuFft>FdpFfu>Fbp,&FbpFMFMFM@%FeqC$>Fao-F`s6#,&FaoFM*&F^pFMF[qFMFM>FV-F`s6#,&FV
FMFexFft@$9'C$>Fbp,&FbpFMFftFM>Fco-F]q6$/Fbp,&&Fco6#FbpFM*(FdrFMF`qFM&F_o6%FbpF
jrFjnFftFMFco>FV-FXF[p>FhoFio7$7$FaoFgnFcoFCFCFCFC
M7R0
I*JanetOreA=6"%&falseGE\[le[l%<jnormal_form_simplify_lc_lmGf*F$F$6#%jnCopyright
~(C)~2000-2010~by~Daniel~Robertz.~All~rights~reserved.GF$C$30%5JanetOre/initial
izedG.%%trueG0-%.JanetOre/initGF$""!-%EJanetOre/jnormal_form_simplify_lc_lmG6#9
"F$F$F$%)applypolGf*F$F$6#%jnCopyright~(C)~2007-2010~by~Daniel~Robertz.~All~rig
hts~reserved.GF$C$F,-%2JanetOre/applypolGF7F$F$F$%-JSubmoduleHFGf*F$F$F;F$C$F,-
%6JanetOre/JSubmoduleHFGF7F$F$F$%/pplexdivision3Gf*F$F$6#%jnCopyright~(C)~2009-
2010~by~Daniel~Robertz.~All~rights~reserved.GF$C$F,-%8JanetOre/pplexdivision3GF
7F$F$F$%,invred_polyGf*F$F$6#%\pCopyright~(C)~2000-2010~by~Carlos~F.~Cid~and~Da
niel~Robertz.~All~rights~reserved.GF$C$F,-%5JanetOre/invred_polyGF7F$F$F$%2simp
_invred_Z_absGf*F$F$FNF$C$F,-%;JanetOre/simp_invred_Z_absGF7F$F$F$%-JGroebnerBa
sGf*F$F$F)F$C$F,-%6JanetOre/JGroebnerBasGF7F$F$F$%(JDerModGf*F$F$6#%[oCopyright
~(C)~2003-2010~by~Mohamed~Barakat.~All~rights~reserved.GF$C$F,-%1JanetOre/JDerM
odGF7F$F$F$%.JIntersectionGf*F$F$6#%^pCopyright~(C)~2003-2010~by~Mohamed~Baraka
t~and~Daniel~Robertz.~All~rights~reserved.GF$C$F,-%7JanetOre/JIntersectionGF7F$
F$F$%2jnormal_form_polyGf*F$F$FNF$C$F,-%;JanetOre/jnormal_form_polyGF7F$F$F$%&J
Ext1Gf*F$F$6#%^pCopyright~(C)~2000-2010~by~Mohamed~Barakat~and~Daniel~Robertz.~
All~rights~reserved.GF$C$F,-%/JanetOre/JExt1GF7F$F$F$%)jleadmonGf*F$F$FNF$C$F,-
%2JanetOre/jleadmonGF7F$F$F$%6jnormal_form_evala_lcGf*F$F$FNF$C$F,-%?JanetOre/j
normal_form_evala_lcGF7F$F$F$%/invred_collectGf*F$F$FNF$C$F,-%8JanetOre/invred_
collectGF7F$F$F$%)JMinPolyGf*F$F$F)F$C$F,-%2JanetOre/JMinPolyGF7F$F$F$%%JHomGf*
F$F$FinF$C$F,-%.JanetOre/JHomGF7F$F$F$%(JRepresGf*F$F$F)F$C$F,-%1JanetOre/JRepr
esGF7F$F$F$%*block_cmpGf*F$F$6#%jnCopyright~(C)~2004-2010~by~Daniel~Robertz.~Al
l~rights~reserved.GF$C$F,-%3JanetOre/block_cmpGF7F$F$F$%.jets_depcheckGf*F$F$6#
%\pCopyright~(C)~2000-2010~by~Gehrt~Hartjen~and~Daniel~Robertz.~All~rights~rese
rved.GF$C$F,-%7JanetOre/jets_depcheckGF7F$F$F$%.jcriteria1234Gf*F$F$6#%jnCopyri
ght~(C)~2005-2010~by~Daniel~Robertz.~All~rights~reserved.GF$C$F,-%7JanetOre/jcr
iteria1234GF7F$F$F$%1JCartanCharacterGf*F$F$6#%ipCopyright~(C)~2000-2010~by~Car
los~F.~Cid,~Arne~Lorenz~and~Daniel~Robertz.~All~rights~reserved.GF$C$F,-%:Janet
Ore/JCartanCharacterGF7F$F$F$%+JCoeffListGf*F$F$6#%jnCopyright~(C)~2006-2010~by
~Daniel~Robertz.~All~rights~reserved.GF$C$F,-%4JanetOre/JCoeffListGF7F$F$F$%3co
pyright_JanetOreGf*F$F$6#%jnCopyright~(C)~2003-2010~by~Daniel~Robertz.~All~righ
ts~reserved.GF$C$F,-%<JanetOre/copyright_JanetOreGF7F$F$F$%'JCoeffGf*F$F$FdtF$C
$F,-%0JanetOre/JCoeffGF7F$F$F$%,pinv_divideGf*F$F$FNF$C$F,-%5JanetOre/pinv_divi
deGF7F$F$F$%2remove_whitespaceGf*F$F$F)F$C$F,-%;JanetOre/remove_whitespaceGF7F$
F$F$%*jupdate_TGf*F$F$F)F$C$F,-%3JanetOre/jupdate_TGF7F$F$F$%.JMultiplicityGf*F
$F$6#%^pCopyright~(C)~2007-2010~by~Thomas~Baechler~and~Daniel~Robertz.~All~righ
ts~reserved.GF$C$F,-%7JanetOre/JMultiplicityGF7F$F$F$%-invred_evalaGf*F$F$FNF$C
$F,-%6JanetOre/invred_evalaGF7F$F$F$%.JAnnihilator1Gf*F$F$F)F$C$F,-%7JanetOre/J
Annihilator1GF7F$F$F$%'is_opsGf*F$F$F;F$C$F,-%0JanetOre/is_opsGF7F$F$F$%.jupdat
e_T_stdGf*F$F$F)F$C$F,-%7JanetOre/jupdate_T_stdGF7F$F$F$%=jnormal_form_collect_
lc_polyGf*F$F$FNF$C$F,-%FJanetOre/jnormal_form_collect_lc_polyGF7F$F$F$%;jnorma
l_form_evala_lc_polyGf*F$F$FNF$C$F,-%DJanetOre/jnormal_form_evala_lc_polyGF7F$F
$F$%/omult_exteriorGf*F$F$FdtF$C$F,-%8JanetOre/omult_exteriorGF7F$F$F$%$JHFGf*F
$F$FNF$C$F,-%-JanetOre/JHFGF7F$F$F$%0pnegdegrevlex_ZGf*F$F$FarF$C$F,-%9JanetOre
/pnegdegrevlex_ZGF7F$F$F$%@jnormal_form_collect_lc_poly_lmGf*F$F$F)F$C$F,-%IJan
etOre/jnormal_form_collect_lc_poly_lmGF7F$F$F$%;simp_jnormal_form_Z_nonnegGf*F$
F$FarF$C$F,-%DJanetOre/simp_jnormal_form_Z_nonnegGF7F$F$F$%3JGroebnerBasisFastG
f*F$F$F)F$C$F,-%<JanetOre/JGroebnerBasisFastGF7F$F$F$%0JanetOreOptionsGf*F$F$F)
F$C$F,-%9JanetOre/JanetOreOptionsGF7F$F$F$%'polhasGf*F$F$6#%inCopyright~(C)~200
0-2002~by~Gehrt~Hartjen.~All~rights~reserved.GF$C$F,-%0JanetOre/polhasGF7F$F$F$
%2checkops_exteriorGf*F$F$6#%joCopyright~(C)~2003-2010~by~Arne~Lorenz~and~Danie
l~Robertz.~All~rights~reserved.GF$C$F,-%;JanetOre/checkops_exteriorGF7F$F$F$%-p
olcoefflistGf*F$F$FhrF$C$F,-%6JanetOre/polcoefflistGF7F$F$F$%)pmax_degGf*F$F$FN
F$C$F,-%2JanetOre/pmax_degGF7F$F$F$%(procordGf*F$F$6#%jnCopyright~(C)~2002-2010
~by~Daniel~Robertz.~All~rights~reserved.GF$C$F,-%1JanetOre/procordGF7F$F$F$%-ne
xtmonomialGf*F$F$F_sF$C$F,-%6JanetOre/nextmonomialGF7F$F$F$%-jjanet_separGf*F$F
$FNF$C$F,-%6JanetOre/jjanet_separGF7F$F$F$%-JApplyMatrixGf*F$F$F;F$C$F,-%6Janet
Ore/JApplyMatrixGF7F$F$F$%*JZeroSetsGf*F$F$F)F$C$F,-%3JanetOre/JZeroSetsGF7F$F$
F$%1poltoop_exteriorGf*F$F$FdtF$C$F,-%:JanetOre/poltoop_exteriorGF7F$F$F$%)invr
ed_ZGf*F$F$FNF$C$F,-%2JanetOre/invred_ZGF7F$F$F$%,JPrincDerivGf*F$F$F)F$C$F,-%5
JanetOre/JPrincDerivGF7F$F$F$%2jnormal_form_Z_lmGf*F$F$FarF$C$F,-%;JanetOre/jno
rmal_form_Z_lmGF7F$F$F$%$JHPGf*F$F$FfsF$C$F,-%-JanetOre/JHPGF7F$F$F$%-jets_zero
colGf*F$F$FgzF$C$F,-%6JanetOre/jets_zerocolGF7F$F$F$%.simp_invred_ZGf*F$F$FNF$C
$F,-%7JanetOre/simp_invred_ZGF7F$F$F$%<pdegrevlex_deg_Z_entr_blockGf*F$F$F]tF$C
$F,-%EJanetOre/pdegrevlex_deg_Z_entr_blockGF7F$F$F$%+j_lead_monGf*F$F$6%F*%'sys
temG%)rememberGF$C$F,-%4JanetOre/j_lead_monGF7F$F$F$%'pplex3Gf*F$F$FNF$C$F,-%0J
anetOre/pplex3GF7F$F$F$%3JHilbertPolynomialGf*F$F$6#%inCopyright~(C)~2000-2010~
by~Carlos~F.~Cid.~All~rights~reserved.GF$C$F,-%<JanetOre/JHilbertPolynomialGF7F
$F$F$%3CommonLeftMultipleGf*F$F$6#%enCopyright~(C)~2010~by~Daniel~Robertz.~All~
rights~reserved.GF$C$F,-%<JanetOre/CommonLeftMultipleGF7F$F$F$%(JHomHomGf*F$F$F
inF$C$F,-%1JanetOre/JHomHomGF7F$F$F$%1pplex_entr_blockGf*F$F$F]tF$C$F,-%:JanetO
re/pplex_entr_blockGF7F$F$F$%&omultGf*F$F$FdtF$C$F,-%/JanetOre/omultGF7F$F$F$%,
pplex_blockGf*F$F$FarF$C$F,-%5JanetOre/pplex_blockGF7F$F$F$%'JBasisGf*F$F$F)F$C
$F,-%0JanetOre/JBasisGF7F$F$F$%0block_ord_Z_POTGf*F$F$FarF$C$F,-%9JanetOre/bloc
k_ord_Z_POTGF7F$F$F$%4JSubmoduleDimensionGf*F$F$F;F$C$F,-%=JanetOre/JSubmoduleD
imensionGF7F$F$F$%0rmmult_exteriorGf*F$F$6#%gnCopyright~(C)~2006-2010~by~Arne~L
orenz.~All~rights~reserved.GF$C$F,-%9JanetOre/rmmult_exteriorGF7F$F$F$%1pdegrev
lex_blockGf*F$F$FarF$C$F,-%:JanetOre/pdegrevlex_blockGF7F$F$F$%9jnormal_form_ev
ala_lc_lmGf*F$F$F)F$C$F,-%BJanetOre/jnormal_form_evala_lc_lmGF7F$F$F$%/JResolut
ionDimGf*F$F$FdtF$C$F,-%8JanetOre/JResolutionDimGF7F$F$F$%,jbinary_hasGf*F$F$F_
sF$C$F,-%5JanetOre/jbinary_hasGF7F$F$F$%;simp_jnormal_form_Z_lm_oldGf*F$F$FarF$
C$F,-%DJanetOre/simp_jnormal_form_Z_lm_oldGF7F$F$F$%6jnormal_form_Z_lm_oldGf*F$
F$FarF$C$F,-%?JanetOre/jnormal_form_Z_lm_oldGF7F$F$F$%*JSyzygiesGf*F$F$6#%joCop
yright~(C)~2000-2010~by~Arne~Lorenz~and~Daniel~Robertz.~All~rights~reserved.GF$
C$F,-%3JanetOre/JSyzygiesGF7F$F$F$%8jnormal_form_lc_poly_lmGf*F$F$F)F$C$F,-%AJa
netOre/jnormal_form_lc_poly_lmGF7F$F$F$%%rmsqGf*F$F$FdtF$C$F,-%.JanetOre/rmsqGF
7F$F$F$%(checkIBGf*F$F$F)F$C$F,-%1JanetOre/checkIBGF7F$F$F$%+JEulerCharGf*F$F$F
dtF$C$F,-%4JanetOre/JEulerCharGF7F$F$F$%7PresentationOnSectionsGf*F$F$F;F$C$F,-
%@JanetOre/PresentationOnSectionsGF7F$F$F$%*JCheckHomGf*F$F$FinF$C$F,-%3JanetOr
e/JCheckHomGF7F$F$F$%,member_multGf*F$F$F)F$C$F,-%5JanetOre/member_multGF7F$F$F
$%1pairstoequationsGf*F$F$F;F$C$F,-%:JanetOre/pairstoequationsGF7F$F$F$%.JSyzyg
yModuleGf*F$F$F_\lF$C$F,-%7JanetOre/JSyzygyModuleGF7F$F$F$%4pnegdegrevlex_Z_POT
Gf*F$F$FarF$C$F,-%=JanetOre/pnegdegrevlex_Z_POTGF7F$F$F$%-JInvolReduceGf*F$F$FN
F$C$F,-%6JanetOre/JInvolReduceGF7F$F$F$%-jcriteria123Gf*F$F$F_sF$C$F,-%6JanetOr
e/jcriteria123GF7F$F$F$%-AssertJBasisGf*F$F$F)F$C$F,-%6JanetOre/AssertJBasisGF7
F$F$F$%7simp_jnormal_form_Z_lmGf*F$F$FarF$C$F,-%@JanetOre/simp_jnormal_form_Z_l
mGF7F$F$F$%.pplexdivisionGf*F$F$FGF$C$F,-%7JanetOre/pplexdivisionGF7F$F$F$%(pol
toopGf*F$F$FdtF$C$F,-%1JanetOre/poltoopGF7F$F$F$%5pdegrevlex_deg_blockGf*F$F$Fa
rF$C$F,-%>JanetOre/pdegrevlex_deg_blockGF7F$F$F$%)procvarsGf*F$F$F)F$C$F,-%2Jan
etOre/procvarsGF7F$F$F$%1JLeadingMonomialGf*F$F$F)F$C$F,-%:JanetOre/JLeadingMon
omialGF7F$F$F$%3pdegrevlex_deg_POTGf*F$F$FarF$C$F,-%<JanetOre/pdegrevlex_deg_PO
TGF7F$F$F$%(JNotHasGf*F$F$F)F$C$F,-%1JanetOre/JNotHasGF7F$F$F$%'JSyzOpGf*F$F$Fi
nF$C$F,-%0JanetOre/JSyzOpGF7F$F$F$%4pnegdegrevlex_blockGf*F$F$FarF$C$F,-%=Janet
Ore/pnegdegrevlex_blockGF7F$F$F$%;jnormal_form_evala_poly_lmGf*F$F$F)F$C$F,-%DJ
anetOre/jnormal_form_evala_poly_lmGF7F$F$F$%5simp_invred_Z_nonnegGf*F$F$FNF$C$F
,-%>JanetOre/simp_invred_Z_nonnegGF7F$F$F$%-tupcoefflistGf*F$F$F]tF$C$F,-%6Jane
tOre/tupcoefflistGF7F$F$F$%,pmaxmin_degGf*F$F$F;F$C$F,-%5JanetOre/pmaxmin_degGF
7F$F$F$%3JShorterResolutionGf*F$F$6#%\pCopyright~(C)~2004-2010~by~Alban~Quadrat
~and~Daniel~Robertz.~All~rights~reserved.GF$C$F,-%<JanetOre/JShorterResolutionG
F7F$F$F$%%JSumGf*F$F$FinF$C$F,-%.JanetOre/JSumGF7F$F$F$%>jnormal_form_evala_lc_
poly_lmGf*F$F$F)F$C$F,-%GJanetOre/jnormal_form_evala_lc_poly_lmGF7F$F$F$%:JSubm
oduleHilbertFunctionGf*F$F$F;F$C$F,-%CJanetOre/JSubmoduleHilbertFunctionGF7F$F$
F$%+JFactorizeGf*F$F$6#%\pCopyright~(C)~2006-2010~by~Alban~Quadrat~and~Daniel~R
obertz.~All~rights~reserved.GF$C$F,-%4JanetOre/JFactorizeGF7F$F$F$%0invred_eval
a_lcGf*F$F$FNF$C$F,-%9JanetOre/invred_evala_lcGF7F$F$F$%1tupcoefflistmultGf*F$F
$F;F$C$F,-%:JanetOre/tupcoefflistmultGF7F$F$F$%/jbinary_insertGf*F$F$FNF$C$F,-%
8JanetOre/jbinary_insertGF7F$F$F$%*jmult_varGf*F$F$FNF$C$F,-%3JanetOre/jmult_va
rGF7F$F$F$%-JRightDivideGf*F$F$6#%[oCopyright~(C)~2003-2005~by~Mohamed~Barakat.
~All~rights~reserved.GF$C$F,-%6JanetOre/JRightDivideGF7F$F$F$%.jjanet_stddivGf*
F$F$FNF$C$F,-%7JanetOre/jjanet_stddivGF7F$F$F$%6jjanet_separ_exteriorGf*F$F$FNF
$C$F,-%?JanetOre/jjanet_separ_exteriorGF7F$F$F$%/pdegrevlex_degGf*F$F$FNF$C$F,-
%8JanetOre/pdegrevlex_degGF7F$F$F$%(procopsGf*F$F$F^[lF$C$F,-%1JanetOre/procops
GF7F$F$F$%:jnormal_form_collect_polyGf*F$F$FNF$C$F,-%CJanetOre/jnormal_form_col
lect_polyGF7F$F$F$%7JWeightedHilbertSeriesGf*F$F$F)F$C$F,-%@JanetOre/JWeightedH
ilbertSeriesGF7F$F$F$%/pnegplex_Z_POTGf*F$F$FarF$C$F,-%8JanetOre/pnegplex_Z_POT
GF7F$F$F$%8simp_jnormal_form_Z_absGf*F$F$FarF$C$F,-%AJanetOre/simp_jnormal_form
_Z_absGF7F$F$F$%/invred_lc_polyGf*F$F$FNF$C$F,-%8JanetOre/invred_lc_polyGF7F$F$
F$%8stdinterface_gettmpnameGf*F$F$F;F$C$F,-%AJanetOre/stdinterface_gettmpnameGF
7F$F$F$%3jupdate_T_exteriorGf*F$F$FeflF$C$F,-%<JanetOre/jupdate_T_exteriorGF7F$
F$F$%;pnegdegrevlex_Z_entr_blockGf*F$F$F]tF$C$F,-%DJanetOre/pnegdegrevlex_Z_ent
r_blockGF7F$F$F$%7block_ord_Z_entr_blockGf*F$F$F]tF$C$F,-%@JanetOre/block_ord_Z
_entr_blockGF7F$F$F$%+jets_mkmatGf*F$F$6#%[oCopyright~(C)~2000-2002~by~Mohamed~
Barakat.~All~rights~reserved.GF$C$F,-%4JanetOre/jets_mkmatGF7F$F$F$%1onemult_ex
teriorGf*F$F$F`dlF$C$F,-%:JanetOre/onemult_exteriorGF7F$F$F$%5invred_evala_lc_p
olyGf*F$F$FNF$C$F,-%>JanetOre/invred_evala_lc_polyGF7F$F$F$%0JSubmoduleBasisGf*
F$F$F;F$C$F,-%9JanetOre/JSubmoduleBasisGF7F$F$F$%*cppJBasisGf*F$F$F)F$C$F,-%3Ja
netOre/cppJBasisGF7F$F$F$%5jnormal_form_poly_lmGf*F$F$F)F$C$F,-%>JanetOre/jnorm
al_form_poly_lmGF7F$F$F$%.JanetOreStatsGf*F$F$FNF$C$F,-%7JanetOre/JanetOreStats
GF7F$F$F$%=jnormal_form_collect_poly_lmGf*F$F$F)F$C$F,-%FJanetOre/jnormal_form_
collect_poly_lmGF7F$F$F$%*procinputGf*F$F$F)F$C$F,-%3JanetOre/procinputGF7F$F$F
$%.setupJ_T_ListGf*F$F$FdtF$C$F,-%7JanetOre/setupJ_T_ListGF7F$F$F$%1JIndexRegul
arityGf*F$F$6#%ioCopyright~(C)~2000-2010~by~Carlos~F.~Cid~and~Arne~Lorenz.~All~
rights~reserved.GF$C$F,-%:JanetOre/JIndexRegularityGF7F$F$F$%3jbinary_insert_po
sGf*F$F$FNF$C$F,-%<JanetOre/jbinary_insert_posGF7F$F$F$%-JLeftInverseGf*F$F$Fdt
F$C$F,-%6JanetOre/JLeftInverseGF7F$F$F$%,checkIBfastGf*F$F$F)F$C$F,-%5JanetOre/
checkIBfastGF7F$F$F$%0jjanet_divisionGf*F$F$FNF$C$F,-%9JanetOre/jjanet_division
GF7F$F$F$%3monomcoefflistmultGf*F$F$F;F$C$F,-%<JanetOre/monomcoefflistmultGF7F$
F$F$%/pnegplex_blockGf*F$F$FarF$C$F,-%8JanetOre/pnegplex_blockGF7F$F$F$%.pnegde
grevlexGf*F$F$FarF$C$F,-%7JanetOre/pnegdegrevlexGF7F$F$F$%+JSyzModuleGf*F$F$F)F
$C$F,-%4JanetOre/JSyzModuleGF7F$F$F$%+JDimensionGf*F$F$FNF$C$F,-%4JanetOre/JDim
ensionGF7F$F$F$%&pplexGf*F$F$FNF$C$F,-%/JanetOre/pplexGF7F$F$F$%7invred_collect
_lc_polyGf*F$F$FNF$C$F,-%@JanetOre/invred_collect_lc_polyGF7F$F$F$%,jets_mklist
Gf*F$F$F\gmF$C$F,-%5JanetOre/jets_mklistGF7F$F$F$%+pnegplex_ZGf*F$F$FarF$C$F,-%
4JanetOre/pnegplex_ZGF7F$F$F$%9pnegdegrevlex_entr_blockGf*F$F$F]tF$C$F,-%BJanet
Ore/pnegdegrevlex_entr_blockGF7F$F$F$%(pneglexGf*F$F$FarF$C$F,-%1JanetOre/pnegl
exGF7F$F$F$%0restoreJ_T_ListGf*F$F$F]tF$C$F,-%9JanetOre/restoreJ_T_ListGF7F$F$F
$%,jtransfer_TGf*F$F$F)F$C$F,-%5JanetOre/jtransfer_TGF7F$F$F$%(JAddRhsGf*F$F$F)
F$C$F,-%1JanetOre/JAddRhsGF7F$F$F$%1jets_coeffmatrixGf*F$F$FhrF$C$F,-%:JanetOre
/jets_coeffmatrixGF7F$F$F$%)pnegtdegGf*F$F$FarF$C$F,-%2JanetOre/pnegtdegGF7F$F$
F$%+jets_grankGf*F$F$FgzF$C$F,-%4JanetOre/jets_grankGF7F$F$F$%)JTorsionGf*F$F$F
inF$C$F,-%2JanetOre/JTorsionGF7F$F$F$%(JIBasisGf*F$F$FNF$C$F,-%1JanetOre/JIBasi
sGF7F$F$F$%)pnegplexGf*F$F$F_\lF$C$F,-%2JanetOre/pnegplexGF7F$F$F$%+pdegrevlexG
f*F$F$FNF$C$F,-%4JanetOre/pdegrevlexGF7F$F$F$%0invred_Z_nonnegGf*F$F$FNF$C$F,-%
9JanetOre/invred_Z_nonnegGF7F$F$F$%,jcriteria12Gf*F$F$FNF$C$F,-%5JanetOre/jcrit
eria12GF7F$F$F$%&JMultGf*F$F$FdtF$C$F,-%/JanetOre/JMultGF7F$F$F$%/monomcoefflis
tGf*F$F$F]tF$C$F,-%8JanetOre/monomcoefflistGF7F$F$F$%/simp_prim_partGf*F$F$F)F$
C$F,-%8JanetOre/simp_prim_partGF7F$F$F$%(jresdimGf*F$F$FinF$C$F,-%1JanetOre/jre
sdimGF7F$F$F$%0dual_polynomialGf*F$F$F]tF$C$F,-%9JanetOre/dual_polynomialGF7F$F
$F$%*pplex_POTGf*F$F$FNF$C$F,-%3JanetOre/pplex_POTGF7F$F$F$%4pnegplex_entr_bloc
kGf*F$F$F]tF$C$F,-%=JanetOre/pnegplex_entr_blockGF7F$F$F$%&JExtnGf*F$F$F)F$C$F,
-%/JanetOre/JExtnGF7F$F$F$%-jnormal_formGf*F$F$FNF$C$F,-%6JanetOre/jnormal_form
GF7F$F$F$%1JIBasis_exteriorGf*F$F$FfsF$C$F,-%:JanetOre/JIBasis_exteriorGF7F$F$F
$%.cancel_locvarGf*F$F$F)F$C$F,-%7JanetOre/cancel_locvarGF7F$F$F$%-pdegrevlex_Z
Gf*F$F$FarF$C$F,-%6JanetOre/pdegrevlex_ZGF7F$F$F$%6jnormal_form_simplifyGf*F$F$
FNF$C$F,-%?JanetOre/jnormal_form_simplifyGF7F$F$F$%+JInvReduceGf*F$F$F)F$C$F,-%
4JanetOre/JInvReduceGF7F$F$F$%,setup_basisGf*F$F$F]tF$C$F,-%5JanetOre/setup_bas
isGF7F$F$F$%:pdegrevlex_deg_entr_blockGf*F$F$F]tF$C$F,-%CJanetOre/pdegrevlex_de
g_entr_blockGF7F$F$F$%8JSubmoduleHilbertSeriesGf*F$F$F;F$C$F,-%AJanetOre/JSubmo
duleHilbertSeriesGF7F$F$F$%5pdegrevlex_deg_Z_POTGf*F$F$FarF$C$F,-%>JanetOre/pde
grevlex_deg_Z_POTGF7F$F$F$%3JFactorModuleBasisGf*F$F$FeflF$C$F,-%<JanetOre/JFac
torModuleBasisGF7F$F$F$%,block_ord_ZGf*F$F$FarF$C$F,-%5JanetOre/block_ord_ZGF7F
$F$F$%3jnormal_form_Z_absGf*F$F$FarF$C$F,-%<JanetOre/jnormal_form_Z_absGF7F$F$F
$%.cppJInvReduceGf*F$F$F)F$C$F,-%7JanetOre/cppJInvReduceGF7F$F$F$%4invred_colle
ct_polyGf*F$F$FNF$C$F,-%=JanetOre/invred_collect_polyGF7F$F$F$%.JRightInverseGf
*F$F$FdtF$C$F,-%7JanetOre/JRightInverseGF7F$F$F$%*lm_neglexGf*F$F$FarF$C$F,-%3J
anetOre/lm_neglexGF7F$F$F$%1JBasisFastAssertGf*F$F$F)F$C$F,-%:JanetOre/JBasisFa
stAssertGF7F$F$F$%'invredGf*F$F$FNF$C$F,-%0JanetOre/invredGF7F$F$F$%1pdegrevlex
_deg_ZGf*F$F$FarF$C$F,-%:JanetOre/pdegrevlex_deg_ZGF7F$F$F$%*invred_lcGf*F$F$FN
F$C$F,-%3JanetOre/invred_lcGF7F$F$F$%-invred_Z_absGf*F$F$FNF$C$F,-%6JanetOre/in
vred_Z_absGF7F$F$F$%9jnormal_form_simplify_lcGf*F$F$FNF$C$F,-%BJanetOre/jnormal
_form_simplify_lcGF7F$F$F$%%pLCMGf*F$F$6#%inCopyright~(C)~2000-2002~by~Carlos~F
.~Cid.~All~rights~reserved.GF$C$F,-%.JanetOre/pLCMGF7F$F$F$%*block_ordGf*F$F$Fa
rF$C$F,-%3JanetOre/block_ordGF7F$F$F$%/JGroebnerBasisGf*F$F$F)F$C$F,-%8JanetOre
/JGroebnerBasisGF7F$F$F$%*JCokernelGf*F$F$F`oF$C$F,-%3JanetOre/JCokernelGF7F$F$
F$%1JHilbertFunctionGf*F$F$FfsF$C$F,-%:JanetOre/JHilbertFunctionGF7F$F$F$%3jnor
mal_form_lc_lmGf*F$F$F)F$C$F,-%<JanetOre/jnormal_form_lc_lmGF7F$F$F$%/JHilbertS
eriesGf*F$F$FfsF$C$F,-%8JanetOre/JHilbertSeriesGF7F$F$F$%6pnegplex_Z_entr_block
Gf*F$F$F]tF$C$F,-%?JanetOre/pnegplex_Z_entr_blockGF7F$F$F$%(JKernelGf*F$F$FinF$
C$F,-%1JanetOre/JKernelGF7F$F$F$%3pplex_Z_entr_blockGf*F$F$F]tF$C$F,-%<JanetOre
/pplex_Z_entr_blockGF7F$F$F$%(JTabVarGf*F$F$6#%\pCopyright~(C)~2000-2002~by~Car
los~F.~Cid~and~Daniel~Robertz.~All~rights~reserved.GF$C$F,-%1JanetOre/JTabVarGF
7F$F$F$%,jets_getbasGf*F$F$FgzF$C$F,-%5JanetOre/jets_getbasGF7F$F$F$%-pnegplex_
POTGf*F$F$F_\lF$C$F,-%6JanetOre/pnegplex_POTGF7F$F$F$%5jnormal_form_collectGf*F
$F$FNF$C$F,-%>JanetOre/jnormal_form_collectGF7F$F$F$%,pplex_Z_POTGf*F$F$FarF$C$
F,-%5JanetOre/pplex_Z_POTGF7F$F$F$%6jnormal_form_evala_lmGf*F$F$F)F$C$F,-%?Jane
tOre/jnormal_form_evala_lmGF7F$F$F$%-JSubmoduleHPGf*F$F$F;F$C$F,-%6JanetOre/JSu
bmoduleHPGF7F$F$F$%1JParametrizationGf*F$F$F`oF$C$F,-%:JanetOre/JParametrizatio
nGF7F$F$F$%2jets_kroneckermatGf*F$F$6#%fnCopyright~(C)~2003~by~Mohamed~Barakat.
~All~rights~reserved.GF$C$F,-%;JanetOre/jets_kroneckermatGF7F$F$F$%,JInvolution
Gf*F$F$F]tF$C$F,-%5JanetOre/JInvolutionGF7F$F$F$%2pnegdegrevlex_POTGf*F$F$FarF$
C$F,-%;JanetOre/pnegdegrevlex_POTGF7F$F$F$%*prim_partGf*F$F$F)F$C$F,-%3JanetOre
/prim_partGF7F$F$F$%8jnormal_form_collect_lcGf*F$F$FNF$C$F,-%AJanetOre/jnormal_
form_collect_lcGF7F$F$F$%;jnormal_form_collect_lc_lmGf*F$F$F)F$C$F,-%DJanetOre/
jnormal_form_collect_lc_lmGF7F$F$F$%)JKaehlerGf*F$F$FinF$C$F,-%2JanetOre/JKaehl
erGF7F$F$F$%0jnormal_form_lcGf*F$F$FNF$C$F,-%9JanetOre/jnormal_form_lcGF7F$F$F$
%6jnormal_form_Z_nonnegGf*F$F$FarF$C$F,-%?JanetOre/jnormal_form_Z_nonnegGF7F$F$
F$%8jnormal_form_collect_lmGf*F$F$F)F$C$F,-%AJanetOre/jnormal_form_collect_lmGF
7F$F$F$%,pdegrevlex3Gf*F$F$FNF$C$F,-%5JanetOre/pdegrevlex3GF7F$F$F$%7JFactorMod
uleBasisFastGf*F$F$6#%jnCopyright~(C)~2008-2010~by~Daniel~Robertz.~All~rights~r
eserved.GF$C$F,-%@JanetOre/JFactorModuleBasisFastGF7F$F$F$%1allmult_exteriorGf*
F$F$F`dlF$C$F,-%:JanetOre/allmult_exteriorGF7F$F$F$%-JAnnihilatorGf*F$F$F)F$C$F
,-%6JanetOre/JAnnihilatorGF7F$F$F$%8pdegrevlex_Z_entr_blockGf*F$F$F]tF$C$F,-%AJ
anetOre/pdegrevlex_Z_entr_blockGF7F$F$F$%3jnormal_form_evalaGf*F$F$FNF$C$F,-%<J
anetOre/jnormal_form_evalaGF7F$F$F$%,JResolutionGf*F$F$F)F$C$F,-%5JanetOre/JRes
olutionGF7F$F$F$%1pdegrevlex_Z_POTGf*F$F$FarF$C$F,-%:JanetOre/pdegrevlex_Z_POTG
F7F$F$F$%/isMinimalBasisGf*F$F$F_\lF$C$F,-%8JanetOre/isMinimalBasisGF7F$F$F$%/c
onv_divisibleGf*F$F$FNF$C$F,-%8JanetOre/conv_divisibleGF7F$F$F$%2invred_collect
_lcGf*F$F$FNF$C$F,-%;JanetOre/invred_collect_lcGF7F$F$F$%(pplex_ZGf*F$F$FarF$C$
F,-%1JanetOre/pplex_ZGF7F$F$F$%)proccommGf*F$F$FdtF$C$F,-%2JanetOre/proccommGF7
F$F$F$%.block_ord_POTGf*F$F$FarF$C$F,-%7JanetOre/block_ord_POTGF7F$F$F$%2JSyzyg
yModuleFastGf*F$F$F_\lF$C$F,-%;JanetOre/JSyzygyModuleFastGF7F$F$F$%4jjanet_div_
exteriorGf*F$F$FfsF$C$F,-%=JanetOre/jjanet_div_exteriorGF7F$F$F$%9jnormal_form_
simplify_lmGf*F$F$F)F$C$F,-%BJanetOre/jnormal_form_simplify_lmGF7F$F$F$%2invred
_evala_polyGf*F$F$FNF$C$F,-%;JanetOre/invred_evala_polyGF7F$F$F$%.proctermorder
Gf*F$F$F_\lF$C$F,-%7JanetOre/proctermorderGF7F$F$F$%'hasvarGf*F$F$F]tF$C$F,-%0J
anetOre/hasvarGF7F$F$F$%%JHasGf*F$F$F)F$C$F,-%.JanetOre/JHasGF7F$F$F$%.autoredu
ctionGf*F$F$F_\lF$C$F,-%7JanetOre/autoreductionGF7F$F$F$%+lm_negtdegGf*F$F$FarF
$C$F,-%4JanetOre/lm_negtdegGF7F$F$F$%0jnormal_form_lmGf*F$F$F)F$C$F,-%9JanetOre
/jnormal_form_lmGF7F$F$F$%/jnormal_form_ZGf*F$F$FarF$C$F,-%8JanetOre/jnormal_fo
rm_ZGF7F$F$F$%+JBasisFastGf*F$F$F)F$C$F,-%4JanetOre/JBasisFastGF7F$F$F$%8jnorma
l_form_evala_polyGf*F$F$FNF$C$F,-%AJanetOre/jnormal_form_evala_polyGF7F$F$F$%4J
ShortestResolutionGf*F$F$Fc_mF$C$F,-%=JanetOre/JShortestResolutionGF7F$F$F$%7JS
ubmoduleMultiplicityGf*F$F$F_vF$C$F,-%@JanetOre/JSubmoduleMultiplicityGF7F$F$F$
%)findconeGf*F$F$F;F$C$F,-%2JanetOre/findconeGF7F$F$F$%0nonmult_prolongGf*F$F$F
_sF$C$F,-%9JanetOre/nonmult_prolongGF7F$F$F$%6pdegrevlex_entr_blockGf*F$F$F]tF$
C$F,-%?JanetOre/pdegrevlex_entr_blockGF7F$F$F$%5jnormal_form_lc_polyGf*F$F$FNF$
C$F,-%>JanetOre/jnormal_form_lc_polyGF7F$F$F$%4simp_jnormal_form_ZGf*F$F$FarF$C
$F,-%=JanetOre/simp_jnormal_form_ZGF7F$F$F$%-jets_diagmatGf*F$F$FgboF$C$F,-%6Ja
netOre/jets_diagmatGF7F$F$F$%(JDefectGf*F$F$FinF$C$F,-%1JanetOre/JDefectGF7F$F$
F$%/pdegrevlex_POTGf*F$F$FarF$C$F,-%8JanetOre/pdegrevlex_POTGF7F$F$F$%+JSubFact
orGf*F$F$F`oF$C$F,-%4JanetOre/JSubFactorGF7F$F$F$%5block_ord_entr_blockGf*F$F$F
]tF$C$F,-%>JanetOre/block_ord_entr_blockGF7F$F$F$%+JDirectSumGf*F$F$FinF$C$F,-%
4JanetOre/JDirectSumGF7F$F$F$%<JSubmoduleHilbertPolynomialGf*F$F$F;F$C$F,-%EJan
etOre/JSubmoduleHilbertPolynomialGF7F$F$F$%/JInvReduceFastGf*F$F$F)F$C$F,-%8Jan
etOre/JInvReduceFastGF7F$F$F$F$
M7R0
I4JanetOre/pdegrevlexf*6$%"aG%"bG6%%"iG%$tdaG%$tdbG6#%\pCopyright~(C)~2000-2010
~by~Carlos~F.~Cid~and~Daniel~Robertz.~All~rights~reserved.G6"C&>8%-%(convertG6$
&9$6#"""%"+G>8&-F26$&9%F6F8@'2F0F:-%'RETURNG6#%%trueG2F:F0-FB6#%&falseG?(8$-%%n
opsG6#F4!""F7FD@&2&F=6#FJ&F4FRFA2FSFQFF@%2&F56#""#&F>FXFHFDF-F-F-F-
M7R0
I1JanetOre/pneglexf*6%%"aG%"bG%%seqvG6"6#%jnCopyright~(C)~2004-2010~by~Daniel~R
obertz.~All~rights~reserved.GF(4-&%)GroebnerG6#%*testorderG6%9$9%-%%plexG6#-%#o
pG6#9&F(F(F(F(
M7R0
I4JanetOre/j_lead_monf*6)%"aG%'n_entrG%%seqvG%'lmprocG%)entr_posG%(tup_cmpG%'vt
_degG6*%"iG%"jG%"kG%"lG%#lmG%"LG%"dG%#d2G6%%jnCopyright~(C)~2000-2010~by~Daniel
~Robertz.~All~rights~reserved.G%'systemG%)rememberG6"C'>8$""">8&F=>8)7"?(F9F=F=
F93/FAFB1F?-%%nopsG6#9(C$?(F9F=F=F91F<&FJ6#F?C%>8(7#-9'6#&9$6#F<@$0&FR6#F=""!@%
FEC$>FA7$7$7#-%$seqG6$-%'degreeG6$&FR6#""#&9&6#8%/F[p;F=%'_jnvarGF<FR@$-%%typeG
6$9*%%listG>8*,&-%$addG6$*&&FA6%F=F=F[pF=&FcpFjoF=F\pF=&Fcp6#,&F^pF=&FA6$F=FgoF
=F=C$>8'F\o@&F`pC$>8+,&-Fip6$*&&FfqF]qF=F^qF=F\pF=&Fcp6#,&F^pF=&FfqFcqF=F=@$52F
fpFjq3/FjqFfp4-9)6$&Ffq6$FgoFgo&FAF^sC$>FAFfq>FfpFjqFir>FAFfq>F<,&F<F=F=F=>F?,&
F?F=F=F=@%0FAFBFAC$?(F9F=F=F91F<9%C%>FRFS@$Fen-%'RETURNG6#F\o>F<Fes7$7$7#-%"$G6
$FhnF^pF]t7$FhnF=F9F9F9F9
M7R0
IAJanetOre/jnormal_form_collect_lcf*6)%"fG%"FG%%seqvG%(mulprocG%'lmprocG%'pppro
cG%(loc_varG64%"aG%"hG%"iG%"kG%"rG%#lmG%(termo_hG%$divG%'n_entrG%*zero_listG%.r
hs_zero_listG%#lvG%#nlG%#nvG%"HG%"eG%#meG%#hiG6#%\pCopyright~(C)~2000-2010~by~C
arlos~F.~Cid~and~Daniel~Robertz.~All~rights~reserved.G6"C,>%*_jonnformG,&FD"""F
FFF>8%9$>8,-%%nopsG6#&FH6#FF@$09*7"C'>8/<#-%$seqG6$&9&6#&FS6#8&/F[o;FF-FM6#FS>8
0-FM6#FW>81-%'removeG6%%$hasGFgnFW>82FT>FH7$-%7JanetOre/cancel_locvarG6%FOFgnFS
-F_p6%&FH6#""#FgnFS>8-7#-%"$G6$""!FK>8.7#-Fjp6$F\q-FM6#Fcp>8(7$FgpF^q>8)-9(FN?(
FAFFFFFA0&Fhq6$FepFFF\qC)>F[oFF>8+%&falseG>8**&F]rFF&Fhq6$FepFepFF@$FR>83,&-%$m
axG6#-FZ6$-%'degreeG6$&FO6#8'FW/Fgs;FFFKFF-%$addG6$&&Fhq6$FFFF6#&FSFfs/Fgs;FFFa
o!""?(FAFFFFFA31F[o-FM6#9%4Fbr@%-%5JanetOre/pinv_divideG6%&Fjt6$F[o""$&Fjt6$F[o
""&&FhqFPC%>%)_joreducG,&FiuFFFFFF@%FRC,>84,&-F^s6#-FZ6$-Fcs6$&&Fjt6%F[oFFFFFfs
FWFhsFF-F[t6$&&Fjt6%F[oFbuFFF`tFbtFdt>85F\q>Fgs-FM6#F[p?(FAFFFFFA32F\qF^v2F\qFg
sC$@$331&&F[pFfs6#FbuF^v/&&&F]xFdpFPFdp&FfuFdp-%8JanetOre/conv_divisibleG6$FaxF
fuC$>F_wFgs>F^vF\x>Fgs,&FgsFFFdtFF@$3Few0&FeqFPFgp[@$2F[sF^vC$>Fgs-9)6%FOFgn7$F
cp&&FhqFdpFP>F[p7$-%#opGFbw7%7$&FgsFP&&FgsFdpFP7$Ffu-%'subsopG6$/FF&FczFdpFjyF[
s@%/F_wF\q>FH-%)simplifyG6#7$,&-%$mapG6$f*6#F-FA6$%)operatorG%&arrowGFA*(T#FF&T
&6%T'""'FepFdtFIFFFAFA6(F3FerF&FjtF/F[oFgvFdt-Fc[l6$f*Ff[lFAFg[lFA*&&T$6%T%F`\l
FFFFFIFFFAFA6&F&FjtF/F[oFOFF,&-Fc[l6$f*Ff[lFAFg[lFAFj[lFAFAFa\l&Fjt6%F[oFFFepFd
t-Fc[l6$f*Ff[lFAFg[lFAFe\lFAFAFj\lFcpFF>FH-F^[l6#7$,&-Fc[l6$f*Ff[lFAFg[lFA*(F[\
lFF&&&&Fi\l6#F_\lFdpFdpFdpFdtFIFFFAFA6(F3FerF;F[pF>F_w&&&F[p6#F_wFPFPFdt-Fc[l6$
f*Ff[lFAFg[lFA*&&&&&F[\l6#Fi\lFdpFdpFPFFFIFFFAFA6&F;F[pF>F_wFOFF,&-Fc[l6$f*Ff[l
FAFg[lFAF\^lFAFAFb^l&Fd^lFdpFdt-Fc[l6$f*Ff[lFAFg[lFAFj^lFAFAF`_lFcpFF>FH-Ffy6%F
OFgnFcp>FHF]p@$0%0JanetOre/characGF\q>FH-%$modG6$FHF_`l@%/F_`lF\qC$>Fgs-%'norma
lG6#*(F]rFFFgrFF&Fjt6%F[oF`\lFepFdt>FH-%(collectG6%7$-Fi`l6#,&-Fc[l6$f*Ff[lFAFg
[lFAFe\lFAFAFj\lFOFF-Fc[l6$f*Ff[lFAFg[lFA-F]\l6$F[\lFIFAFA6&F0FgsF(9'FgvFdt-Fi`
l6#,&-Fc[l6$f*Ff[lFAFg[lFAFe\lFAFAFj\lFcpFF-Fc[l6$f*Ff[lFAFg[lFAF\blFAFAF^blF_]
lFdtFgn%,distributedGC$>Fgs-Fb`l6$-%'NormalGFj`lF_`l>FH-F`al6%7$-Fb`l6$-F_cl6#,
&-Fc[l6$f*Ff[lFAFg[lFAFe\lFAFAFj\lFOFF-Fc[l6$f*Ff[lFAFg[lFAF\blFAFAF^blFgvFdtF_
`l-Fb`l6$-F_cl6#,&-Fc[l6$f*Ff[lFAFg[lFAFe\lFAFAFj\lFcpFF-Fc[l6$f*Ff[lFAFg[lFAF\
blFAFAF^blF_]lFdtF_`lFgnFibl>Fbr%%trueG>F[o,&F[oFFFFFF@%F[uC$>Feq7$-Ffz6$/&Fhq6
$FFFep-F`al6%,&&F_y6#FeelFFFfrFFFgnFiblF_y&FeqFdp>FH7$-Ffz6$/Feel-F`al6%,&&FOF[
flFFFfrFdtFgnFiblFOFcp@%Fe`l>Feq-F`al6%7$-Fi`l6#-Fc[l6$f*Ff[lFAFg[lFAFe\lFAFAFj
\lF_y-Fi`l6#-Fc[l6$f*Ff[lFAFg[lFAFe\lFAFAFj\lF\flFgnFibl>Feq-F`al6%7$-Fb`l6$-F_
cl6#-Fc[l6$f*Ff[lFAFg[lFAFe\lFAFAFj\lF_yF_`l-Fb`l6$-F_cl6#-Fc[l6$f*Ff[lFAFg[lFA
Fe\lFAFAFj\lF\flF_`lFgnFibl>FhqFiq@'3/F_yFgp0FcpF^qC%>Fcp&-Ffy6%FcpFgnFTFP@$4-%
5JanetOre/member_multG6%Fcp%&J_HOMGFgn>Ffil7$-F^z6#FfilFcp7$F_yF^qFjhl7$FgpFcp-
Ffy6%F_yFgnFcpFA6%FfilFDFiuFAFA
M7R0
I@JanetOre/simp_jnormal_form_Z_lmf*6)%"fG%"FG%%seqvG%(mulprocG%'lmprocG%'ppproc
G%(loc_varG6.%"aG%"gG%"hG%"iG%"sG%"tG%#lmG%$divG%'n_entrG%*zero_listG%.rhs_zero
_listG%'pseudoG6#%jnCopyright~(C)~2004-2010~by~Daniel~Robertz.~All~rights~reser
ved.G6"C,>%*_jonnformG,&F>"""F@F@>8&9$>8,-%%nopsG6#&FB6#F@>8-7#-%"$G6$""!FE>8.7
#-FO6$FQ-FG6#&FB6#""#>8+%%trueG>8/%&falseG>8*-9(FH?(F;F@F@F;3Fgn0&F]o6$FenF@FQC
%>8'F@>FgnF[o?(F;F@F@F;31Fgo-FG6#9%4Fgn@%-%5JanetOre/pinv_divideG6%&F^p6$Fgo""$
&F^p6$Fgo""&&F]oFJC$>8%-%%iremG6$Fco&F^p6%Fgo""'F@@%/F]qFQC'>%)_joreducG,&FhqF@
F@F@>F]q-%%iquoGF`q>FB-%(collectG6%7$-%'normalG6#,&FIF@-%$mapG6$f*6#F-F;6$%)ope
ratorG%&arrowGF;**T#F@&T%6$FenFenF@&T(6%T)FcqFen!""FCF@F;F;6*F.F]qF3F]oF&F^pF0F
go&F^p6%FgoF@F@Fgs-Fcr6#,&FYF@-Fgr6$f*FjrF;F[sF;F^sF;F;Fhs&F^p6%FgoF@FenFgs9&%,
distributedG>FgnFhn>F]oF^oC$-%'igcdexG6&FcoFaq.8(.8)@%0F^uFQC&>FhqFiq>FB-F_r6%7
$-Fcr6#,&*&F\uF@FIF@F@-Fgr6$f*FjrF;F[sF;F^sF;F;6*F2F^uF3F]oF&F^pF0FgoFisF@-Fcr6
#,&*&F\uF@FYF@F@-Fgr6$f*FjrF;F[sF;F^sF;F;F^vFatF@FctFdt>F]oF^o@%30F\uF@0F\uFgsC
$>FjnFhn>Fgo,&F\pF@F@F@>FgnFhn>FgoF^w>Fgo,&FgoF@F@F@@'3/FIFL0FYFSC$@$4-%5JanetO
re/member_multG6%FY%&J_HOMGFct>F]x7$-%#opG6#F]xFY6$7$FIFSFjnFew6$7$FLFYFjn6$FBF
jnF;6%F]xF>FhqF;F;
M7R0
I3JanetOre/jmult_varf*6$'%"aG%%listG'%$varGF'6$%"iG%"bG6#%\pCopyright~(C)~2000-
2010~by~Carlos~F.~Cid~and~Daniel~Robertz.~All~rights~reserved.G6"C%>8%%%NULLG?(
8$"""F6%'_jnvarG%%trueG@%/&9$6#F5""!>F26$F2%"*G@%%3JanetOre/janetlikeG>F26$F2)&
9%F=F;>F26$F2FG-%'RETURNG6#7#F2F/F/F/F/
M7R0
I1JanetOre/JTabVarf*6"6$%"iG%"nG6#%\pCopyright~(C)~2000-2002~by~Carlos~F.~Cid~a
nd~Daniel~Robertz.~All~rights~reserved.GF$C%@$4-%)assignedG6#%)J_T_ListG-%&ERRO
RG6#%Lmissing~involutive~basis;~run~JBasis~first.G>8%-%%nopsG6#%)JTab_VarG?(8$"
""F=F6%%trueG-%&printG6#&F:6#F<F$F$F$F$
M7R0
I1JanetOre/JNotHasf*6%%"GG'%%varsG%%listG'%#viGF(66%"aG%"iG%"lG%"FG%#NGG%$varG%
%var2G%(var_ordG%'vt_degG%(deg_ordG%'lmprocG%,force_evalaG%)tup_permG%'n_entrG%
)rhs_entrG%'no_rhsG%%seqvG%&m_ordG%*tmp_jnvarG%)entr_posG6#%jnCopyright~(C)~200
0-2010~by~Daniel~Robertz.~All~rights~reserved.G6"CC>8'-%3JanetOre/procinputG6#9
$>81&FE6#""">82&FE6#""#>83&FE6#""$>8/&FE6#""&>8)-%2JanetOre/procvarsG6$9%FK>8+&
FinFR>8,&FinFW>8-&Fin6#""%>80&FinFfn>87&Fin6#""'>Fin&FinFM>86%'_jnvarG>Fep-%%no
psG6#Fin>847#-%$seqG6$-%$catG6$%#_xG8%/Fdq;FNFep>F_o-%%subsG6$7#-F^q6$/&Fin6#Fd
qF`qFeqF_o>FE-%(collectG6%&FEFgoFin%,distributedG@%0F[qFinC$>FE-%$mapG6$f*6#F,F
B6$%)operatorG%&arrowGFB-Fiq6$7#-F^q6$/&T%6#T#-Faq6$FcqF\t/F\tFfqFIFBFB6&F-FdqF
1FinFE>8*-F\s6$f*F_sFBF`sFBFcsFBFBF`t9&>FbtFft@%/F_o7">85Fho>F\u7#-%"$G6$Fho-Fh
p6#F_o?(FdqFhoFN9#%%trueG@'5-%%typeG6$&9"F`r%(integerG-Fju6$F\vF(>F\uF\v-Fju6$F
\v%'stringGC$>8&F\v?(8$FNFN-%'lengthG6#FgvFfu@&/&Fgv6#FivQ"SFB>FZFfu0F_wQ!FB-%&
ERRORG6#%?option~must~be~the~string~"S".G-Ffw6#%0invalid~option.G>Fgv-%1JanetOr
e/procordG6*F\uFinF_oFboFeoF[qF]p4FZ@$&FgvFgo>F]pFjt@$/&Fbo6#;,&FepFNFNFN,&FepF
NFKFN7#-F`u6$""!FK>FboF^y>8.-%&parseG6#-Faq6/Q<g->`JanetOre/j_lead_mon`(g,FB-%(
convertG6$FKFdvQ",FB-Fiy6$F[qFdvF[z-Fiy6$&FgvFMFdvF[z-Fiy6$F]pFdvF[z-Fiy6$&FgvF
fnFdvF[z-Fiy6$FboFdvQ")FB@$0Fjo7#-F`u6#;FNFK>FE-F\s6$f*6#F-6#%"jGFBFB-%'subsopG
6$/FN7#-F^q6$&&FIFM6#&F\tF`w/Fiv;FNFjsFIFBFB6&F8FjoF9FKFE>8(Fjt?(FdqFNFN-Fhp6#F
EFfuC$>Fgv-Fay6#&&FEF`rFM@$4-%$hasG6$&Fgv6$FSFSFbt>Fe\l7$-%#opG6#Fe\lF^]l@$Fhr>
Fe\l-F\s6$f*F_sFBF`sFB-Fiq6$7#-F^q6$/-Faq6$FcqFjs&F\t6#Fjs/FjsFfqFIFBFB6&F1FinF
-FdqFe\l@$FjzC$>Fjo-F\s6$f*Fc[lFd[lFBFBC$-%'memberG6%FIF\t.FivFivFBFB6$F8FjoF[[
l>Fe\l-F\s6$f*Fc[lFd[lFBFBFf[lFBFBFc\lFe\l@$/FKFN>Fe\l-F\s6$f*F_sFBF`sFB-Fg[l6$
/FN-Fi]l6#F^\lFIFBFBFBFe\l@%FU>Fe\l-F\s6$f*F_sFBF`sFBF^\lFBFBFBFe\l@%/FPFN>Fe\l
-F\s6$f*F_sFBF`sFB/F^\l-Fi]l6#&FIFRFBFBFBFe\l>Fe\l-F\s6$f*F_sFBF`sFB/F^\lFealFB
FBFBFe\l>FepFdp-%'RETURNGFj]lFB6#FepFBFB
M7R0
I/JanetOre/JExt1f*6$%$AR1G'%%varsG%%listG6*%"aG%"iG%"sG%$AR0G%#R0G%#R1G%$RR1G%$
opsG6#%^pCopyright~(C)~2000-2010~by~Mohamed~Barakat~and~Daniel~Robertz.~All~rig
hts~reserved.G6"C*>8+%%NULLG>8&F8?(8%""$"""9#%%trueG@'-%%typeG6$&9"6#F<F(>F7FE-
FC6$FE%%nameG>F:FE-%&ERRORG6#%0invalid~option.G>8)-%5JanetOre/JInvolutionG6%-%4
JanetOre/jets_mkmatG6#-%$mapG6$f*6#F*F46$%)operatorG%&arrowGF4&9$6#F>F4F4F4&-%3
JanetOre/procinputG6#F\o6#""%9%F7>8'-%0JanetOre/JSyzOpG6%F\oFdoF7>8(-FT6%FfoFdo
F7>8*-Fho6%F[pFdoF7-%4JanetOre/JSubFactorG6'F_pFRFdoF7F:F4F4F4F4
M7R0
I?JanetOre/jnormal_form_Z_nonnegf*6)%"fG%"FG%%seqvG%(mulprocG%'lmprocG%'ppprocG
%(loc_varG6+%"aG%"hG%"iG%"lG%"rG%#lmG%$divG%*zero_listG%.rhs_zero_listG6#%jnCop
yright~(C)~2004-2010~by~Daniel~Robertz.~All~rights~reserved.G6"C*>%*_jonnformG,
&F;"""F=F=>8%9$>8+7#-%"$G6$""!-%%nopsG6#&F?6#F=>8,7#-FE6$FG-FI6#&F?6#""#>8(7$FB
FN>8)-9(FJ?(F8F=F=F80&Fen6$FVF=FGC'>8&F=>8*%&falseG?(F8F=F=F831F^o-FI6#9%4F`oC$
@$-%5JanetOre/pinv_divideG6%&Fgo6$F^o""$&Fgo6$F^o""&&FenFLC%>%)_joreducG,&FgpF=
F=F=>8'-%%iquoG6$Fjn&Fgo6%F^o""'F=@&0FjpFGC$>F?7$-%'normalG6#,&FKF=-%$mapG6$f*6
#F-F86$%)operatorG%&arrowGF8**T#F=&T%6$FVFVF=&T(6%T)F`qFV!""F@F=F8F86*F0FjpF2Fe
nF&FgoF/F^o&Fgo6%F^oF=F=F[s-Fgq6#,&FTF=-F[r6$f*F^rF8F_rF8FbrF8F8F\s&Fgo6%F^oF=F
VF[s>F`o%%trueG/-%%signG6#FjnF[sC$>F?7$-Fgq6#,&FKF=-F[r6$f*F^rF8F_rF8**-F[t6#&T
$6%FerF`qF=F=&T'FfrF=&Fjt6%FerF`qFVF[sF@F=F8F86(F&FgoF/F^oF2FenF]sF=-Fgq6#,&FTF
=-F[r6$f*F^rF8F_rF8FftF8F8F`uFesF=>F`oFhs>F^o,&F^oF=F=F=@$FhoC$>FX7$-%'subsopG6
$/&Fen6$F=FV-Fgq6#,&&&FXFL6#FbvF=*&FjnF=&FenFfrF=F=Fhv&FXFU>F?7$-F_v6$/Fbv-Fgq6
#,&&FKFivF=FjvF[sFKFT>FenFfn@'3/FhvFB0FTFNC$@$4-%5JanetOre/member_multG6%FT%&J_
HOMG9&>Fax7$-%#opG6#FaxFT7$FhvFNFiw7$FBFT7$FhvFTF86%FaxF;FgpF8F8
M7R0
I7JanetOre/pplexdivisionf*6$%"aG%"bG6#%"iG6#%jnCopyright~(C)~2009-2010~by~Danie
l~Robertz.~All~rights~reserved.G6"C$?(8$"""F/-%%nopsG6#&9$6#F/%%trueG@&2&F36#&%
2JanetOre/divisionG6#F.&&9%F5F:-%'RETURNG6#F62F>F9-FB6#%&falseG@%2&F46#""#&F@FK
FGF6F+F+F+F+
back to top