M7R0
I-OreMorphisms=6"%&falseGE\[lM%0CoimMorphismRatGf*6'%"RG%"TG%"UG%"VG'%$AlgG%%li
stG6'%"LG%"SG%"lG%"uG%#P1GF$F$C(>8$-&%'linalgG6#_F<%,stackmatrixG6$9&,$9%!"">8%
-%;OreModules/SyzygyModuleRatG6$F99(>8&-&F<6#_F<%'rowdimG6#FF>8'-FN6#FA>8(-&F<6
#_F<%*submatrixG6%FF;"""FL;FjnFT-%'RETURNG6#-%&evalmG6#FXF$F$F$%*ReduceMatGf*6%
F*%"MGF.61%"aG%"iG%"jG%"pG%"qG%"rG%'lambdaG%"GG%%mAlgG%&mTOrdG%#GBG%&basisG%$re
dG%#vlG%#vrG6#%\pCopyright~(C)~2004-2005~by~Alban~Quadrat~and~Daniel~Robertz.~A
ll~rights~reserved.GF$@%55555/9$%%ZEROG/-%#opG6$""!F_q%$INJG/Fbq%%SURJG/FCF`q/-
Fcq6$FeqFCFfq/F[rFhqF_qC0>81&FA6#""$>82&FA6#""%>FT-FN6#FC>FX-&F<6#_F<%'coldimGF
[s>8)-FN6#F_q@$0-F^sFesFX-%&ERRORG6#%Lnon-matching~number~of~columns~of~matrice
s.G>8+<#-%$seqG6$-%$addG6$*&&8*6#FLFjn&FC6$FFFLFjn/FL;FjnFX/FFF[o>8/-Fat6$&FhtF
R/FFF]u>8,-&%,Ore_algebraG6#%-skew_algebraG6(-Fcq6#&FA6#"#8/%(polynomG7$F`u-Fcq
6#&FA6#""&/%%commG7$F`u-Fcq6#&FA6#""'/%%funcG&FA6#"")/%/characteristicG&FA6#""(
/%.alg_relationsG&FA6#""*>8--%6OreModules/term_orderG6%Ffu-%%tdegG6%-Fcq6#Fer-F
cq6#F`rF`u7#F`u>8.-%.OreModules/gbG6$F^tFbx>807"?(FFFjnFjnFcs%%trueG>Fdy7$-Fcq6
#Fdy-%7OreModules/normal_formG6%-Fdt6$*&FgtFjn&F_qF[uFjnF\uF_yFbx-F`o6#-%$mapG6
$f*6#%"PG6#FhoF$F$7#-Fat6$-%&coeffG6$F_q&T#6#F9/F9;FjnT%F$F$6&F]pFhtF[pFXFdyF$F
$F$%1KroneckerProductGf*6%%"AG%"BGF/6%FgoFhoFioF$F$-&F<6#_F<%,blockmatrixG6%Fds
Fhs7#-Fat6$-Fat6$-Ffz6$f*6#FgoF$6$%)operatorG%&arrowGF$-%%MultG6%&T$6$Fg[lT'F_q
T*F$F$6*F\\lF_qFhoFFFioFLF/FAFC/FL;FjnFhs/FF;FjnFdsF$F$F$%.ImMorphismRatGf*F)6$
F2%"QGF$F$C%>F9F:>FF-%7OreModules/QuotientRatG6%F9FCFJ-F]o6#7%-F`oFR-F`oFd[l-F`
oF[sF$F$F$%-subsalgnamesGf*6%Fjo'%)algnamesGF0'%(algrelsGF06#%$posGF$F$@+-%%typ
eG6$F_q%"+G-Ffz6&&F"6#F^_lF_qFCFA-Fi_l6$F_q%"*GF\`l-Fi_l6$F_q%"^G)-F^`l6%-Fcq6$
FjnF_qFCFA-Fcq6$""#F_q/Fbq%'RootOfG@%-%'memberG6%Fi`lFA.F9&FCFd[lF_qF_qF$F$F$%/
KerMorphismRatGf*F)6+F2F3F4F5F6Fa^l%#P2G%#L1G%#L2GF$F$C,>F9F:>FFFG>FLFM>FTFU>FX
FY>Fcs-Ff^l6%FXF_qFJ>Fht-FZ6%FFFin;,&FTFjnFjnFjn-F^sFR>F^t-FH6$FXFJ>Ffu-%8OreMo
dules/FactorizeRatG6%F_qFXFJ@%-Fi_l6$-Fcq6#F^t%(integerG-F]o6$7%-F`o6#FcsF_o-F`
oFes7#-F`o6#Ffu-F]o6$Fjcl7#-F`o6#-F;6$F^tFfuF$F$F$%,IdempotentsGf*6&F*F,F/%%Alg
1G6AFhoFio%"kG%#p1G%#q1G%#p2G%"vGFdpFepFapF3%#S1G%#S2GF_pF`p%&mAlg1GFbpF]p%#nuG
%%elimGFjz%#PPG%#MDG%"cG%#S3G%#S4G%#S5G%#S6G%#S7G%#S8G%&paramGF$F$C7>F^tFar>Ffu
Ffr>FTFhs>FXFds>FcsF]s>F_y-F`o6#,&-%0OreModules/MultG6%FCFC9'FjnFCFD>846$-Fat6$
&85Fd[l/F9F[o-Fat6$&86Fd[l/F9F]u>F`r-%<OreModules/DefineOreAlgebraG6(F]v/Fcv7$F
`glFev/F[w7$F`gl-Fcq6#&F^glF`wFbwFgwF\x>Fer-Fdx6%&F`r6#Fjn-%'lexdegG6$7#Fbgl7%F
ggl-FcqF`dlFecl7#F`gl>Fbx-Fay6$7#-Fat6$,&-Fdt6$*&&F_q6$F9FFFjn&FeglFRFjnF^uFjnF
iglFDF[hlFer>877#-Fat6$-F]z6%-Fdt6$*&&F_y6$FLFFFjnF_jlFjn/FF;FjnFcsFbxFer/FLF[o
>F`u-%(collectG6%-%%subsG6$7#-Fat6$/FiglFeqF[hlFajl7%FbglFeclFail%,distributedG
>Fdy-F`o6#-Ffz6$f*6#Fa^lF[[lF$F$F\[lF$F$6&F]pFeglF^elFTF`u>8<-%(convertG6$Fdy%$
setG>8=-Ffz6%%'coeffsGFe\m<#Fail>8>-Ffz6$%&numerG-F`o6#F[]m>8?-Ffz6%F^]m-Ffz6$%
'expandG-F`o6#Fa]m<#Fecl@%/FiwFeqC$>Fht-%&minusG6$<#Fdhl<#F]w>8@7#-%&solveG6$Fh
]m<#-Fcq6#Fht>F[_m7#-%'msolveG6%Fh]mF`_mFiw>8A-Fg\m6$F[_mFi\m>897#-Fat6$-%)simp
lifyG6#-Fd[m6$&Fi_mFd[lF]_l/F9;Fjn-%%nopsG6#Fi_m-F]o6#F]`mF$F$F$%(TestIsoGf*6(F
*F+F,F-F.%$optG6&F3%"FG%#A1G%#B2GF$F$@%3/-&F"6#%(TestInjG6'F_qFCFAF^glFJFgy/-&F
"6#%)TestSurjGF]bmFgy@%29#Faw-F]o6#FgyC'>F9-&F"6#%-CoimMorphismGF]bm>FF-%5OreMo
dules/FactorizeG6%F9F_qFJ>FL-FZ6%-%7OreModules/LeftInverseG6$-F;6$FAFCFJ;Fjn-F^
sFV;FjnFU>FT-F`cm6%-F`o6#,$-F\gl6%FCFLFJFDF9FJ-F]o6#7%Fgy-F`oFit-F`o6#,$-Fb]l6%
FTFFFJFD-F]o6#F%F$F$F$%/IdempotentsRatGf*Fjdl6JFhoFioF]elF^elF_elF`elFaelFdpFep
FapF3FbelFcelF_pF`pFdelFbpF]pFeelFfelFjzFgelFhelFielFjelF[flF\flF]flF^flF_flF`f
l%#S9G%$S10G%$IndG%%Ind1G%%Ind2G%$nS9G%$nS8G%%denUG%#v1GF$F$CC>F^tFar>FfuFfr>FT
Fhs>FXFds>Fcs-F^s6#&FCF[il>88-F`o6#-Fdt6$*&-%$catG6$8;F9FjnFealFjn/F9;Fjn-Fj`mF
[s>Fht7#-Fat6$F\gmF`gm>F`glFagl>F`r-F^hl6(F]v/F[w7%F`glF]wFa_m/Fcv7$-Fcq6#-%'re
moveG6%%$hasGFgvF^tF`glFbwFgwF\x>F_y-F`o6#,&-F\gl6%FffmFffmF`rFjnFffmFD>Fer-Fdx
6%Fjhl-F]il6$F_il7$FailFgglFbil>FbxFdil>FajlFbjl>F`uF`[m>Fdy-F`o6#-Ffz6$f*Fb\mF
[[lF$F$F\[lF$F$Fc\mF`u>Fe\mFf\m>F[]mF\]m>Fa]mFb]m>Fh]mFi]m>8K-Ff^m6$<$F]wFa_mFh
^m@%Fb^m>F[_m7#-F^_m6$Fh]m<#-Fcq6#F_jm>F[_m7#-Ff_m6%Fh]mFhjmFiw>Fi_mFj_m>8IFi`m
>8J-Ffz6$%&denomG-F`o6#Fffm>8E<"?(F9FjnFjnFa[nFgy@$0-Fdhm6$Feq-Fg\m6$-F`o6#-Fd[
m6$Ff`m-F`o6#Fc[nFi\mFgy>Fj[n-%&unionG6$Fj[n<#F9>8C7#-Fat6$-Fb`m6#-Fd[m6$Ff`mFg
[n/F9Fj[n>8H-Fj`m6#F_]n>8FF[\n?(F9FjnFjn,&Fi]nFjnFDFjnFgy?(FF,&F9FjnFjnFjnFjnFi
]nFgy@$-%.IsMatrixShapeG6$-Fg\m6$-Fb`m6#-F`o6#,&&F_]nFd[lFjn&F_]nFRFD%'MatrixG%
'scalarG@%0-&F<6#_F<%'iszeroG6#-F`o6#F]_nFgy>F]^n-F[]n6$F]^n<#FF>F]^n-F[]n6$F]^
nF]]n>8G-Ff^m6$<#-Fat6$F9/F9;FjnFi]nF]^n>8D7#-Fat6$Fi_n/F9Fc`n-F]o6#F\anF$F$F$%
+TestInjRatGf*F)6$%"KG%%InvKGF$F$C$>F9&&-&F"6#FfalF]bmF[ilF[il@%/&-Fg\m6$F9%&ar
rayG6$FjnFjnFjnFfbmF^emF$F$F$%.ChainMorphismGf*6'F*F3F,F-F.6'%"XGFcamF^pFhoFeoF
$F$C*>FX-Fb`m6#-F`o6#,&-F\gl6%F_qFAFJFjn-F\gl6%F^glFCFJFD@$0-Fd_nFaoFgy-F]o6#%W
The~third~and~fourth~matrices~do~not~define~a~morphismG>&F9F[il-F`oFV>&F96#F]al
-F`o6#F^gl>FF-%:OreModules/FreeResolutionG6$F_qFJ>FL-Ffdn6$FCFJ?(FTF]alFjn,&-Fj
`m6#-Fg\m6$FFF0FjnFDFjnFgy>&F96#Fibl-F`cm6%-F\gl6%&FF6#FT&F9FienFJ&FLFienFJ7%-F
g\m6$-%%evalGFRF0-Fg\m6$-F`fnFitF0-Fg\m6$-F`fnFd[lF0F$F$F$%7HeuristicDecomposit
ionGf*6%F*FjzF/6.Fa^l%#U1G%&SyzU1G%#U2G%#V1G%&SyzV1G%#V2GF,F-%%invUG%&SyzU2G%&S
yzV2GF$F$C(>F9-F`cm6%-Fb]l6%F_qFCFAF_qFA>FF-%8OreModules/SyzygyModuleG6$FCFA>FL
-F\hn6$FFFA>FX-F\hn6$F9FA>Fcs-F\hn6$FXFA@%3/-Fcq6$FeqFLFfq/-Fcq6$FeqFcsFfqC'>FT
-F\hn6$-F`o6#,&FjnFjnFCFDFA>Fht-F\hn6$-F`o6#,&FjnFjnF9FDFA>F_y-F\hn6$FTFA>F`u-F
\hn6$FhtFA@%3/-Fcq6$FeqF_yFfq/-Fcq6$FeqF`uFfqC&>F^t-F;6$FFFT>Fbx-Ffcm6$F^tFA>Ff
u-F;6$FXFhtO7%-Fb`m6#-F`o6#-F\gl6&FfuF_qFbxFA-F`oFfclF_dlOQ0Heuristic~failsF$OF
^\oF$F$F$%.MorphismsRat2Gf*6(F*F+F.%#dDG%%dnumG%%ddenG6SFgoF5FhoFioF]elF^elF_el
F`el%#q2GF\p%#raG%"sGFaelFdpFepFapF-F,F2FeoF3FbelFcelFjelF[flF\flF]flF^flFfelF_
pF`p%%MnumG%%MdenGFhelF_flFjemFiemFeem%$ResGFbpFcemFhemFfemFgem%#UUGF`flFdel%&m
Alg2G%%UredGF$F$CF>F`rFar>FerFfr>FcsFhs>FhtFds>F^tF]s>FfuFjr@%2Feq9)C'>Fj[n-%9O
reModules/monomialbasisG6%F^glFeqFA>F_]n-F]^o6%FeqFJFA>F\an-F]^o6%FeqFi]oFA>Feg
l-&F<6#_F<%'matrixG6%FcsF^tf*6$FhoFio6$F]elF4F$F$-Fdt6$*(-Fdt6$*&-F]gm6$-F]gm6$
-F]gm6$-F]gm6$%"nGF_qFCF9FFFjnFb[lFjn/F9;Fjn-Fj`m6#Fc[lFjn-Fdt6$*&-F]gm6$-F]gm6
$-F]gm6$-F]gm6$%"dGF_qFCF9FFFjn&Fg[lFd[lFjn/F9;Fjn-Fj`m6#Fg[lFD&Fg]lFRFjn/FF;Fj
n-Fj`m6#Fg]lF$F$6(Fj\oF_]nF[]oF\anFhelFj[n>Fdy7$-Fat6$-Fat6$-Fat6$-Fat6$-F]gm6$
-F]gm6$-F]gm6$-F]gm6$F]`oFLFTFXF4/F4;Fjn-Fj`m6#Fj[n/FX;FjnFj]n/FT;FjnF^t/FLF][m
-Fat6$-Fat6$-Fat6$-Fat6$-F]gm6$-F]gm6$-F]gm6$-F]gm6$F]aoFLFTFXF4F[co/FX;Fjn-Fj`
mFbanFacoFccoC&>Fj[nF\^o>F_]nF`^o>Fegl-Fg^o6%FcsF^tf*F]_oF^_oF$F$-Fdt6$*&Fb_oFj
n&Fg[lFRFjn/FFF`aoF$F$6&Fj\oF_]nFhelFj[n>Fdy7#F[bo>F_jm6$-Fat6$&F]pFit/FLFbco-F
at6$&FeelFit/FL;FjnFfu>Fi_m-F^hl6(F]v/F[w7%F]wFjyF_jm/Fcv7$-Fcq6#-Fbhm6%FdhmFgv
F`rF_jmFbwFgwF\x>Fffm-F`o6#-F\gl6%F_qFeglFi_m>8B-Fdx6%&Fi_mF[il-Fgx6$FixF_jm7#F
_jm>83-Fay6$7#-Fat6$,&-Fdt6$*&&FC6$FLFTFjn&F]pFienFjnFacoFjnF^foFDF_foFbgo>F[_m
7#-Fat6$-F]z6%-Fdt6$*&&Fffm6$FXFTFjnFfhoFjnFacoFjgoFbgo/FX;FjnFht>F]`m-Fa[m6%-F
d[m6$7#-Fat6$/F^foFeqF_foF[_m7$FheoFixF[\m>8:-F`o6#-Ffz6$f*FizF[[lF$F$7#-Fat6$-
F`[l6$F_q&F]pFd[l/F9;FjnFc[lF$F$6$F`elF^tF]`m>F_gm-Fg\m6$F_joFi\m>Fe\m-Ffz6%F^]
mF_gm<#Fix>F[]m-Ffz6$Fd]m-F`o6#Fe\m>Fa]m-Ffz6%F^]m-Ffz6$F]^mFe]m<#F[y@%Fb^m>Fh]
m7#-F^_m6$Fa]m<#FjyC$>Fh]m7#-Ff_m6%Fa]mFe\pFiw>Fi_m-F^hl6(F]v/F[w7%F]w-Fcq6#-Ff
^m6$-%'indetsG6#Fh]mFf\mF_jmFffoFbwFgwF\x>F]^n-Fg\m6$Fh]mFi\m>Fi]n-Fj`m6#F]^n>F
c`n-Ffz6$Ff[n-F`o6#Fegl>Fa[nF[\n?(FLFjnFjnFi]nFgy@$0-Fdhm6$Feq-Fg\m6$-F`o6#-Fd[
m6$&F]^nFit-F`o6#Fc`nFi\mFgy>Fa[n-F[]n6$Fa[n<#FL>8L7#-Fat6$-Fg\m6$-Fb`m6#-Fd[m6
$F^_pF`^pFi^o/FLFa[n>8M-Fj`m6#Ff_p>8NF[\n?(FLFjnFjn,&Fb`pFjnFDFjnFgy?(FT,&FLFjn
FjnFjnFjnFb`pFgy@$-Fd^n6$-Fg\m6$-Fb`m6#-F`o6#,&&Ff_pFitFjn&Ff_pFienFDF__nF`_n@%
0-Fd_n6#-F`o6#FeapFgy>Ff`p-F[]n6$Ff`p<#FT>Ff`p-F[]n6$Ff`pFd_p>8O-Ff^m6$<#-Fat6$
FL/FL;FjnFb`pFf`p>8P7#-Fat6$F[bp/FLFebp>8Q-Ff^m6$<#-Fat6$-Fat6$-Fat6$-Fcq6#-Fe]
p6#&&F^cpFaoFehoFacoFcco/FX;Fjn-Fj`m6#F^cp<%FixF[y-Fcq6#&Fi_mFhv>8R-F^hl6(-Fcq6
#&Fi_mF`v/F[w7$-Fcq6#Fdcp-Fcq6#&Fi_mF`w/Fcv7#Fidp/Fcw&Fi_mFew/Fhw&Fi_mFjw/F]x&F
i_mF_x>8T-Fat6$-&F"6#%-ReduceMatRatG6%&F^cpFitFCF]epFbcp>8S-F^hl6(F`ep/F[w7%Fee
pF]wF`]p/Fcv7#FevF\fpF^fpF`fp-F]o6#7$-Fat6$-F`o6#&FcfpFitFbcpF]gpF$F$F$%6Idempo
tentsConstCoeffGf*6'F*F,F.Fc\o%%nameG6GFhoFioF]elF^elF_elF`elFaelFdpFepFapF3Fbe
lFcelF_pF`pFdelF^]oFbpF]pFeelFfelFjzFgelFhelFielFjelF[flF\flF]flF^flF_flF4%#l2G
Fd_l%*set_paramG%(commnewGFb_lF$F$C9>F^tFar>FfuFfr>FTFhs>FXFds>FcsFbfm>F_gmF\^o
>F]`m-F`o6#-Fdt6$*&-Fdt6$*&-F]gm6$-F]gm6$Fe\mF9FFFjn&F_gmFRFjn/FF;Fjn-Fj`m6#F_g
mFjnFealFjnF`gm>Fht7#-Fat6$-Fat6$FdipFiipF`gm>Fegl6$-Fat6$FiglFfgl-Fat6$&FajlFd
[lF[hl>F`r-F^hl6(F]v/F[w7%F]wFa_mFegl/Fcv7$FevFeglFbwFgwF\x>F_y-F`o6#,&-F\gl6%F
]`mF]`mF`rFjnF]`mFD>Fer-Fdx6%Fjhl-F]il6$7#Fejp7%FailFeclFgjp7#Fegl>Fbx-Fay6$7#-
Fat6$,&-Fdt6$*&F]jlFjn&FjglFRFjnF^uFjnFijpFDF[hlFer>Fffm7#-Fat6$-F]z6%-Fdt6$*&F
jjlFjnFi\qFjnF\[mFbxFerF^[m>F`u-Fa[m6%-Fd[m6$7#-Fat6$/FijpFeqF[hlFffm7%FejpFecl
FailF[\m>Fdy-F`o6#-Ffz6$f*Fb\mF[[lF$F$F\[lF$F$6&F]pFjglF^elFTF`u>F[]mFf\m>Fa]m-
Ffz6%F^]mF[]mF_]m>Fh]m-Ffz6$Fd]mF^^m>F[_m-Ffz6%F^]m-Ffz6$F]^m-F`oFf]pF`^m@%Fb^m
>Fi_m7#-F^_m6$F[_mF`_m>Fi_m7#-Ff_m6%F[_mF`_mFiw>F_]n-Ffz6&%'selectGFdhmFi_mF_al
@%/F_]nFeyC'>Fbgo-Fg\m6$Fi_mFi\m>F_jo7#-Fat6$-Fb`m6#-Fd[m6$&FbgoFd[l-F`oF]am/F9
;Fjn-Fj`m6#Fbgo>Fc`n-Ff^m6$<#-Fat6$-Fat6$-Fat6$-Fcq6#-Fe]p6#&&F_joFitF^jlF\[mFf
gl/FL;Fjn-Fj`m6#F_jo<%FailFeclF]w>Fjgo-F^hl6(F]v/F[w7$F]w-FcqF`_pFbgpFbwFgwF\x-
F]o6#7$F_joFjgoC->Fbgo-Ff^m6$<#-FcqF[am<#-FcqF[^n>Fj[n7#-Fcq6#-&F"6#%,findalgre
lsGF[^n>Fi]n7#-Fat6$&FJFd[l/F9F\co>F]^nFey?(F9FjnFjnF]coFgy>F]^n7$-FcqF\^p-Fd[m
6$/&-Fg\m6$-Ff^m6$-Ff^m6$-Fe]p6#&Fj[nFd[l-Fg\m6$F_wFi\m-Fg\m6$FhtFi\mF0F[ilFddq
Fgeq>F\an-F[]n6$<#-Fcq6#-Ffz6&&F"6#%%FuncGF_]nFi]nFj[nFbgo>F_jo7#-Fat6$-Fb`m6#-
Fd[m6$&F\anFd[lF]aq/F9Fedo>Fc`n-Ff^m6$Feaq<&FailFecl-Fcq6#Fi]nF]w>Fjgo-F^hl6(F]
vFjbq/FcvFgvFbwFgwF\x>F`gl-F^hl6(-Fcq6#&FjgoF`v/F[w7$-Fcq6#&FjgoF`wFegq/Fcv&Fjg
oFhv/Fcw&FjgoFew/Fhw&FjgoFjw/F]x7$-Fcq6#&FjgoF_xFjdq-F]o6#7$F_joF`glF$F$F$%+Tes
tIsoRatGf*F`amFbamF$F$@%3/-&F"6#FcanF]bmFgy/-&F"6#%,TestSurjRatGF]bmFgy@%FdbmFf
bmC'>F9-&F"6#F'F]bm>FF-F`clFacm>FL-FZ6%-%:OreModules/LeftInverseRatGFgcmFjcmF\d
m>FT-F`clF_dmFedmF^emF$F$F$Fffqf*6%%$solGFb_lFd_l6$Fho%&listeGF$F$C$>FFFey?(F9F
jnFjn-Fj`mFesFgy>FF<$-FcqFR/-%$lhsG6#&F_qFd[l-F^`l6%-%$rhsGF_\rFCFAF$F$F$%/Morp
hismsConstGf*6%F*F+F.69F^elF`elF_elFg\oFeo%"NGF2F3Fi\oF,FhoFioF]elF-F]]o%#VVGF_
p%%quotGF_]o%%VredGFiel%$indGFdelF$F$C2>F9Fhs>FLFds>FFF]s>FTFjr>FX-%<OreModules
/KroneckerProductG6%-&F<6#_F<%*transposeGFes-&F<6#_F<%%diagG6#-Fat6$Fjn/F_y;Fjn
FF&FAF[il>Fcs-Fe]r6%-F]^r6#-Fat6$FD/F_yFinFCFf^r>Fht-F;6$FXFcs>F^tF`jn>Ffu-FNFf
cl>Fbx7#-Fat6$-F;6#-Fat6$-FZ6%F^t;F_yF_y;,&*&FFFjn,&F`uFjnFDFjnFjnFjnFjnFjn*&FF
FjnF`uFjn/F`u;FjnF9/F_yF`fo>Fdy*&F9FjnFFFjn>Fer-F`o6#-Fdt6$*&&Fjo6#F_yFjn&FbxFa
arFjnFg`r>F`gl-F^hl6(F]v/F[w7$-Fat6$F`arFg`rF]wFbgpFbwFgwF\x>Fjgl-&F"6#Fbo6%Fer
FCF`gl>F]`m-Ff^m6$-F[]n6#-Fat6$-Fat6$-Fe]p6#&Fjgl6$F_yF`u/F_yFf`r/F`uFe^r<$-Fcq
6#FfrF]w-F]o6#7$-F`o6#Fjgl7#-FcqF]amF$F$F$%*MorphismsGf*6'F*F+F.Fc\o%#dxG6HF5Fh
oFioF]elF^elF_elF`elFg\oF\pFh\oFgoFi\oFaelFdpFepFapFeoF3FbelFcel%#RRG%#R1G%#R2G
F_pF`pFbpF]pFeelFfel%&elim1GF,F-F]aoF_]oF\]rFdelF[]rF`flF$F$C=>F`rFar>FerFfr>FX
Fhs>FcsFds>FhtF]s>F^tFjr>F`gl-F]^o6%F^glFJFA>Fbgo-Fg^o6%FXFhtf*F]_o6#F]elF$F$-F
dt6$*&-F]gm6$-F]gm6$-F]gm6$Fc[lF_qFCF9FjnF^aoFjnF_aoF$F$6&F5F9FeoF`gl>Fdy7#-Fat
6$-Fat6$-Fat6$-F]gm6$-F]gm6$-F]gmF^jlFLFT/FT;Fjn-Fj`m6#F`gl/FLFcioFdu>F[]m6$-Fa
t6$&Fa]mFR/FFFcio-Fat6$&Fh]mFR/FFFbco>F_gm-F^hl6(F]v/F[w7%F]wFjyF[]m/Fcv7$FevF[
]mFbwFgwF\x>Fegl-F`o6#-F\gl6%F_qFbgoF_gm>Fe\m-Fdx6%&F_gmF[il-Fgx6%FixF[yF[]m7#F
[]m>Fjgo-Fay6$7#-Fat6$,&-Fdt6$*&FjtFjn&Fa]mFitFjnF[grFjnFdgrFDFegrFe\m>F[_m7#-F
at6$-F]z6%-Fdt6$*&&Fegl6$FTFLFjnFcirFjnF[grFjgoFe\m/FTF][m>Fjgl-Fa[m6%-Fd[m6$7#
-Fat6$/FdgrFeqFegrF[_m7%F^grF[yFixF[\m>Fajl-&F<6#_F<%*genmatrixG6%-Ffz6%F^]mFjg
lFijrFdy.Ffu@$/FebmFaw>F_y&9"F`w@%Fb^m>Fffm-&F<6#_F<%)linsolveG6&FajlFfu.Fbx.F_
y>Fffm-%$modG6$-%)LinsolveGF`\sFiw@$/Fffm%%NULLG-F]o6#Fey>F]`m-Fg\m6$Fffm%)list
listG>F_jo-Fd[m6$-Ffz6$f*F[[lF$F^]lF$/F_qFeqF$F$F$-Fbhm6%Fdhm-Fe]pF`dlF_wF]`m>F
bgo-Fd[m6$7#-Fat6$/&FdyFR&F_joFR/FF;Fjn-Fj`mF[z-F`oFaaq>Fa[n-Ff^m6$<#-Fat6$-Fat
6$-Fcq6#-Fe]p6#&FbgoF[uF[grFdu<%F]wFixF[y>Fc`n-F^hl6(F]v/F[w7$F]w-Fcq6#Fa[nFbgp
FbwFgwF\x>Fj[n-F\br6%FbgoFCFc`n-F]o6#7$-F`oF^coFc`nF$F$F$%4MorphismsConstCoeffG
f*6&F*F+F.FaamF$F$F$@%2FcrFebm-&F"6#%7GenMorphismsConstCoeffG6&F_qFCFAF^gl-F[as
FignF$F$F$%-MorphismsRatGf*6)F*F+F.Fc\oFd\oFe\oFaamF$F$F$@%2FawFebm-&F"6#F`\o6(
F_qFCFAF^glFJFi]o-&F"6#%.MorphismsRat1GFhasF$F$F$%6HeuristicReductionRatGf*Fifn
63Fa^lF[gnF\gnF]gnF^gnF_gnF`gnF,F-Fagn%%W2_VG%%W2_UG%$Z_UGFho%$Z_VG%#nUG%#nVGF$
F$C(>F9-F`clFggn>FF-FHF]hn>FL-FHF`hn>FX-FHFchn>Fcs-FHFfhn@%FhhnC)>F`u-%FOreModu
les/MinimalParametrizationsRatGF`hn>Fdy-Ffz6%F][rF`uFA>FT&FdyF[il>F`rFjn>FjgoFg
^s?(F$FjnFjnF$3/FTFey2F`rFjgoC$>F`r,&F`rFjnFjnFjn>FT&FdyF\y@%F_dsOF^\oC)>F_y-Fe
csFfhn>Fer-Ffz6%F][rF_yFA>Fht&FerF[il>F`rFjn>F`gl-Fj`mFjx?(F$FjnFjnF$3/FhtFey2F
`rF`glC$>F`rFcds>FhtFeds@%0FhtFeyC&>F^tF\[o>Fbx-F][rF`[o>FfuFb[oOFe[oOF^\oOF^\o
F$F$F$%1CokerMorphismRatGf*F)F$F$F$-F]o6#FhcmF$F$F$%3HeuristicReductionGf*FifnF
_bsF$F$C(>F9Ffgn>FFF[hn>FLF_hn>FXFbhn>FcsFehn@%FhhnC)>F`u-%COreModules/MinimalP
arametrizationsGF`hn>Fdy-Ffz6%FfcmF`uFA>FTFjcs>F`rFjn>FjgoFg^s?(F$FjnFjnF$F^dsC
$>F`rFcds>FTFeds@%F_dsOF^\oC)>F_y-FdgsFfhn>Fer-Ffz6%FfcmF_yFA>FhtF_es>F`rFjn>F`
glFbes?(F$FjnFjnF$FdesC$>F`rFcds>FhtFeds@%F[fsC&>F^tF\[o>FbxF_[o>FfuFb[oOFe[oOF
^\oOF^\oF$F$F$F]asf*Fg`s6DF^elF`elF_elFg\oFeoFi\rF2F3Fi\oF,FhoFioF]elF-F[]rF]]o
Fj\r%%SetUG%%SetVG%#sUG%#T1G%#T2G%#TTG%#UTG%2matrixofrelationsG%&SetUUGF4F]\l%"
bG%,CompositionG%2CompositionMatrixG%,CommutationG%2CommutationMatrixG%'IndiceG
F$F$C3>F9Fhs>FLFds>FFF]s>FTFjr>FXFd]r>FcsFh^r>FhtF`_r>F^tF`jn>FfuFd_r>FbxFf_r>F
dyFi`r>FeglFey?(F_yFjnFjnFfuFgyC$>&FjgoFaar-F\br6%FbarFCFA@$0-Fd_n6#Fg[tFgy>Feg
l7$-F`oF]\t-FcqFa^p>F[]m<#Fa\t?(F_yFjnFjn-Fj`mFa^pFgy?(F`u,&F_yFjnFjnFjnFjnFe\t
Fgy@$-Fd^n6$-Fg\m6$-Fb`m6#-F`o6#,&&FeglFaarFjn&Fegl6#F`uFDF__n%%zeroG>F[]m-Ff^m
6$F[]m<#Fc]t>F[]m-Fg\m6$F[]mF0@%/F[]mFey-F]o6#7#-F`o6#7#-%"$G6$7#-Ff^t6$FeqFFF9
C)>Fajl-Fj`mFf]m>Fffm-F;6#-Fat6$-Fi^o6%FjnFi`r7#-Fat6$-Fat6$&&F[]mF[zF[crF]crF\
cr/Fdy;FjnFajl>F]`m-Fe]r6%-F]^r6#-Fat6$FjnF\crFCFf^r>F_jo-F;6$FffmF]`m>F_gm-%-S
yzygyModuleG6$F_joFA@%/-Fcq6$FeqF_gmFfq>Fh]mFeyC&>Fe\m-FZ6%F_gm;Fjn-FNF\jpF]`t>
Fa]mFjn?(F_yFjnFjn-FNFi[pFgy@$/-Fd_n6#-&F<6#_F<%$rowG6$Fe\mF_yF%C$>&F[_mF_^mF^b
t>Fa]m,&Fa]mFjnFjnFjn>Fh]m-Fg^o6%,&Fa]mFjnFDFjn-F^sFi[p7#-Fat6$&F[_mFaar/F_y;Fj
nF\ct@%333/F9FF/FLFT5/-Fb`m6#-F`o6#,&F_qFjnFCFDFeq-Fd_n6#F\dtFi`sC&>Fj[n-Fi^o6$
*&FajlFjnFajlFjnFjn?(F_yFjnFjnFajlFgy?(F`uFjnFjnFajlFgyC$>&Fi_mF[cr-F`cm6%-Fh]r
6#-Fg\m6$-Fg\m6$-Fb]l6%&F[]mFaar&F[]mFd]tFA_F<%'vectorGFi^oF_joFA>&Fj[n6$,&*&,&
F_yFjnFDFjnFjnFajlFjnFjnF`uFjnFjn7$F_yF`u>Fbgo-&F<6#_F<%(augmentG6$Fd`s-FZ6%-F;
6#-Fat6$-Fat6$-F`o6#F\et/F`uF]`t/F_yF]`t;Fjn*$FajlF]alF]`t-F]o6#7%-F`fnFf]mF`_q
Fh^s-F]o6#7$FjgtF`_qF$F$F$F\bmf*F)FeanF$F$C$>F9&&-&F"6#%,KerMorphismGF]bmFadnF[
il@%/-FfcmFIFeyF^emFfbmF$F$F$%+RiccatiRatGf*6+F*FjzFa^l%"ZGF.Fc\oFd\oFe\oF_hp6f
nFgoF5FhoFioF]elF^elF_elF`elFg\oF\pFh\oFi\oFaelFdpFepFapF-F,F2FeoF3FbelFcelFjel
F[flF\flF]flF^flFfelF_pF`pFj\oF[]oFhelF_flFjemFiemFeemF\]oFbpFcemFhemFfemFgemF]
]oF`flFdelF^]oFielF]`oF]aoF4Fd_lFb_lFbhpFahpFgelFchpF$F$C3>F`r&FJFbr>Fer&FJFgr>
FcsFhs>FhtFds>F^tFhs>FfuFds@%2Feq9+C'>Fj[n-F]^o6%Fi]oFeqFJ>F_]n-F]^o6%Feq9*FJ>F
\an-F]^o6%FeqFjitFJ>Fegl-Fg^o6%FcsF^tf*F]_oF^_oF$F$-Fdt6$*(-Fdt6$*&-F]gm6$FcerF
FFjnF^aoFjnF_aoFjn-Fdt6$*&-F]gm6$-F]gm6$Fg]lF9FFFjn&T)Fd[lFjn/F9;Fjn-Fj`m6#Fj[u
FD&T+FRFjn/FF;Fjn-Fj`m6#F`\uF$F$6,F]`o8UFj\oF_]nF]ao8VF[]oF\anFhelFj[n>Fdy7$-Fa
t6$-Fat6$-Fat6$-Fat6$-F]gm6$-F]gm6$-F]gm6$-F]gm6$Ff\uFLFTFX8W/Fj]uF\coF_coFacoF
cco-Fat6$-Fat6$-F]gm6$-F]gm6$Fg\uFXFj]uF[^uFddoC&>Fj[nF]jt>F_]nF`jt>Fegl-Fg^o6%
FcsF^tf*F]_oF^_oF$F$-Fdt6$*&F][uFjnFcaoFjnFdaoF$F$6(F]`oFf\uFj\oF_]nFhelFj[n>Fd
y7#Fj\u>Fi_m-F^hl6(-Fcq6#&FJF`v/F[w7$-Fcq6#&FJF`wFjy/Fcv7#-Fcq6#-Fbhm6%Fdhm&FJF
hvF`r/Fcw&FJFew/Fhw&FJFjw/F]x&FJF_x>Fffm-Fb`m6#-F`o6#,*-F\gl6&FeglF_qFeglFi_mFj
n-F\gl6%FeglFAFi_mFjn-F\gl6%-F`o6#,&FCFjnFDFjnFeglFi_mFjnF^glFjn>F_gm-Fg\m6$Fff
mFi\m>Fe\m-Ffz6%F^]m-Ffz6&Fa[mF_gmFd[pF[\mFd[p>F[]mFf[p>Fa]mF[\p@%/Ff`uFeq>Fh]m
Fb\p>Fh]m7#-Ff_m6%Fa]mFe\pFf`u@$/Fh]mF[\nF\]s>Fj]u-Ffz6&F]`qFdhmFh]mF_al@%/Fj]u
FeyC0>F]^nFh]p>Fi]nF[^p>Fc`nF^^p>Fa[nF[\n?(FLFjnFjnFi]nFgy@$Fe^p>Fa[nFb_p>Ff_p7
#-Fat6$F\`pF``p>Fb`pFc`p>Ff`pF[\n?(FLFjnFjnFh`pFgy?(FTFj`pFjnFb`pFgy@$F\ap@%Fha
p>Ff`pF^bp>Ff`pFbbp>FebpFfbp>F^cpF_cp>Fdcp-Ff^m6$Fgcp<%Fi_uFixF[y>F]ep-F^hl6(F`
ep/F[w7$FeepFi_uFjepF\fpF^fpF`fp-F]o6$7#-Fat6$-F`o6#F[gp/FLFedpF]epC6>F]^n-Ff^m
6$<#-FcqFf]p<#-Fcq6#Fj]u>Fi]nF[^p>Fc`nF^^p>Fa[nF[\n?(FLFjnFjnFi]nFgy@$Fe^p>Fa[n
Fb_p>Ff_pFicu>Fb`pFc`p>Ff`pF[\n?(FLFjnFjnFh`pFgy?(FTFj`pFjnFb`pFgy@$F\ap@%Fhap>
Ff`pF^bp>Ff`pFbbp>FebpFfbp>8X7#-Fcq6#-F]dqF_fu>8Y7#-Fat6$&9,Fit/FL;Fjn-Fj`m6#Fa
gu>8ZFey?(FLFjnFjnF_huFgy>Fbhu7$-Fcq6#Fbhu-Fd[m6$/&-Fbhm6%Fdhm-Fe]p6#&FaguFitFi
epF[ilF[huF`iu>8en<#-Fcq6#-Ffz6&FdfqFj]uFgguFagu>8fn7$-Fat6$-Fb`m6#-Fd[m6$&Fbiu
FitF`^p/FL;Fjn-Fj`m6#FbiuF`cp>8gn-Ff^m6$<#-Fat6$-Fat6$-Fat6$-Fcq6#-Fe]p6#&&Fiiu
FaoFeho/FTFcioFcco/FX;Fjn-Fj`m6#Fiiu<&Fi_u-Fcq6#FgguFixF[y>F]ep-F^hl6(Fd_u/F[w7
$Fi_u-Fcq6#Fgju/FcvFb`uFc`uFe`uFg`u>F]gp-F^hl6(-Fcq6#&F]epF`v/F[w7$-Fcq6#&F]epF
`wF]\v/Fcv&F]epFhv/Fcw&F]epFew/Fhw&F]epFjw/F]x7$-Fcq6#&F]epF_xFfhu-F]o6$7#-Fat6
$-F`o6#&FiiuFit/FLFi[vF]gpF$F$F$%9IdempotentsMatConstCoeffGf*F^hp6?FhoFioF^elF_
elF`elFaelFdpFepF3F_pFjzFgelFhelFielFjelF[flF\flF]flF^flF_flF`flFdelF4FchpFd_lF
b_lFbhpFahpF^]oF$F$C3>FhtFar>F^tFfr>FLFhs>FTFds>FXFbfm>FdyF\^o>F_y-F`o6#-Fdt6$*
&-Fdt6$*&-F]gm6$-F]gm6$F`rF9FFFjnFc^sFjnFe^sFjnFealFjnF`gm>Fcs7#-Fat6$-Fat6$Fi_
vFe^sF`gm>Fbx-F^hl6(F]v/F[w7$F]w-FcqF\dlFbgpFbwFgwF\x>Ffu-F`o6#,&-F\gl6%F_yF_yF
bxFjnF_yFD>Fer-Fg\m6$FfuFi\m>Fjgo-Ffz6%F^]m-Ffz6&Fa[mFerF`^mF[\mF`^m>F`gl-Ffz6$
Fd]m-F`o6#Fjgo>Fegl-Ffz6%F^]m-Ffz6$F]^m-F`oFjfrF`_m@%Fb^m>Fjgl7#-F^_m6$Fegl<#Fh
`v>Fjgl7#-Ff_m6%FeglFgbvFiw>F_jo-Ffz6&F]`qFdhmFjglF_al@%/F_joFeyC'>Fajl-Fg\m6$F
jglFi\m>F`u7#-Fat6$-Fb`m6#-Fd[m6$Fijp-F`oFaar/F9;Fjn-Fj`m6#Fajl>F_gm-Ff^m6$<#-F
at6$-Fat6$-Fat6$-Fcq6#-Fe]p6#&&F`uF_erF^jlFdu/F9Fin/F]el;Fjn-Fj`mFd]t<%FeclF]wF
a_m>F]`m-F^hl6(F]v/F[w7$F]w-FcqF\jpFbgpFbwFgwF\x-F]o6#7$F`uF]`mC->Fajl-Ff^m6$<#
-FcqFecr<#-FcqFebq>Fe\m7#-Fcq6#-F]dqFebq>F[]m7#-Fat6$Fddq/F9;Fjn-Fj`mFi[p>Fa]mF
ey?(F9FjnFjnFcgvFgy>Fa]m7$-FcqF_^m-Fd[m6$/&-Fg\m6$-Ff^m6$-Ff^m6$-Fe]p6#&Fe\mFd[
lFheq-Fg\m6$FcsFi\mF0F[ilFddqFehv>Fh]m-F[]n6$<#-Fcq6#-Ffz6&FdfqF_joF[]mFe\mFajl
>F`u7#-Fat6$-Fb`m6#-Fd[m6$&Fh]mFd[lF]dv/F9;Fjn-Fj`mFf]p>F_gm-Ff^m6$Fedv<&Fecl-F
cqFf]mF]wFa_m>F]`m-F^hl6(F]vFjevFjgqFbwFgwF\x>F[_m-F^hl6(-Fcq6#&F]`mF`v/F[w7$-F
cq6#&F]`mF`wF`jv/Fcv&F]`mFhv/Fcw&F]`mFew/Fhw&F]`mFjw/F]x7$-Fcq6#&F]`mF_xFhgv-F]
o6#7$F`uF[_mF$F$F$%:HeuristicDecompositionRatGf*FifnFjfnF$F$C(>F9Fhbs>FFFjbs>FL
F\cs>FXF^cs>FcsF`cs@%FhhnC'>FT-FHFbin>Fht-FHFhin>F_y-FHF^jn>F`u-FHFajn@%FcjnC&>
F^tF\[o>FbxF_fs>FfuFb[oOFe[oOF^\oOF^\oF$F$F$%(RiccatiGf*6*F*FjzFa^lF]itF.Fc\oF[
drF_hp6?FhoFioF]elF^elF_elFaelFdpFepF_pF2FgelFhelF3FjelF[flF\flF]flF^flF_flF`fl
FdelF^]oF4FchpF^_lFd_lFb_lFbhpFahpF$F$C3>FhtFait>F^tFcit>FTFhs>FXFds>F`u-F]^o6%
Fi]oFbjtFJ>Fbx-Fg^o6%FTFXf*F]_oF_erF$F$-Fdt6$*&-F]gm6$-F]gm6$-F]gm6$FajsF_qFCF9
FjnFb[lFjnF^`oF$F$6$FhelF`u>Fcs7#-Fat6$-Fat6$-Fat6$-F]gm6$-F]gm6$-F]gm6$FajsF9F
FFL/FLFdevFfglFdu>Ffu-F^hl6(Fd_u/F[w7$Fi_uFh`v/Fcv7#-Fcq6#Fb`uFc`uFe`uFg`u>Fdy-
Fb`m6#-F`o6#,*-F\gl6&FbxF_qFbxFfuFjn-F\gl6%FbxFAFfuFjn-F\gl6%FeauFbxFfuFjnF^glF
jn>F`rFf\m>Fer-Ffz6%F^]m-Ffz6&Fa[mF`rF`^mF[\mF`^m>Fjgo-Ffz6$Fd]m-F`oFjx>F`gl-Ff
z6%F^]m-Ffz6$F]^mFjavF`_m@%Fcbu>Fegl7#-F^_m6$F`glFgbv>Fegl7#-Ff_m6%F`glFgbvFf`u
@$/FeglF[\nF\]s>F_jo-Ffz6&F]`qFdhmFeglF_al@%F`cvC'>Fjgl-Fg\m6$FeglFi\m>F_y7#-Fa
t6$-Fb`m6#-Fd[m6$Figl-F`o6#Fbx/F9;Fjn-Fj`mFecr>F_gm-Ff^m6$<#-Fat6$-Fat6$-Fat6$-
Fcq6#-Fe]p6#&&F_yFitF^jlFduFfgl/FL;Fjn-Fj`mFaar<%FeclFi_uFa_m>Fffm-F^hl6(Fd_u/F
[w7$Fi_uF\fvFe`wFc`uFe`uFg`u-F]o6#7$F_yFffmC->Fjgl-Ff^m6$Fc\tFffv>F[]mFifv>Fa]m
7#-Fat6$&FjitFd[l/F9;FjnF]_t>Fh]mFey?(F9FjnFjnF]_tFgy>Fh]m7$F\fu-Fd[m6$/&-Fg\m6
$-Ff^m6$-Ff^m6$-Fe]p6#&F[]mFd[l-Fg\m6$F[`uFi\mFfhvF0F[ilFifwF\hw>F[_m-F[]n6$<#-
Fcq6#-Ffz6&FdfqF_joFa]mF[]mFjgl>F_y7#-Fat6$-Fb`m6#-Fd[m6$&F[_mFd[lF_dw/F9;Fjn-F
j`m6#F[_m>F_gm-Ff^m6$Fgdw<&FeclFi_uFhgvFa_m>Fffm-F^hl6(Fd_uF[fwFf\vFc`uFe`uFg`u
>F]`m-F^hl6(-Fcq6#&FffmF`v/F[w7$-Fcq6#&FffmF`wFhgv/Fcv&FffmFhv/Fcw&FffmFew/Fhw&
FffmFjw/F]x7$-Fcq6#&FffmF_xF\fu-F]o6#7$F_yF]`mF$F$F$%1ChainMorphismRatGf*FhbnFi
bnF$F$C*>FXF]cn@$FgcnFicn>F]dnF^dn>F`dnFbdn>FF-%=OreModules/FreeResolutionRatGF
gdn>FL-F]\xFjdn?(FTF]alFjnF\enFgy>Fben-F`clFeenF\fnF$F$F$F`jqf*F)FeanF$F$C%>F9-
&F"6#FdfsF]bm>FF-F][rFI@%/FFFeyF^emFfbmF$F$F$%/SearchForRootsGf*6$FgoF_hp6+F4%"
mGF]`oF0FajsFhoFio%2algrelations_listG%*comm_listGF$F$C*>F9-F]`q6%FdhmF_qF_al>F
F7#-FcqFd[l>FTFey>FfuFey>F^tFey>FXF_q?(FcsFjnFjn-Fj`mFRFgyC$>FL-F]`q6%Fdhm7#-Fc
q6#&FFF\dlF_al?(FhtFjnFjn-Fj`mFitFgy@$-Fi_l6$&FLFb_mF_alC&>FT7$-FcqFien7$Fht-Fc
q6#F^_x>FX-Fd[m6$/F^_x&FCF\dlFX>Ffu7$FailFj_x>F^t7$Fecl-Fd[m6$/%#_ZGFj_x&Fd_xF[
il7%FXFfuF^tF$F$F$Ffhtf*F)FhalF$F$C,>F9F:>FF-F\hnFI>FLFM>FTFU>FXFY>Fcs-%4OreMod
ules/QuotientGFdbl>FhtFfbl>F^t-F\hnF]cl>Ffu-F`cmFacl@%FcclFhclFadlF$F$F$Fbbmf*F
)FeanF$F$C%>F9-&F"6#%.CokerMorphismGF]bm>FFFiht@%F\]xF^emFfbmF$F$F$%+ImMorphism
Gf*F)F`^lF$F$C%>F9F:>FF-F_axFg^lFh^lF$F$F$%.ShapeOfMatrixGf*6#FeoF[[lF$F$-%%cop
yG6#-Ffz6$f*F[[lF$F^]lF$@'/-Fb`mFesFeqFeq/F`cxFjnFjnFb`lF$F$F$F_qF$F$F$Fifpf*Fd
oFfoFfpF$@%FipF_qC0>F`rFar>FerFfr>FTFjr>FXF]s>FcsFds@$FgsFis>F^tF_t>F`uFau>Ffu-
Fhu6(F]v/FcvF]yFjvFbwFgwF\x>Fbx-Fdx6%Ffu-Fgx6$FixF`uF]y>F_yF`y>FdyFey?(FFFjnFjn
FcsFgy>FdyFiy-F`o6#-Ffz6$f*FizF[[lF$F$F\[lF$F$Fh[lFdyF$F$F$F_dqf*6#F3F$F$F$@/5-
Fi_l6$F_qF0-Fi_l6$F_qFi\m-Ffz6$Fcq-Ffz6$F]dq<#-FcqFes-Fi_l6$F_q%)equationG-F]dq
6#F[alFh_lFgexF``lFgexFc`l-F]dq6#Fi`lF^al<#Fi`lF[\nF$F$F$%2IdempotentsMatRatGf*
Fjdl6?FhoFioF^elF_elF`elFaelF[fmFdpFepF3F_pFjzFgelFhelFielFjelF[flF\flF]flF^flF
_flFcemFdemFeemFfemFgemFhemFiemFjemF$F$C<>F^tFar>FfuFfr>FLFhs>FTFds>FXFbfm>F`u-
F`o6#-Fdt6$*&-F]gm6$FerF9FjnFealFjnF`gm>Fcs7#-Fat6$FdgxF`gm>F_y-F^hl6(F]vFf`v/F
cv7#F_hmFbwFgwF\x>Fbx-F`o6#,&-F\gl6%F`uF`uF_yFjnF`uFD>Fjgo-Fg\m6$FbxFi\m>F`gl-F
fz6%F^]m-Ffz6&Fa[mFjgoF_]mF[\mF_]m>Fegl-Ffz6$Fd]mFabv>Fjgl-Ffz6%F^]m-Ffz6$F]^mF
`^pF`^m@%Fb^mC$>Fht-Ff^m6$<$Fh`vF]wFh^m>Fajl7#-F^_m6$FjglF`_m>Fajl7#-Ff_m6%Fjgl
F`_mFiw>Fffm-Fg\m6$FajlFi\m>Fh]m-Fj`mFh[n>F[_m-Ffz6$Ff[n-F`oFd]t>F_gmF[\n?(F9Fj
nFjnFh]mFgy@$0-Fdhm6$Feq-Fg\m6$-F`o6#-Fd[m6$&FffmFd[l-F`oFciwFi\mFgy>F_gm-F[]n6
$F_gmF]]n>F]`m7#-Fat6$-Fb`m6#-Fd[m6$Fh[yF[[y/F9F_gm>Fa]m-Fj`mF]am>Fe\mF[\n?(F9F
jnFjnF\ctFgy?(FFFa^nFjnFa]mFgy@$-Fd^n6$-Fg\m6$-Fb`m6#-F`o6#,&&F]`mFd[lFjn&F]`mF
RFDF__nF`_n@%0-Fd_n6#-F`o6#Fe]yFgy>Fe\m-F[]n6$Fe\mF^`n>Fe\m-F[]n6$Fe\mF]]n>F[]m
-Ff^m6$<#-Fat6$F9/F9;FjnFa]mFe\m>F_jo7#-Fat6$F[^y/F9F[]m-F]oFebqF$F$F$F]cmf*F)F
1F$F$C(>F9F:>FFFi`x>FLFM>FTFU>FXFYF\oF$F$F$%2RiccatiConstCoeffGf*6)F*FjzFa^lF]i
tF.Fc\oF_hp6?FhoFioF]elF^elF_elFaelFdpFepF_pF2FgelFhelF3FjelF[flF\flF]flF^flF_f
lF`flFdelF^]oF4FahpFbhpFchpFd_lFb_lF^_lF$F$C2>FhtFait>F^tFcit>FTFhs>FXFds>F`uF]
jt>Fbx-Fg^o6%FTFXf*F]_oF_erF$F$Fg^wF$F$F`_w>FcsFb_w>FfuFa`w>FdyFj`w>F`rFf\m>Fer
Fgaw>FjgoF\bw>F`glF`bw@%Fcbu>FeglFfbw>FeglFjbw>F_joF`cw@%F`cvC'>FjglFecw>F_yFhc
w>F[]mFedw>Fffm-F^hl6(Fd_u/F[w7$Fi_uF`jvFe`wFc`uFe`uFg`uF]fwC->FjglFbfw>Fa]mFif
v>Fh]m7#-Fat6$&FbjtFd[l/F9;Fjn-Fj`mF_^m>Fe\mFey?(F9FjnFjnFebyFgy>Fe\m7$-FcqFi[p
-Fd[m6$/&-Fg\m6$-Ff^m6$-Ff^m6$-Fe]p6#&Fa]mFd[lF]hwFfhvF0F[ilFbbyFgcy>F_gm-F[]n6
$<#-Fcq6#-Ffz6&FdfqF_joFh]mFa]mFjgl>F_y7#-Fat6$-Fb`m6#-Fd[m6$&F_gmFd[lF_dw/F9Fj
ip>F[]m-Ff^m6$Fgdw<&FeclFi_uF\fuFa_m>Fffm-F^hl6(Fd_uFiayFf\vFc`uFe`uFg`u>F]`m-F
^hl6(F^jw/F[w7$FcjwF\fuFfjwFhjwFjjw/F]x7$F^[xFjbyFa[xF$F$F$F\bxf*F)F$F$F$FffsF$
F$F$F\bsf*Fb\o6VFgoF5FhoFioF]elF^elF_elF`elFg\oF\pFh\oFi\oFaelFdpFepFapF-F,F2Fe
oF3FbelFcelFjelF[flF\flF]flF^flFfelF_pF`pFj\oF[]oFhelF_flFjemFiemFeemF\]oFbpFce
mFhemFfemFgemF]]oF`flFdelF^]oFielF]`oF]aoF_]oF$F$CF>F`rFar>FerFfr>FcsFhs>FhtFds
>F^tF]s>FfuFjr@%Fh]oC'>Fj[nF\^o>F_]nF`^o>F\anFc^o>Fegl-Fg^o6%FcsF^tf*F]_oF^_oF$
F$FjjtF$F$Fe\u>Fdy7$-Fat6$-Fat6$-Fat6$-Fat6$-F]gm6$Fd]uF4F[coF_coFacoFcco-Fat6$
-Fat6$-F]gm6$Fb^uF4F[coFddoC&>Fj[nF\^o>F_]nF`^o>Fegl-Fg^o6%FcsF^tf*F]_oF^_oF$F$
F[_uF$F$F^_u>Fdy7#F]gy>F_jmFgeo>Fi_mFbfo>FffmF]go>FbgoFcgo>FjgoF[ho>F[_mFhho>F]
`mFeio>F_jo-F`o6#-Ffz6$f*FizF[[lF$F$FejoF$F$F][pF]`m>F_gmF_[p>Fe\mFb[p>F[]mFf[p
>Fa]mF[\p@%Fb^m>Fh]mFb\pC%-%&printG6#Fe\p>Fh]m7#-Ff_m6%Fa]m<#-Fat6$F[hp/FL;Fjn-
Fj`mF\jyFiw>Fi_mF\]p>F]^nFh]p>Fi]nF[^p>Fc`nF^^p>Fa[nF[\n?(FLFjnFjnFi]nFgy@$Fe^p
>Fa[nFb_p>Ff_pFicu>Fb`pFc`p>Ff`pF[\n?(FLFjnFjnFh`pFgy?(FTFj`pFjnFb`pFgy@$F\ap@%
Fhap>Ff`pF^bp>Ff`pFbbp>FebpFfbp>F^cpF_cp>FdcpFecp>F]epF^ep>Fj]uFdfp>F]gp-F^hl6(
F`epFcepFbgpF\fpF^fpF`fp-F]o6#7$-Fat6$-F`o6#&Fj]uFitFbcpF]gpF$F$F$%/Idempotents
MatGf*Fjdl65FhoF^elF_elF`elFdpFepF3F_pFjzFgelFhelFielFjelF[flF\flF]flF^flF_flFa
elF$F$C2>FXFar>FcsFfr>FFFhs>FLFds>FTF]s>FjglFe^m>F^t-F^hl6(F]v/F[w7#FefvFbgpFbw
FgwF\x>Fht-F`o6#,&-F\gl6%FCFCF^tFjnFCFD>FdyFjeq>F`r-Ffz6%F^]m-Ffz6&Fa[mFdyFgbvF
[\mFgbv>Fer-Ffz6$Fd]m-F`oF\y>Fjgo-Ffz6%F^]m-Ffz6$F]^mF^bw<#-FcqFao@%Fb^m>F`gl7#
-F^_m6$FjgoFdfv>F`gl7#-Ff_m6%FjgoFdfvFiw>Fegl-Fg\m6$F`glFi\m>Fbx7#-Fat6$-Fb`m6#
-Fd[m6$FdglF]_l/F9;FjnFe\t-F]oF`dwF$F$F$F$
