/home/ckoutsch/Software/RLangGFun/RLangGFun.mla................................................................................................................................................................................................................%G`RLangGFun..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................:-179.mGj:-198.mGj:-192.m/Gj:-184.mGj0_Q<4g+UCNg+0_Q<4g+UCNg+0_Q<4g+UCNg+0_Q<4g+UCNg+0_Q<4g+UCNg+0_Q<4g+UCNg+0_Q<4g+UCNg+RLangGFun.mGj:-181.m+Gj:-187.m,]Gj:-195.m.5 Gj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj:-196.mw}Gj:-188.m Gj:-177.m *Gj:-190.mGj:-199.m4KGj:-182.myGj:-193.mGj:-185.m*Gj0_Q<4g+UCNg+0_Q<4g+UCNg+0_Q<4g+UCNg+0_Q<4g+UCNg+0_Q<4g+UCNg+0_Q<4g+UCNg+0_Q<4g+UCNg+0_Q<4g+UCNg+-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj:-189.mGj:-191.m uGj:-183.m 6Gj0_Q<4g+UCNg+0_Q<4g+UCNg+0_Q<4g+UCNg+0_Q<4g+UCNg+0_Q<4g+UCNg+0_Q<4g+UCNg+0_Q<4g+UCNg+:-178.m6Gj:-197.mGj:-186.m&Gj:-194.m(Gj:-180.m8Gj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGj-189.mGjM7R0 I*RLangGFun`66c+reciprocal&:-155c)getRoots&:-156c,getRootsRat&:-157c0getRootsRa tSort&:-158c-expandRootOf&:-159c0getCoefficients&:-160c,coefficient&:-161c1comm onUnityRoots&:-162c.decomposition&:-163c&kappa&:-164c/maximalModulus&:-165c2has DominatingRoot&:-166c6exponentialPolynomial&:-167c8boundaryForNonnegCoeffs&:-16 8c8hasPositiveCoefficients&:-169c&findc&:-170c&getRp&:-171c+pForRegExp&:-172c2r egularExpression&:-173c(analyze&:-174b6#%+thismoduleG6$%'myinfoG%&setupG6$/%%lo adGF>%(packageG66%+reciprocalG%)getRootsG%,getRootsRatG%0getRootsRatSortG%-expa ndRootOfG%0getCoefficientsG%,coefficientG%1commonUnityRootsG%.decompositionG%&k appaG%/maximalModulusG%2hasDominatingRootG%6exponentialPolynomialG%8boundaryFor NonnegCoeffsG%8hasPositiveCoefficientsG%&findcG%&getRpG%+pForRegExpG%2regularEx pressionG%(analyzeG6"6#Q`oRegular~Languages~and~Their~Generating~Functions:~The ~Inverse~ProblemFX6#%,myinfolevelGFX%*_m7572496G6$c'myinfo&:-175c&setup&:-176FX M7R0 I&:-140f*6#'%#q1G-%(polynomG6$%(integerG%"xG6-%"iG%"qG%"RG%"pG%$qXYG%%factG%$de gG%$invG%"nG%(cycPolyG%)cycPolysG6"F8C3@$/-%'degreeG6$9$F+""!YQ8No~roots~in~pol ynomial!F8>8%-%)simplifyG6#*&F?"""-%$gcdG6$F?-%%diffGF>!"">8(F@>8*-F=6$FDF+?(8$ F@FIFS%%trueG>FQ,&FQFI*(-%&coeffG6%FDF+FWFI)F+FWFI)%"yG,&FSFIFWFOFIFI>8&-%*resu ltantG6%FDFQF+>F^o-FF6#*&F^oFI),&FIFIF[oFOFSFO>F^o-%%subsG6$/F[oF+F^o-T#6%""%Q= Symmetrical~polynomial~R(x):F8F^o>8.<">8'FI>F^o-%'factorG6#F^o@%/-%#opG6$F@F^o% "*G>F^o7#-F^qFjp>F^o7#F^o?(FWFIFI-%%nopsGFjpFXC%>8)&F^o6#FW@$/-F^q6$F@F[r%"^G>F [r-F^q6$FIF[r@$/F`r%"+GC%>FS-F=6$F[rF+>8+-&%*numtheoryG6#%'invphiG6#FS?&8,F^sFX C$>8--&Fas6#%+cyclotomicG6$FfsF+@$/F[rFisC$>Fcp-%&unionG6$Fcp<#7$FfsFis>Ffp-%%i lcmG6$FfpFfs-F^p6%F`pQSThe~following~cyclotomic~polynomials~divide~R(x):|+F8-F^ q6#Fcp-F^p6$""$-%(sprintfG6$QdoThe~least~common~order~of~the~dividing~cyclotomi c~polynomials~is~p~=~%d.|+F8FfpOFfpF8F86$%'myinfoGc'myinfo&:-1536$%*protectedG/ %+modulenameG%*RLangGFunG M7R0 I&:-149f*6$'%"fG-%(ratpolyG6$%(integerG%"xG'%'lambdaG-%%listG6#%,complexconsG6( %#RpG%)multpartG%*multRootsG%#r1G%#r2G%$kapG6"F9C(>8$-%&denomG6#9$>8%-%$gcdG6$F <-%%diffG6$F8&-T#6#*$FB!""@$2""!-%%nopsG6#FJC&>%'DigitsG"#?>8'-%$absG6#-%&e valfG6#&FJ6#"""@%2F^o-FT6#9%>8(-Fgn6#-Fjn6#&Fco6#""#>FeoFR@%2,$-%$maxG6$FenFeo# F^o"5+++++++++5,&FenF^oFeoFO>F<-%)simplifyG6#*&F8)-T'6$-T%6#FFX ,(-%'ilog10G6#F^qFO-%%ilogG6#FenF^oF^oF^o@$2,&-Fgn6#-Fjn6#&FcoF]oF^oFfnFOF^q>F< Fhp@$/-%&coeffG6%FF<,$F8%-T# 6#-%&denomG6#9$>8&7"?&8$F3%%trueG>F<7$-%#opG6#F<*$F?!""OF%'DigitsG9%>8&7">8%""!?(8$"""F@-%%nopsG6#9$%%trueGC$>8' -%$absG6#-%&evalfG6#&FD6#F?@%2,&FF97#F?>FF97$-%#opG6#F9F?>F<-%$maxG6$F8&-T#6#FU>F^o"""@$2FcoF^oC&-T%6$""$-Fgn6$QgoFor~fi nding~a~constant~c~we~have~to~decompose~the~series~into~%d~subseries.|+FHF^o>86 FP?(8$FcoFcoF^o%%trueGC%-Fho6$Fjo-Fgn6$QUGetting~a~regular~expression~for~the~% d.~subseries.|+FHFap>8'-T'6%FUF^oFap>F_p,&F_pFco*&)F+,&FapFco!""FcoFco-%%subsG6 $/F+)F+F^o-T+6%Fjp-T)6#FjpFcoFcoFcoOF_p>8)-T-6$FUFO-Fho6$Fjo-Fgn6$Q,R^(p)~=~%a| +FHFar>8*-%'degreeG6$FarF+>8+-T/6$FarFO@$/F`sFcqY-Fgn6$Q8Cannot~find~a~c~(f=%a) .FHFU>847#,&*&-%&coeffG6%FarF+FcoFco-F`t6%FarF+FPFcoFcqF`sFcq?(Fap""#FcoF[sFbp> F[t7$-%#opG6#F[t,&*&-F`t6%FarF+FapFcoFbtFcoFcq*&F`sFco&F[t6#FbqFcoFco-Fho6$Fjo- Fgn6%Q;For~c=%d~we~get~gamma=%a.|+FHF`sF[t>81-%)simplifyG6#*&FUFcoFarFco-Fho6$" "&-Fgn6$Q(T~=~%a|+FHFhu>83-Fju6#*&FUFco,&FcoFco*&F`sFcoF+FcoFcqFco-Fho6$""%QinD etermine~from~which~index~on~T~has~nonnegative~coefficients:|+FH>8,-T16$Fhu-F]r 6#Fhu-Fho6$F\w-Fgn6$QhnAll~coefficients~with~index~greater~than~%d~are~nonnegat ive.|+FHF_w-Fho6$F\wQinDetermine~from~which~index~on~U~has~nonnegative~coeffici ents:|+FH>8--Faw6$Fdv-F]r6#Fdv-Fho6$F\w-Fgn6$FiwF^x>8.-%$maxG6%FPF_wF^x-Fho6$Fj o-Fgn6$Q(h~=~%d|+FHFhx>82Fhu?(FapFPFcoFhxFbp>Fby,&FbyFco*&-T36$FhuFapFco)F+FapF coFcq>Fby-Fju6#Fby-Fho6$F_v-Fgn6$Q,T^[h]~=~%a|+FHFby>85*&-%%starG6#FivFco-Fgz6# ,&-%$addG6$*&&F[t6#%#llGFco)F+Fb[lFco/Fb[l;Fco,&F[sFcoFcqFcoFco*(&F[t6#F[sFco)F +F[sFcoFfzFcoFcoFco-Fho6$F_v-Fgn6$Q*1/R~=~%a|+FHFdz>8/FP?(8%FcoFcoFf[lFbpC%@%1F P,(FhxFcoFc\lFcoF[sFcq>80*&Fh[lFco-Fhy6$FUFg\lFco>Fi\lFP?(FapFc\lFcoFf[lFbpC$@$ 2FP,(FhxFcoFc\lFcoFapFcq>Fi\l,&Fi\lFco*&&F[t6#FapFco,&-Fhy6$FUFb]lFco*&F`sFco-F hy6$FU,*FhxFcoFc\lFcoFapFcqFcqFcoFcoFcqFcoFco@$/Fb]lFP>Fi\l,&Fi\lFco*&Ff]lFcoFi ]lFcoFco>Fa\l,&Fa\lFco*&)F+,&FhxFcoFc\lFcoFcoFi\lFcoFco-Fho6$F_v-Fgn6$Q(z~=~%a| +FHFa\l>F_p,&*&FdzFco,(**Fh[lFco-Fhy6$FUFhxFco)F+,&FhxFcoF[sFcoFcoFfzFcoFco-Fjq 6%Fby-F]rF]zFPFcoFa\lFcoFcoFco**F`sFcoFc_lFco)F+,&FhxFcoFcoFcoFcoFfzFcoFco?(Fap FPFcoFhxFbp>F_p,&F_pFco*&-Fhy6$FUFapFcoFjyFcoFco>F_p-Fju6#-Feq6$/-Fgz6#FPFcoF_p OF_pFHFH64%+pForRegExpGc+pForRegExp&:-150%'myinfoGc'myinfo&:-153%.decomposition Gc.decomposition&:-141%0getRootsRatSortGc0getRootsRatSort&:-136%2regularExpress ionGc2regularExpression&:-151%&getRpGc&getRp&:-149%&findcGc&findc&:-148%8bounda ryForNonnegCoeffsGc8boundaryForNonnegCoeffs&:-146%,coefficientGc,coefficient&:- 1396$%*protectedG/%+modulenameG%*RLangGFunG M7R0 I&:-138f*6$'%"fG-%(ratpolyG6$%)rationalG%"xG'%"nG%*nonnegintG6'%"iG%"jG%"pG%"qG %'coeffsG6"F5C(>8&-%'expandG6#-%&numerG6#9$>8'-F:6#-%&denomGF>@$/-%&coeffG6%FAF +""!FKYQJCannot~compute~coefficients:~q_0~is~zero!F5>8(7#*&-FI6%F8F+FK"""FH!""? (8$FTFT9%%%trueGC%>FO7$-%#opG6#FO-FI6%F8F+FW?(8%FKFT,&FWFTFUFTFY>&FO6#,&FWFTFTF T,&F`oFT*&&FO6#,&F]oFTFTFTFT-FI6%FAF+,&FWFTF]oFUFTFU>F`o*&F`oFTFHFUOFOF5F5F56$% *protectedG/%+modulenameG%*RLangGFunG M7R0 I&:-154f*6"F$F$F$>%,myinfolevelG""$F$F$F$6#/%+modulenameG%*RLangGFunG M7R0 I&:-146f*6$'%"fG-%(ratpolyG6$%(integerG%"xG'%'lambdaG-%%listG6#%,complexconsG61 %"iG%)PolynomsG%#lcG%"aG%"bG%"cG%"dG%"eG%#n0G%%n0_cG%$rhoG%#exG%%maxXG%%maxYG%$ recG6"FBC.@$-%%typeG6$9$-%(polynomGF)C%@$/FH""!O!""?(8$FN"""-%'degreeG6$FHF+%%t rueG@$2-%&coeffG6%FHF+,&FTFSFRFPFN[OFgn>8%-T#6$FH9%-T%6%""&QMCoefficients~of~ex ponential~polynomial~(P_i)FBF[o>8&-%'lcoeffG6#&F[o6#FS@$52-%&evalfG6#FfoFN4-FF6 $Ffo.%%realGO%&falseG@$/-%%nopsG6#F_oFS@%2FN-FU6$Fjo%"nGC$>8,-%$maxG6#-%'fsolve G6$/FjoFNFbq@$2FeqFN>FeqFP>FeqFP@$2FSF[qC2>8'-%$absG6#-F`p6#,&&F_oF[pFS*&$FS!"# FS,&F\sFS-Fgr6#&F_o6#""#FPFSFP-Fao6$Fco-%(sprintfG6$Q(a~=~%e|+FBFer>8(-Fgr6#-F` p6#,&FasFS*&F^sFSF`sFSFS-Fao6$Fco-Fis6$Q(b~=~%e|+FBF]t>8)*&$FcoFPFSFfoFS@%F_q>8 --Fgq6#-Fjq6$/,&FjoFS*&FjtFS)FbqF`qFSFPFNFbq>F_uFN-Fao6$Fco-Fis6$Q(c~=~%e|+FBFj t>8*,&-Fgq6#-%$seqG6$-FU6$&F[o6#%"jGFbq/Fjv;Fes-F\q6#F[oFSFSFS-Fao6$Fco-Fis6$Q( d~=~%e|+FBF_v>8+-Fgq6#-Fdv6$-Fgq6#-Fdv6$-Fgr6#-F`p6#-Fen6%FhvFbq%"kG/Fdx;FN-FU6 #FhvF[w-Fao6$Fco-Fis6$Q(e~=~%e|+FBFew>8.**F[qFSF_vFSFewFSFjtFP>8/,(F_vFSF`qFPFP FS-Fao6$Fco-Fis6&QjnWe~must~find~n0~such~that~%e~*~n0^%d~*~%e^n0~<~1~for~all~n> n0.|+FBF_yFby*&F]tFSFerFP@%/FbyFN>Feq-F`p6#,$*&-%#lnG6#F_yFS-Fbz6#FiyFPFP@%2Fby FN>Feq-Fjq6$/*()FbqFbyFS)FiyFbqFSF_yFSFS/Fbq;FN%)infinityGC%>80-F`p6#,$*&FbyFSF dzFPFP>81-F`p6#)*&Fd[lFS-%$expG6#FPFSFby@%2Fj[l*$F_yFP>FeqFN>Feq-Fjq6$F[[l/Fbq; Fd[lFa[l>Feq-Fgq6$FeqF_u>Feq-%%ceilG6#Feq>Feq-Fgq6$Feq,&-FU6#-%&numerG6#FHFS-FU 6#-%&denomGFj]lFP-Fao6$""%-Fis6$QarBy~estimation~of~the~exponential~polynomial~ it~is~sure~that~all~coefficients~are~positive~which~have~an~index~geq~%d.|+FBFe q?(FBFSFSFB32FPFeq1FN-T'6$FHFeq>Feq,&FeqFSFPFSOFeqFBFB6(%6exponentialPolynomial Gc6exponentialPolynomial&:-145%'myinfoGc'myinfo&:-153%,coefficientGc,coefficien t&:-1396$%*protectedG/%+modulenameG%*RLangGFunG M7R0 I&:-139f*6$'%"fG-%(ratpolyG6$%)rationalG%"xG'%"nG%*nonnegintG6)%"iG%"qG%%degqG% %mdegG%'fcoeffG%"mG%"vG6"F7C'>8%-%&denomG6#9$>8&-%'degreeG6#F:@$/F@""!O-%&coeff G6%F>F+9%>8'-%$maxG6$F@-FB6#-%&numerGF=@%2FMFKC)>8(-T#6$F>FM>8*-%'vectorG6$F@f* 6#%$v_iGF76$%)operatorG%&arrowGF7&Fen6#,(-%%nopsG6#Fen"""FhoFhoF>!""F7F76$F4FY> 8)-%'matrixG6%F@F@FF?(8$FhoFhoF@%%trueGC$>&F\p6$FhoFap,$*&-FI6%F:F+FapFho-FI6%F :F+FFFioFio@$2FapF@>&F\p6$,&FapFhoFhoFhoFapFho>F\p-%&evalmG6#)F\p,&FKFhoFMFio>F hn-Feq6#-%#&*G6$F\pFhnO&Fhn6#FhoO-%#opG6$,&FKFhoFhoFho-Fen6$F>FfrF7F76$%0getCoe fficientsGc0getCoefficients&:-1386$%*protectedG/%+modulenameG%*RLangGFunG M7R0 I&:-147f*6$'%"fG-%(ratpolyG6$%(integerG%"xG'%'lambdaG-%%listG6#%,complexconsG6# %#n0G6"F4C%>8$-T#6$9$9%@$/F7%&falseGC$-T%6$"""QDNot~all~coefficients~are~positi ve!|+F4OF?@%/F7!""C$-FB6$""#Q@All~coefficients~are~positive.|+F4O%%trueGC$FAOF? F4F46&%8boundaryForNonnegCoeffsGc8boundaryForNonnegCoeffs&:-146%'myinfoGc'myinf o&:-1536$%*protectedG/%+modulenameG%*RLangGFunG M7R0 I&:-141f*6%'%"fG-%(ratpolyG6$%(integerG%"xG'%"kG%'posintG'%#i1GF*6'%"iG%"jG%&cy cloG%$f_iG%"hG6"F7C+>8$,&-%$modG6$,&9&"""!""FA9%FAFAFA>8&-&%*numtheoryG6#%+cycl otomicG6$FC%"sG>8'""!?(8%FAFAFC%%trueGC&>8(*&)FL,&FCFA*&,&F:FAFBFAFAFQFAFBFA-%% subsG6$/F+*&)FLFQFA%"yGFA9$FA>FU-%)simplifyG6#*&-%$remG6%-%&numerG6#FUFEFLFA-Fc o6%-%&denomGFgoFEFLFB>FN,&FNFAFUFA>FN-F_o6#*&-Fco6%-Ffo6#FNFEFLFA-Fco6%-F[pFepF EFLFB>FN*(FNFAFCFB)F[oFZFB>FNFap>FN-F_o6#*&-%'expandG6#FdpFA-Fbq6#FhpFB>FN-%(al gsubsG6$/)F[oFCF+FNOFNF7F7F76$%*protectedG/%+modulenameG%*RLangGFunG M7R0 I&:-133f*6#'%"pG-%(polynomG6$%)anythingG%"xG6"F,F,O-%%sortG6$-%'expandG6#*&)F+- %'degreeG6$9$F+"""-%%subsG6$/F+*$F+!""F9F:F+F,F,F,6$%*protectedG/%+modulenameG% *RLangGFunG M7R0 I&:-152f*6#'%#f1G-%(ratpolyG6$%(integerG%"xG6,%"fG%"iG%"qG%%reciG%'lambdaG%&has DRG%"pG%'decompG%%NratG%'regExpG6"F7C8@$-%%typeG6$9$-%(polynomG6$%*nonnegintGF+ C$-T#6$"""Q\pThe~function~f~is~a~polynomial~with~positive~coefficients.~Thus~f~ is~N-rational.|+F7OF=@$-F;6$F=-F?F)O%&falseG>8$-%)simplifyG6#F=>8&-%%sortG6#-%' expandG6#-%&denomG6#FP@$/-%&coeffG6%FUF+""!!"">FU-FW6#,$FUF_o-FD6%""$QFDenomina tor~of~generating~function~isF7FU@$0F[oFFYQHConstant~term~in~denominator~must~b e~1.F7>8'-T%6#FU-FD6%FfoQHReciprocal~polynomial~of~denominator~isF7F]p>8(-T'Fhn -FD6%""#Q/Roots~of~f(x):F7Fep>8)-T)6%F]pFep.Fep@$/F]qF^oC$>8*FF-FD6%FjpQ9Found~ a~dominating~root:F7&Fep6#FF@$/F]qFjpC%-FD6$FjpQhoThere~are~several~roots~with~ maximal~modulus.~Looking~for~a~decomposition...|+F7>Ffq-T+6#F]p@%2FFFfq-FD6$Fjp -%(sprintfG6$QKWe~decompose~our~function~into~%d~series.|+F7FfqC$-FD6$FFQAThe~f unction~is~not~N-rational.|+F7OFN@$/F]qFFC$F_sOFN>8,%%trueG@$3/FfqFF4-T-6$FPFep >FhsFN@$FgrC%>Fep7">8+Fet?(8%FFFFFfqFisC(-FD6$Fjp-F[s6$Q*|+i~=~%d:|+F7Fit>Fgt7$ -%#opG6#Fgt-T/6%FPFfqFit>F]p-F_p6#-Fgn6#&Fgt6#Fit>Fep7$-Fcu6#Fep-FgpF\v-FD6%Ffo -F[s6$Q2Roots~of~f_%d(x):F7Fit&FepF^v@$/-F_q6%F]pFiv.FivF^o@%-F_t6$F]vFiv-FD6$F jp-F[s6$Q8f_%d(x)~is~N-rational.|+F7FitC%-FD6$Fjp-F[s6$QFhsFN[@%Fhs-FD6$FFQ5f(x)~is~N-rational.|+F7C$-FD6$FFQ9f(x)~is~not~N -rational.|+F7OFN-FD6$FjpQF|+Calculating~a~regular~expression...|+F7@%F\t>8--T1 6%FPFepF^oC$>F]yF^o?(FitFFFFFfqFis>F]y,&F]yFF*&)F+,&FitFFF_oFFFF-%%subsG6$/F+)F +Ffq-F_y6%F]vFivF^oFFFFOF]yF7F762%'myinfoGc'myinfo&:-153%+reciprocalGc+reciproc al&:-133%,getRootsRatGc,getRootsRat&:-135%2hasDominatingRootGc2hasDominatingRoo t&:-144%1commonUnityRootsGc1commonUnityRoots&:-140%8hasPositiveCoefficientsGc8h asPositiveCoefficients&:-147%.decompositionGc.decomposition&:-141%2regularExpre ssionGc2regularExpression&:-1516$%*protectedG/%+modulenameG%*RLangGFunG M7R0 I&:-144f*6%'%"qG-%(polynomG6$%(integerG%"xG'%'lambdaG-%%listG6#%,complexconsG%- lambdaSortedG6*%"iG%$kapG%(maxListG%(posrealG%(lambda1G%)maxList1G%%tempG%#lsG6 "F%'DigitsG"#?>8+7"@$/-%%nopsG6#9%""!OFJ>8&-T#6$FIF??&8$FM%%trueG>FB7$-%#op G6#FB&FI6#FR?(FR"""FfnFFFS@$4-%#inG6$FRFM>FBFU>8'%&falseG?(FRFfnFfn-FG6#FMFS@$3 -%%typeG6$&FI6#&FMFZ%)realconsG2FJ-%&evalfG6#FhoC$>F^oFS[@$4F^oC$>9&FBOFfn@$/Fa oFfnC&>FM-FO6$&FB6#;""#-FGFXF@@$2FJFaoC%>8*&FB6#,&&FM6#FfnFfnFfnFfn>Fiq&FB6#Fbq >F_rFhq>FgpFBOFJ-T%6$""%QgnThere~are~several~roots~that~seem~to~have~the~same~m odulus.|+F<>8%-T'6$9$FI>F?-%$maxG6$F@,(-%'ilog10G6#Fjr!""-%%ilogG6#-%$absG6#-F^ p6#&FBF]rFfnFfnFfn-Fer6$Fgr-%(sprintfG6$QSWe~therefore~increase~the~number~of~d igits~to~%d.|+F8(FC?(FRFfnFfnFaoFS>F^u7 $-FW6#F^uFho>8)-FO6$F^uF?>FBFC?(FRFfnFfn-FG6#FeuFS>FB7$FV&F^u6#&FeuFZ?(FRFfnFfn FaoFS@$4-Fjn6$FRFeu>FB7$FV&F^uFZ?(FRFfnFfnFFFS@$Fhn>FBFU>F^oF_o?(FRFfnFfnFjuFS@ $3-Ffo6$F^vF[p2FJ-F^p6#F^vC$>F^oFSFbp@$FdpC$>FgpFBOFfn@%/FjuFfnC&>FMF]q@$FeqC%> FhqFiq>FiqF_r>F_rFhq>FgpFBOFJC$>FgpFBOFbqF8&-T# 6#9$-T'6%-T%6#-%&denomGF6F3.F3OF3F0F06(%,getRootsRatGc,getRootsRat&:-135%+recip rocalGc+reciprocal&:-133%2hasDominatingRootGc2hasDominatingRoot&:-1446$%*protec tedG/%+modulenameG%*RLangGFunG M7R0 I&:-134f*6#'%"pG-%(polynomG6$%(integerG%"xG6'%"iG%%squfG%"fG%'lambdaG%%fctrG6"F 2C'>8%-%'factorG6#*&9$"""-%$gcdG6$F:-%%diffG6$F:F+!""@%/-%#opG6$""!F5%"*G>8&7#- FF6#F5>FK7#F5>8'7"?&8(FK%%trueG?(8$F;F;-%'degreeG6$FUF+FV>FR7$-FF6#FR-%'RootOfG 6$FU/%&indexGFXOFRF2F2F26$%*protectedG/%+modulenameG%*RLangGFunG M7R0 I&:-148f*6$'%#RpG-%(polynomG6$%(integerG%"xG'%'lambdaG-%%listG6#%,complexconsG6 2%"iG%"jG%#i1G%#i2G%"rG%%sqfrG%#rrG%#ivG%%iv_iG%$ivnG%"kG%(gamma_iG%#miG%#maG%% mincG%%maxcG6"FCC0@$0-%$absG6#-%&coeffG6%9$F+""!"""YQAR^(p)~must~have~constant~ term~1.FC>8(7#-%$seqG6$,$*&-FK6%FMF+%#llGFOFJFO!""/Ffn;FO-%'degreeG6$FMF+>%'Dig itsG"#5>8$-%%ilogG6#-FH6#-%&evalfG6#&9%6#FO@$2"")Fao>F^o,&FaoFOFOFO>8.Fjn@%2FO- %%nopsG6#F[p>82-%%ceilG6#-FH6#-Fho6#&F[p6#""#>FjpFO-T#6$""&-%(sprintfG6$Q+minc~ =~%d|+FCFjp>83-%&floorGFdo-Fgq6$Fiq-F[r6$Q+maxc~=~%d|+FCF_r>8+7#7$FjpF_r?(FaoFO FOFcp%%trueGC,>8/,&)%#ccGFaoFgn-%$addG6$*&&FS6#FfnFO)Fbs,&FaoFOFfnFgnFO/Ffn;FOF aoFO>8)-%#opG6$Fdq-%(sqrfreeG6$F_sFbs>8*7"?&8&F^tF\s@%/-%$modG6$-F`t6$FdqFitFdq FO>Fft7$-F`t6#Fft-F`t6#-%)realrootG6$-F`t6$FOFitFO?&8'FguF\s@$/&F]vF\p&F]vFcq>F ft7%FcuF]vF]v>Fft-%%sortG6$Fftf*6$%"aG%"bGFC6$%)operatorG%&arrowGFC-%&evalbG6#2 &FMF\pFjoFCFCFC>8,Fgt@%/-F]u6$FaoFdqFNC$?(8%FOFO-Far6#,$-FgpFdu#FOFdqF\sC%>80-F \q6#&&Fft6#,&F\xFdqFgnFOFcq>81-Far6#&&Fft6#,$F\xFdqF\p@$1FdxF\y>Few7$-F`t6#Few7 $FdxF\y@$/-F]u6$F`xFdqFOC$>Fdx-F\q6#&&Fft6#F`xFcq@$1FdxF_r>Few7$Fgy7$FdxF_r@%/F `xFN>FewFjrC&>F\y-Far6#&&FftF\pF\p@$1FjpF\y>Few7$Fgy7$FjpF\y?(F\xFOFO-Far6#,&F` xFax#FgnFdqFOF\sC%>Fdx-F\q6#&F`yFcq>F\y-Far6#&&Fft6#,&F\xFdqFOFOF\p@$Fdy>FewFfy @$/F\zFNC$>FdxF`z@$Ffz>FewFhz>8-Fgt?&FitFewF\s?&F]vFhrF\s@%1F`v&FitF\p@%1&FitFc qFav>Fb]l7$-F`t6#Fb]lFit@$1Fg]lFav>Fb]l7$F]^l7$Fg]lFav@%1FavFj]l>Fb]l7$F]^lF]v@ $1F`vFj]l>Fb]l7$F]^l7$F`vFj]l>FhrFb]l@$/-Fgp6#FhrFNOFgnO&&FhrF\pF\pFCFC6$%'myin foGc'myinfo&:-1536$%*protectedG/%+modulenameG%*RLangGFunG M7R0 I&:-142f*6$'%"qG-%(polynomG6$%(integerG%"xG'%'lambdaG-%%listG6#%,complexconsG6& %"iG%"nG%"MG%$kapG6"F7C(>8%-%'degreeG6$9$F+>8&-%$absG6#-%'lcoeffG6#F>?(8$"""FI- %%nopsG6#9%%%trueG>F@*&F@FI-%$maxG6$FI-FB6#-%&evalfG6#&FM6#FHFI>8',$*(-%%sqrtG6 #""$FI),$*&F:FI,&F:FIFIFIFI#FI""#,&F_o#!""""%FeoFIFI)F@,$*&F:FI,(*$F:FboFIF:Fbo FeoFIFI#FeoFboFIFao>Ffn-FW6#FfnOFfnF7F7F76$%*protectedG/%+modulenameG%*RLangGFu nG M7R0 I&:-150f*6#'%"fG-%(ratpolyG6$%(integerG%"xG6+%"pG%%pminG%%pmaxG%%pestG%&phaseG% #f1G%#RpG%"cG%'lambdaG6"F6C+@$-%%typeG6$9$-%(polynomGF)O""">8,-T#6#F<@%2F@-%%no psG6#FB>8'-%%ceilG6#-%&evalfG6#-%$absG6#*&-%#lnG6#,$-%'degreeG6$-%&denomGFEF+"" *F@-FX6#-FT6#*&&FB6#F@F@&FB6#""#!""Feo>FLF@@$4-F:6$FL%'posintGYQCMaybe~there~is ~no~dominating~root!F6-T%6$""%-%(sprintfG6$QOpForRegExp:~Estimate~from~Barcucci :~pest~=~%d|+F6FL>8%""!>8&Fdo>8(Fhp?(F6F@F@F6%%trueGC*@%/F\qFhp>8$Fjp>Fcq-FN6#, &Fgp#F@FdoFjpFhq-F_p6$""&-Fcp6$QKpForRegExp:~Perform~binary~search.~p~=~%d|+F6F cq>8)-T'6%FFB-FD6#F`r>8*-T)6$F`rFB>8+-T+6$FhrFB@%/F]sFeo@%FaqC$>Fjp,$Fjp Fdo@$2FLFjpC%>F\qF@>Fgp,$FjpFhq>FjpFL>FgpFcq@%FaqC%>F\qF@>FgpF\t@$/FgpF@>FgpFhp >FjpFcq@$/,&FjpF@FgpFeoF@OFjpF6F66,%0getRootsRatSortGc0getRootsRatSort&:-136%'m yinfoGc'myinfo&:-153%.decompositionGc.decomposition&:-141%&getRpGc&getRp&:-149% &findcGc&findc&:-1486$%*protectedG/%+modulenameG%*RLangGFunG M7R0 I&:-137f*6#'%%exprG%'RootOfG6'%"iG%(retListG%%polyG%$facG%%facsG6"F.C'>8%7">8&- %'factorG6#-%#opG6$"""9$@%/-F96$""!F4%"*G>8(7#-F96#F4>FD7#F4?&8'FD%%trueG?(8$F; F;-%'degreeG6#FKFL>F17$-F96#F1-F'6$FK/%&indexGFNOF1F.F.F.6$%*protectedG/%+modul enameG%*RLangGFunG M7R0 I&:-145f*6$'%"fG-%(ratpolyG6$%(integerG%"xG'%'lambdaG-%%listG6#%,complexconsG6, %"iG%(expPolyG%)summandsG%(summandG%'sumVarG%'sumValG%(sumTermG%$valG%"PG%)test ExprG6"F=C'>8,7#-%$seqG6$""!/%"lG;"""-%%nopsG6#9%>8%-&%%gfunG6#%/ratpolytocoeff G6%9$F+%"nG@%/-%#opG6$FEFO%"+G>8&7#-Fen6#FO>Fin7#FO?&8'Fin%%trueG@%/-Fen6$FEF`o %$SumGC%>8(-Fen6$FI-Fen6$""#F`o>8)-T#6#-Fen6$F^pF\p?&8+F`pFaoC)?(8$FIFIFJFao@$/ *$Fgp!""&FM6#Fjp[>Fgp-%'freezeG6#Fgp>8*-%%subsG6$/FioFgp-Fen6$FIF`o>8--%)assumi ngG6$7#-%)simplifyG6#*&FgqFI)FgpFWFI7#'FWF*>F_r-%%thawG6#F_r>F_r-%&evalfGF^s@%- %%typeG6$F_r-%(polynomG6$%)anythingGFW>&F@F`q,&F[tFIF_rFIC$-%&printGF^sYQ9Probl ems~with~this~term!F=C$?(FjpFIFIFJFaoC$>F_r-Far6$7#-Fer6#*&F`oFI)F_qFWF^qFir@$F csC$>F[tF\tFaq@$32FJFjp4-Fds6$F`o.%)functionGC$-F_t6#F`oYQ\pCannot~find~which~r oot~corresponds~to~this~summand~of~the~exponential~polynomial.F=OF@F=F=6$%-expa ndRootOfGc-expandRootOf&:-1376$%*protectedG/%+modulenameG%*RLangGFunG M7R0 I&:-153f*6$'%$levG%(integerG%%textG6#%"iG6"F+@$19$%,myinfolevelGC$-%'printfG6#9 %?(8$""$"""9#%%trueG-%&printG6#&9"6#F6F+F+F+6#/%+modulenameG%*RLangGFunG M7R0 I&:-171f*6$'%"fG-%(ratpolyG6$%(integerG%"xG'%'lambdaG-%%listG6#%,complexconsG6( %#RpG%)multpartG%*multRootsG%#r1G%#r2G%$kapG6"F9C(>8$-%&denomG6#9$>8%-%$gcdG6$F <-%%diffG6$F8&-T#6#*$FB!""@$2""!-%%nopsG6#FJC&>%'DigitsG"#?>8'-%$absG6#-%&e valfG6#&FJ6#"""@%2F^o-FT6#9%>8(-Fgn6#-Fjn6#&Fco6#""#>FeoFR@%2,$-%$maxG6$FenFeo# F^o"5+++++++++5,&FenF^oFeoFO>F<-%)simplifyG6#*&F8)-T'6$-T%6#FFX ,(-%'ilog10G6#F^qFO-%%ilogG6#FenF^oF^oF^o@$2,&-Fgn6#-Fjn6#&FcoF]oF^oFfnFOF^q>F< Fhp@$/-%&coeffG6%FF<,$F8%-%&denomG6#9$>8&-%'degreeG6#F:@$/F@""!O-%&coeff G6%F>F+9%>8'-%$maxG6$F@-FB6#-%&numerGF=@%2FMFKC)>8(-T#6$F>FM>8*-%'vectorG6$F@f* 6#%$v_iGF76$%)operatorG%&arrowGF7&Fen6#,(-%%nopsG6#Fen"""FhoFhoF>!""F7F76$F4FY> 8)-%'matrixG6%F@F@FF?(8$FhoFhoF@%%trueGC$>&F\p6$FhoFap,$*&-FI6%F:F+FapFho-FI6%F :F+FFFioFio@$2FapF@>&F\p6$,&FapFhoFhoFhoFapFho>F\p-%&evalmG6#)F\p,&FKFhoFMFio>F hn-Feq6#-%#&*G6$F\pFhnO&Fhn6#FhoO-%#opG6$,&FKFhoFhoFho-Fen6$F>FfrF7F76$%0getCoe fficientsGc0getCoefficients&:-1606$%*protectedG/%+modulenameG%*RLangGFunG M7R0 I&:-172f*6#'%"fG-%(ratpolyG6$%(integerG%"xG6+%"pG%%pminG%%pmaxG%%pestG%&phaseG% #f1G%#RpG%"cG%'lambdaG6"F6C+@$-%%typeG6$9$-%(polynomGF)O""">8,-T#6#F<@%2F@-%%no psG6#FB>8'-%%ceilG6#-%&evalfG6#-%$absG6#*&-%#lnG6#,$-%'degreeG6$-%&denomGFEF+"" *F@-FX6#-FT6#*&&FB6#F@F@&FB6#""#!""Feo>FLF@@$4-F:6$FL%'posintGYQCMaybe~there~is ~no~dominating~root!F6-T%6$""%-%(sprintfG6$QOpForRegExp:~Estimate~from~Barcucci :~pest~=~%d|+F6FL>8%""!>8&Fdo>8(Fhp?(F6F@F@F6%%trueGC*@%/F\qFhp>8$Fjp>Fcq-FN6#, &Fgp#F@FdoFjpFhq-F_p6$""&-Fcp6$QKpForRegExp:~Perform~binary~search.~p~=~%d|+F6F cq>8)-T'6%FFB-FD6#F`r>8*-T)6$F`rFB>8+-T+6$FhrFB@%/F]sFeo@%FaqC$>Fjp,$Fjp Fdo@$2FLFjpC%>F\qF@>Fgp,$FjpFhq>FjpFL>FgpFcq@%FaqC%>F\qF@>FgpF\t@$/FgpF@>FgpFhp >FjpFcq@$/,&FjpF@FgpFeoF@OFjpF6F66,%0getRootsRatSortGc0getRootsRatSort&:-158%'m yinfoGc'myinfo&:-175%.decompositionGc.decomposition&:-163%&getRpGc&getRp&:-171% &findcGc&findc&:-1706$%*protectedG/%+modulenameG%*RLangGFunG M7R0 I&:-160f*6$'%"fG-%(ratpolyG6$%)rationalG%"xG'%"nG%*nonnegintG6'%"iG%"jG%"pG%"qG %'coeffsG6"F5C(>8&-%'expandG6#-%&numerG6#9$>8'-F:6#-%&denomGF>@$/-%&coeffG6%FAF +""!FKYQJCannot~compute~coefficients:~q_0~is~zero!F5>8(7#*&-FI6%F8F+FK"""FH!""? (8$FTFT9%%%trueGC%>FO7$-%#opG6#FO-FI6%F8F+FW?(8%FKFT,&FWFTFUFTFY>&FO6#,&FWFTFTF T,&F`oFT*&&FO6#,&F]oFTFTFTFT-FI6%FAF+,&FWFTF]oFUFTFU>F`o*&F`oFTFHFUOFOF5F5F56$% *protectedG/%+modulenameG%*RLangGFunG M7R0 I&:-173f*6%'%"fG-%(ratpolyG6$%(integerG%"xG'%'lambdaG-%%listG6#%,complexconsG'% ,checkDecompGF*65%"iG%"jG%"pG%)decomp_iG%*multRootsG%#RpG%"kG%"cG%#hTG%#hUG%"hG %"zG%#z1G%"TG%#ThG%"UG%&gammaG%%RinvG%'regExpG6"FHCE@$/-%%nopsG6#9%""!@%-%%type G6$9$-%(polynomG6$%*nonnegintGF+OFUY-%(sprintfG6$QNCannot~determine~a~regular~e xpression~for~%a.FHFU@%/9&FP>8&-T#6#FU>F^o"""@$2FcoF^oC&-T%6$""$-Fgn6$QgoFor~fi nding~a~constant~c~we~have~to~decompose~the~series~into~%d~subseries.|+FHF^o>86 FP?(8$FcoFcoF^o%%trueGC%-Fho6$Fjo-Fgn6$QUGetting~a~regular~expression~for~the~% d.~subseries.|+FHFap>8'-T'6%FUF^oFap>F_p,&F_pFco*&)F+,&FapFco!""FcoFco-%%subsG6 $/F+)F+F^o-T+6%Fjp-T)6#FjpFcoFcoFcoOF_p>8)-T-6$FUFO-Fho6$Fjo-Fgn6$Q,R^(p)~=~%a| +FHFar>8*-%'degreeG6$FarF+>8+-T/6$FarFO@$/F`sFcqY-Fgn6$Q8Cannot~find~a~c~(f=%a) .FHFU>847#,&*&-%&coeffG6%FarF+FcoFco-F`t6%FarF+FPFcoFcqF`sFcq?(Fap""#FcoF[sFbp> F[t7$-%#opG6#F[t,&*&-F`t6%FarF+FapFcoFbtFcoFcq*&F`sFco&F[t6#FbqFcoFco-Fho6$Fjo- Fgn6%Q;For~c=%d~we~get~gamma=%a.|+FHF`sF[t>81-%)simplifyG6#*&FUFcoFarFco-Fho6$" "&-Fgn6$Q(T~=~%a|+FHFhu>83-Fju6#*&FUFco,&FcoFco*&F`sFcoF+FcoFcqFco-Fho6$""%QinD etermine~from~which~index~on~T~has~nonnegative~coefficients:|+FH>8,-T16$Fhu-F]r 6#Fhu-Fho6$F\w-Fgn6$QhnAll~coefficients~with~index~greater~than~%d~are~nonnegat ive.|+FHF_w-Fho6$F\wQinDetermine~from~which~index~on~U~has~nonnegative~coeffici ents:|+FH>8--Faw6$Fdv-F]r6#Fdv-Fho6$F\w-Fgn6$FiwF^x>8.-%$maxG6%FPF_wF^x-Fho6$Fj o-Fgn6$Q(h~=~%d|+FHFhx>82Fhu?(FapFPFcoFhxFbp>Fby,&FbyFco*&-T36$FhuFapFco)F+FapF coFcq>Fby-Fju6#Fby-Fho6$F_v-Fgn6$Q,T^[h]~=~%a|+FHFby>85*&-%%starG6#FivFco-Fgz6# ,&-%$addG6$*&&F[t6#%#llGFco)F+Fb[lFco/Fb[l;Fco,&F[sFcoFcqFcoFco*(&F[t6#F[sFco)F +F[sFcoFfzFcoFcoFco-Fho6$F_v-Fgn6$Q*1/R~=~%a|+FHFdz>8/FP?(8%FcoFcoFf[lFbpC%@%1F P,(FhxFcoFc\lFcoF[sFcq>80*&Fh[lFco-Fhy6$FUFg\lFco>Fi\lFP?(FapFc\lFcoFf[lFbpC$@$ 2FP,(FhxFcoFc\lFcoFapFcq>Fi\l,&Fi\lFco*&&F[t6#FapFco,&-Fhy6$FUFb]lFco*&F`sFco-F hy6$FU,*FhxFcoFc\lFcoFapFcqFcqFcoFcoFcqFcoFco@$/Fb]lFP>Fi\l,&Fi\lFco*&Ff]lFcoFi ]lFcoFco>Fa\l,&Fa\lFco*&)F+,&FhxFcoFc\lFcoFcoFi\lFcoFco-Fho6$F_v-Fgn6$Q(z~=~%a| +FHFa\l>F_p,&*&FdzFco,(**Fh[lFco-Fhy6$FUFhxFco)F+,&FhxFcoF[sFcoFcoFfzFcoFco-Fjq 6%Fby-F]rF]zFPFcoFa\lFcoFcoFco**F`sFcoFc_lFco)F+,&FhxFcoFcoFcoFcoFfzFcoFco?(Fap FPFcoFhxFbp>F_p,&F_pFco*&-Fhy6$FUFapFcoFjyFcoFco>F_p-Fju6#-Feq6$/-Fgz6#FPFcoF_p OF_pFHFH64%+pForRegExpGc+pForRegExp&:-172%'myinfoGc'myinfo&:-175%.decomposition Gc.decomposition&:-163%0getRootsRatSortGc0getRootsRatSort&:-158%2regularExpress ionGc2regularExpression&:-173%&getRpGc&getRp&:-171%&findcGc&findc&:-170%8bounda ryForNonnegCoeffsGc8boundaryForNonnegCoeffs&:-168%,coefficientGc,coefficient&:- 1616$%*protectedG/%+modulenameG%*RLangGFunG M7R0 I&:-163f*6%'%"fG-%(ratpolyG6$%(integerG%"xG'%"kG%'posintG'%#i1GF*6'%"iG%"jG%&cy cloG%$f_iG%"hG6"F7C+>8$,&-%$modG6$,&9&"""!""FA9%FAFAFA>8&-&%*numtheoryG6#%+cycl otomicG6$FC%"sG>8'""!?(8%FAFAFC%%trueGC&>8(*&)FL,&FCFA*&,&F:FAFBFAFAFQFAFBFA-%% subsG6$/F+*&)FLFQFA%"yGFA9$FA>FU-%)simplifyG6#*&-%$remG6%-%&numerG6#FUFEFLFA-Fc o6%-%&denomGFgoFEFLFB>FN,&FNFAFUFA>FN-F_o6#*&-Fco6%-Ffo6#FNFEFLFA-Fco6%-F[pFepF EFLFB>FN*(FNFAFCFB)F[oFZFB>FNFap>FN-F_o6#*&-%'expandG6#FdpFA-Fbq6#FhpFB>FN-%(al gsubsG6$/)F[oFCF+FNOFNF7F7F76$%*protectedG/%+modulenameG%*RLangGFunG M7R0 I&:-174f*6#'%#f1G-%(ratpolyG6$%(integerG%"xG6,%"fG%"iG%"qG%%reciG%'lambdaG%&has DRG%"pG%'decompG%%NratG%'regExpG6"F7C8@$-%%typeG6$9$-%(polynomG6$%*nonnegintGF+ C$-T#6$"""Q\pThe~function~f~is~a~polynomial~with~positive~coefficients.~Thus~f~ is~N-rational.|+F7OF=@$-F;6$F=-F?F)O%&falseG>8$-%)simplifyG6#F=>8&-%%sortG6#-%' expandG6#-%&denomG6#FP@$/-%&coeffG6%FUF+""!!"">FU-FW6#,$FUF_o-FD6%""$QFDenomina tor~of~generating~function~isF7FU@$0F[oFFYQHConstant~term~in~denominator~must~b e~1.F7>8'-T%6#FU-FD6%FfoQHReciprocal~polynomial~of~denominator~isF7F]p>8(-T'Fhn -FD6%""#Q/Roots~of~f(x):F7Fep>8)-T)6%F]pFep.Fep@$/F]qF^oC$>8*FF-FD6%FjpQ9Found~ a~dominating~root:F7&Fep6#FF@$/F]qFjpC%-FD6$FjpQhoThere~are~several~roots~with~ maximal~modulus.~Looking~for~a~decomposition...|+F7>Ffq-T+6#F]p@%2FFFfq-FD6$Fjp -%(sprintfG6$QKWe~decompose~our~function~into~%d~series.|+F7FfqC$-FD6$FFQAThe~f unction~is~not~N-rational.|+F7OFN@$/F]qFFC$F_sOFN>8,%%trueG@$3/FfqFF4-T-6$FPFep >FhsFN@$FgrC%>Fep7">8+Fet?(8%FFFFFfqFisC(-FD6$Fjp-F[s6$Q*|+i~=~%d:|+F7Fit>Fgt7$ -%#opG6#Fgt-T/6%FPFfqFit>F]p-F_p6#-Fgn6#&Fgt6#Fit>Fep7$-Fcu6#Fep-FgpF\v-FD6%Ffo -F[s6$Q2Roots~of~f_%d(x):F7Fit&FepF^v@$/-F_q6%F]pFiv.FivF^o@%-F_t6$F]vFiv-FD6$F jp-F[s6$Q8f_%d(x)~is~N-rational.|+F7FitC%-FD6$Fjp-F[s6$QFhsFN[@%Fhs-FD6$FFQ5f(x)~is~N-rational.|+F7C$-FD6$FFQ9f(x)~is~not~N -rational.|+F7OFN-FD6$FjpQF|+Calculating~a~regular~expression...|+F7@%F\t>8--T1 6%FPFepF^oC$>F]yF^o?(FitFFFFFfqFis>F]y,&F]yFF*&)F+,&FitFFF_oFFFF-%%subsG6$/F+)F +Ffq-F_y6%F]vFivF^oFFFFOF]yF7F762%'myinfoGc'myinfo&:-175%+reciprocalGc+reciproc al&:-155%,getRootsRatGc,getRootsRat&:-157%2hasDominatingRootGc2hasDominatingRoo t&:-166%1commonUnityRootsGc1commonUnityRoots&:-162%8hasPositiveCoefficientsGc8h asPositiveCoefficients&:-169%.decompositionGc.decomposition&:-163%2regularExpre ssionGc2regularExpression&:-1736$%*protectedG/%+modulenameG%*RLangGFunG M7R0 I&:-162f*6#'%#q1G-%(polynomG6$%(integerG%"xG6-%"iG%"qG%"RG%"pG%$qXYG%%factG%$de gG%$invG%"nG%(cycPolyG%)cycPolysG6"F8C3@$/-%'degreeG6$9$F+""!YQ8No~roots~in~pol ynomial!F8>8%-%)simplifyG6#*&F?"""-%$gcdG6$F?-%%diffGF>!"">8(F@>8*-F=6$FDF+?(8$ F@FIFS%%trueG>FQ,&FQFI*(-%&coeffG6%FDF+FWFI)F+FWFI)%"yG,&FSFIFWFOFIFI>8&-%*resu ltantG6%FDFQF+>F^o-FF6#*&F^oFI),&FIFIF[oFOFSFO>F^o-%%subsG6$/F[oF+F^o-T#6%""%Q= Symmetrical~polynomial~R(x):F8F^o>8.<">8'FI>F^o-%'factorG6#F^o@%/-%#opG6$F@F^o% "*G>F^o7#-F^qFjp>F^o7#F^o?(FWFIFI-%%nopsGFjpFXC%>8)&F^o6#FW@$/-F^q6$F@F[r%"^G>F [r-F^q6$FIF[r@$/F`r%"+GC%>FS-F=6$F[rF+>8+-&%*numtheoryG6#%'invphiG6#FS?&8,F^sFX C$>8--&Fas6#%+cyclotomicG6$FfsF+@$/F[rFisC$>Fcp-%&unionG6$Fcp<#7$FfsFis>Ffp-%%i lcmG6$FfpFfs-F^p6%F`pQSThe~following~cyclotomic~polynomials~divide~R(x):|+F8-F^ q6#Fcp-F^p6$""$-%(sprintfG6$QdoThe~least~common~order~of~the~dividing~cyclotomi c~polynomials~is~p~=~%d.|+F8FfpOFfpF8F86$%'myinfoGc'myinfo&:-1756$%*protectedG/ %+modulenameG%*RLangGFunG M7R0 I&:-167f*6$'%"fG-%(ratpolyG6$%(integerG%"xG'%'lambdaG-%%listG6#%,complexconsG6, %"iG%(expPolyG%)summandsG%(summandG%'sumVarG%'sumValG%(sumTermG%$valG%"PG%)test ExprG6"F=C'>8,7#-%$seqG6$""!/%"lG;"""-%%nopsG6#9%>8%-&%%gfunG6#%/ratpolytocoeff G6%9$F+%"nG@%/-%#opG6$FEFO%"+G>8&7#-Fen6#FO>Fin7#FO?&8'Fin%%trueG@%/-Fen6$FEF`o %$SumGC%>8(-Fen6$FI-Fen6$""#F`o>8)-T#6#-Fen6$F^pF\p?&8+F`pFaoC)?(8$FIFIFJFao@$/ *$Fgp!""&FM6#Fjp[>Fgp-%'freezeG6#Fgp>8*-%%subsG6$/FioFgp-Fen6$FIF`o>8--%)assumi ngG6$7#-%)simplifyG6#*&FgqFI)FgpFWFI7#'FWF*>F_r-%%thawG6#F_r>F_r-%&evalfGF^s@%- %%typeG6$F_r-%(polynomG6$%)anythingGFW>&F@F`q,&F[tFIF_rFIC$-%&printGF^sYQ9Probl ems~with~this~term!F=C$?(FjpFIFIFJFaoC$>F_r-Far6$7#-Fer6#*&F`oFI)F_qFWF^qFir@$F csC$>F[tF\tFaq@$32FJFjp4-Fds6$F`o.%)functionGC$-F_t6#F`oYQ\pCannot~find~which~r oot~corresponds~to~this~summand~of~the~exponential~polynomial.F=OF@F=F=6$%-expa ndRootOfGc-expandRootOf&:-1596$%*protectedG/%+modulenameG%*RLangGFunG M7R0 I&:-156f*6#'%"pG-%(polynomG6$%(integerG%"xG6'%"iG%%squfG%"fG%'lambdaG%%fctrG6"F 2C'>8%-%'factorG6#*&9$"""-%$gcdG6$F:-%%diffG6$F:F+!""@%/-%#opG6$""!F5%"*G>8&7#- FF6#F5>FK7#F5>8'7"?&8(FK%%trueG?(8$F;F;-%'degreeG6$FUF+FV>FR7$-FF6#FR-%'RootOfG 6$FU/%&indexGFXOFRF2F2F26$%*protectedG/%+modulenameG%*RLangGFunG M7R0 I&:-175f*6$'%$levG%(integerG%%textG6#%"iG6"F+@$19$%,myinfolevelGC$-%'printfG6#9 %?(8$""$"""9#%%trueG-%&printG6#&9"6#F6F+F+F+6#/%+modulenameG%*RLangGFunG M7R0 I&:-166f*6%'%"qG-%(polynomG6$%(integerG%"xG'%'lambdaG-%%listG6#%,complexconsG%- lambdaSortedG6*%"iG%$kapG%(maxListG%(posrealG%(lambda1G%)maxList1G%%tempG%#lsG6 "F%'DigitsG"#?>8+7"@$/-%%nopsG6#9%""!OFJ>8&-T#6$FIF??&8$FM%%trueG>FB7$-%#op G6#FB&FI6#FR?(FR"""FfnFFFS@$4-%#inG6$FRFM>FBFU>8'%&falseG?(FRFfnFfn-FG6#FMFS@$3 -%%typeG6$&FI6#&FMFZ%)realconsG2FJ-%&evalfG6#FhoC$>F^oFS[@$4F^oC$>9&FBOFfn@$/Fa oFfnC&>FM-FO6$&FB6#;""#-FGFXF@@$2FJFaoC%>8*&FB6#,&&FM6#FfnFfnFfnFfn>Fiq&FB6#Fbq >F_rFhq>FgpFBOFJ-T%6$""%QgnThere~are~several~roots~that~seem~to~have~the~same~m odulus.|+F<>8%-T'6$9$FI>F?-%$maxG6$F@,(-%'ilog10G6#Fjr!""-%%ilogG6#-%$absG6#-F^ p6#&FBF]rFfnFfnFfn-Fer6$Fgr-%(sprintfG6$QSWe~therefore~increase~the~number~of~d igits~to~%d.|+F8(FC?(FRFfnFfnFaoFS>F^u7 $-FW6#F^uFho>8)-FO6$F^uF?>FBFC?(FRFfnFfn-FG6#FeuFS>FB7$FV&F^u6#&FeuFZ?(FRFfnFfn FaoFS@$4-Fjn6$FRFeu>FB7$FV&F^uFZ?(FRFfnFfnFFFS@$Fhn>FBFU>F^oF_o?(FRFfnFfnFjuFS@ $3-Ffo6$F^vF[p2FJ-F^p6#F^vC$>F^oFSFbp@$FdpC$>FgpFBOFfn@%/FjuFfnC&>FMF]q@$FeqC%> FhqFiq>FiqF_r>F_rFhq>FgpFBOFJC$>FgpFBOFbqF8%-T#6$FH9%-T%6%""&QMCoefficients~of~ex ponential~polynomial~(P_i)FBF[o>8&-%'lcoeffG6#&F[o6#FS@$52-%&evalfG6#FfoFN4-FF6 $Ffo.%)realconsGO%&falseG@$/-%%nopsG6#F_oFS@%2FN-FU6$Fjo%"nGC$>8,-%$maxG6#-%'fs olveG6$/FjoFNFbq@$2FeqFN>FeqFP>FeqFP@$2FSF[qC2>8'-%$absG6#-F`p6#,&&F_oF[pFS*&$F S!"#FS,&F\sFS-Fgr6#&F_o6#""#FPFSFP-Fao6$Fco-%(sprintfG6$Q(a~=~%e|+FBFer>8(-Fgr6 #-F`p6#,&FasFS*&F^sFSF`sFSFS-Fao6$Fco-Fis6$Q(b~=~%e|+FBF]t>8)*&$FcoFPFSFfoFS@%F _q>8--Fgq6#-Fjq6$/,&FjoFS*&FjtFS)FbqF`qFSFPFNFbq>F_uFN-Fao6$Fco-Fis6$Q(c~=~%e|+ FBFjt>8*,&-Fgq6#-%$seqG6$-FU6$&F[o6#%"jGFbq/Fjv;Fes-F\q6#F[oFSFSFS-Fao6$Fco-Fis 6$Q(d~=~%e|+FBF_v>8+-Fgq6#-Fdv6$-Fgq6#-Fdv6$-Fgr6#-F`p6#-Fen6%FhvFbq%"kG/Fdx;FN -FU6#FhvF[w-Fao6$Fco-Fis6$Q(e~=~%e|+FBFew>8.**F[qFSF_vFSFewFSFjtFP>8/,(F_vFSF`q FPFPFS-Fao6$Fco-Fis6&QjnWe~must~find~n0~such~that~%e~*~n0^%d~*~%e^n0~<~1~for~al l~n>n0.|+FBF_yFby*&F]tFSFerFP@%/FbyFN>Feq-F`p6#,$*&-%#lnG6#F_yFS-Fbz6#FiyFPFP@% 2FbyFN>Feq-Fjq6$/*()FbqFbyFS)FiyFbqFSF_yFSFS/Fbq;FN%)infinityGC%>80-F`p6#,$*&Fb yFSFdzFPFP>81-F`p6#)*&Fd[lFS-%$expG6#FPFSFby@%2Fj[l*$F_yFP>FeqFN>Feq-Fjq6$F[[l/ Fbq;Fd[lFa[l>Feq-Fgq6$FeqF_u>Feq-%%ceilG6#Feq>Feq-Fgq6$Feq,&-FU6#-%&numerG6#FHF S-FU6#-%&denomGFj]lFP-Fao6$""%-Fis6$QarBy~estimation~of~the~exponential~polynom ial~it~is~sure~that~all~coefficients~are~positive~which~have~an~index~geq~%d.|+ FBFeq?(FBFSFSFB32FPFeq1FN-T'6$FHFeq>Feq,&FeqFSFPFSOFeqFBFB6(%6exponentialPolyno mialGc6exponentialPolynomial&:-167%'myinfoGc'myinfo&:-175%,coefficientGc,coeffi cient&:-1616$%*protectedG/%+modulenameG%*RLangGFunG M7R0 I&:-157f*6#'%"fG-%(ratpolyG6$%(integerG%"xG6%%"iG%'roots1G%'roots2G6"F0C&>8%-T# 6#-%&denomG6#9$>8&7"?&8$F3%%trueG>F<7$-%#opG6#F<*$F?!""OF%,myinfolevelG""$F$F$F$6#/%+modulenameG%*RLangGFunG M7R0 I&:-165f*6$'%'lambdaG-%%listG6#%,complexconsG'%$digG%(integerG6&%"iG%'maxValG%( maxListG%'absValG6"F3C'>%'DigitsG9%>8&7">8%""!?(8$"""F@-%%nopsG6#9$%%trueGC$>8' -%$absG6#-%&evalfG6#&FD6#F?@%2,&FF97#F?>FF97$-%#opG6#F9F?>F<-%$maxG6$F8$-T#6$9$9%@$/F7%&falseGC$-T%6$"""QDNot~all~coefficients~are~positi ve!|+F4OF?@%/F7!""C$-FB6$""#Q@All~coefficients~are~positive.|+F4O%%trueGC$FAOF? F4F46&%8boundaryForNonnegCoeffsGc8boundaryForNonnegCoeffs&:-168%'myinfoGc'myinf o&:-1756$%*protectedG/%+modulenameG%*RLangGFunG M7R0 I&:-158f*6#'%"fG-%(ratpolyG6$%(integerG%"xG6%%"iG%'roots1G%'roots2G6"F0C%>8&-T# 6#9$-T'6%-T%6#-%&denomGF6F3.F3OF3F0F06(%,getRootsRatGc,getRootsRat&:-157%+recip rocalGc+reciprocal&:-155%2hasDominatingRootGc2hasDominatingRoot&:-1666$%*protec tedG/%+modulenameG%*RLangGFunG M7R0 I&:-164f*6$'%"qG-%(polynomG6$%(integerG%"xG'%'lambdaG-%%listG6#%,complexconsG6& %"iG%"nG%"MG%$kapG6"F7C(>8%-%'degreeG6$9$F+>8&-%$absG6#-%'lcoeffG6#F>?(8$"""FI- %%nopsG6#9%%%trueG>F@*&F@FI-%$maxG6$FI-FB6#-%&evalfG6#&FM6#FHFI>8',$*(-%%sqrtG6 #""$FI),$*&F:FI,&F:FIFIFIFI#FI""#,&F_o#!""""%FeoFIFI)F@,$*&F:FI,(*$F:FboFIF:Fbo FeoFIFI#FeoFboFIFao>Ffn-FW6#FfnOFfnF7F7F76$%*protectedG/%+modulenameG%*RLangGFu nG M7R0 I&:-155f*6#'%"pG-%(polynomG6$%)anythingG%"xG6"F,F,O-%%sortG6$-%'expandG6#*&)F+- %'degreeG6$9$F+"""-%%subsG6$/F+*$F+!""F9F:F+F,F,F,6$%*protectedG/%+modulenameG% *RLangGFunG M7R0 I&:-170f*6$'%#RpG-%(polynomG6$%(integerG%"xG'%'lambdaG-%%listG6#%,complexconsG6 2%"iG%"jG%#i1G%#i2G%"rG%%sqfrG%#rrG%#ivG%%iv_iG%$ivnG%"kG%(gamma_iG%#miG%#maG%% mincG%%maxcG6"FCC0@$0-%$absG6#-%&coeffG6%9$F+""!"""YQAR^(p)~must~have~constant~ term~1.FC>8(7#-%$seqG6$,$*&-FK6%FMF+%#llGFOFJFO!""/Ffn;FO-%'degreeG6$FMF+>%'Dig itsG"#5>8$-%%ilogG6#-FH6#-%&evalfG6#&9%6#FO@$2"")Fao>F^o,&FaoFOFOFO>8.Fjn@%2FO- %%nopsG6#F[p>82-%%ceilG6#-FH6#-Fho6#&F[p6#""#>FjpFO-T#6$""&-%(sprintfG6$Q+minc~ =~%d|+FCFjp>83-%&floorGFdo-Fgq6$Fiq-F[r6$Q+maxc~=~%d|+FCF_r>8+7#7$FjpF_r?(FaoFO FOFcp%%trueGC,>8/,&)%#ccGFaoFgn-%$addG6$*&&FS6#FfnFO)Fbs,&FaoFOFfnFgnFO/Ffn;FOF aoFO>8)-%#opG6$Fdq-%(sqrfreeG6$F_sFbs>8*7"?&8&F^tF\s@%/-%$modG6$-F`t6$FdqFitFdq FO>Fft7$-F`t6#Fft-F`t6#-%)realrootG6$-F`t6$FOFitFO?&8'FguF\s@$/&F]vF\p&F]vFcq>F ft7%FcuF]vF]v>Fft-%%sortG6$Fftf*6$%"aG%"bGFC6$%)operatorG%&arrowGFC-%&evalbG6#2 &FMF\pFjoFCFCFC>8,Fgt@%/-F]u6$FaoFdqFNC$?(8%FOFO-Far6#,$-FgpFdu#FOFdqF\sC%>80-F \q6#&&Fft6#,&F\xFdqFgnFOFcq>81-Far6#&&Fft6#,$F\xFdqF\p@$1FdxF\y>Few7$-F`t6#Few7 $FdxF\y@$/-F]u6$F`xFdqFOC$>Fdx-F\q6#&&Fft6#F`xFcq@$1FdxF_r>Few7$Fgy7$FdxF_r@%/F `xFN>FewFjrC&>F\y-Far6#&&FftF\pF\p@$1FjpF\y>Few7$Fgy7$FjpF\y?(F\xFOFO-Far6#,&F` xFax#FgnFdqFOF\sC%>Fdx-F\q6#&F`yFcq>F\y-Far6#&&Fft6#,&F\xFdqFOFOF\p@$Fdy>FewFfy @$/F\zFNC$>FdxF`z@$Ffz>FewFhz>8-Fgt?&FitFewF\s?&F]vFhrF\s@%1F`v&FitF\p@%1&FitFc qFav>Fb]l7$-F`t6#Fb]lFit@$1Fg]lFav>Fb]l7$F]^l7$Fg]lFav@%1FavFj]l>Fb]l7$F]^lF]v@ $1F`vFj]l>Fb]l7$F]^l7$F`vFj]l>FhrFb]l@$/-Fgp6#FhrFNOFgnO&&FhrF\pF\pFCFC6$%'myin foGc'myinfo&:-1756$%*protectedG/%+modulenameG%*RLangGFunG M7R0 I&:-159f*6#'%%exprG%'RootOfG6'%"iG%(retListG%%polyG%$facG%%facsG6"F.C'>8%7">8&- %'factorG6#-%#opG6$"""9$@%/-F96$""!F4%"*G>8(7#-F96#F4>FD7#F4?&8'FD%%trueG?(8$F; F;-%'degreeG6#FKFL>F17$-F96#F1-F'6$FK/%&indexGFNOF1F.F.F.6$%*protectedG/%+modul enameG%*RLangGFunG M7R0 I*RLangGFun`67c+reciprocal&:-177c)getRoots&:-178c,getRootsRat&:-179c0getRootsRa tSort&:-180c-expandRootOf&:-181c0getCoefficients&:-182c,coefficient&:-183c1comm onUnityRoots&:-184c.decomposition&:-185c&kappa&:-186c/maximalModulus&:-187c2has DominatingRoot&:-188c6exponentialPolynomial&:-189c8boundaryForNonnegCoeffs&:-19 0c8hasPositiveCoefficients&:-191c&findc&:-192c&getRp&:-193c+pForRegExp&:-194c2r egularExpression&:-195c(analyze&:-196c,isNrational&:-197b6#%+thismoduleG6$%'myi nfoG%&setupG6$/%%loadGF?%(packageG67%+reciprocalG%)getRootsG%,getRootsRatG%0get RootsRatSortG%-expandRootOfG%0getCoefficientsG%,coefficientG%1commonUnityRootsG %.decompositionG%&kappaG%/maximalModulusG%2hasDominatingRootG%6exponentialPolyn omialG%8boundaryForNonnegCoeffsG%8hasPositiveCoefficientsG%&findcG%&getRpG%+pFo rRegExpG%2regularExpressionG%(analyzeG%,isNrationalG6"6#Q`oRegular~Languages~an d~Their~Generating~Functions:~The~Inverse~ProblemFZ6#%,myinfolevelGFZ%+_m147487 04G6$c'myinfo&:-198c&setup&:-199FZ M7R0 I&:-184f*6#'%#q1G-%(polynomG6$%(integerG%"xG6-%"iG%"qG%"RG%"pG%$qXYG%%factG%$de gG%$invG%"nG%(cycPolyG%)cycPolysG6"F8C3@$/-%'degreeG6$9$F+""!YQ8No~roots~in~pol ynomial!F8>8%-%)simplifyG6#*&F?"""-%$gcdG6$F?-%%diffGF>!"">8(F@>8*-F=6$FDF+?(8$ F@FIFS%%trueG>FQ,&FQFI*(-%&coeffG6%FDF+FWFI)F+FWFI)%"yG,&FSFIFWFOFIFI>8&-%*resu ltantG6%FDFQF+>F^o-FF6#*&F^oFI),&FIFIF[oFOFSFO>F^o-%%subsG6$/F[oF+F^o-T#6%""%Q= Symmetrical~polynomial~R(x):F8F^o>8.<">8'FI>F^o-%'factorG6#F^o@%/-%#opG6$F@F^o% "*G>F^o7#-F^qFjp>F^o7#F^o?(FWFIFI-%%nopsGFjpFXC%>8)&F^o6#FW@$/-F^q6$F@F[r%"^G>F [r-F^q6$FIF[r@$/F`r%"+GC%>FS-F=6$F[rF+>8+-&%*numtheoryG6#%'invphiG6#FS?&8,F^sFX C$>8--&Fas6#%+cyclotomicG6$FfsF+@$/F[rFisC$>Fcp-%&unionG6$Fcp<#7$FfsFis>Ffp-%%i lcmG6$FfpFfs-F^p6%F`pQSThe~following~cyclotomic~polynomials~divide~R(x):|+F8-F^ q6#Fcp-F^p6$""$-%(sprintfG6$QdoThe~least~common~order~of~the~dividing~cyclotomi c~polynomials~is~p~=~%d.|+F8FfpOFfpF8F86$%'myinfoGc'myinfo&:-1986$%*protectedG/ %+modulenameG%*RLangGFunG M7R0 I&:-192f*6$'%#RpG-%(polynomG6$%(integerG%"xG'%'lambdaG-%%listG6#%,complexconsG6 2%"iG%"jG%#i1G%#i2G%"rG%%sqfrG%#rrG%#ivG%%iv_iG%$ivnG%"kG%(gamma_iG%#miG%#maG%% mincG%%maxcG6"FCC0@$0-%$absG6#-%&coeffG6%9$F+""!"""YQAR^(p)~must~have~constant~ term~1.FC>8(7#-%$seqG6$,$*&-FK6%FMF+%#llGFOFJFO!""/Ffn;FO-%'degreeG6$FMF+>%'Dig itsG"#5>8$-%%ilogG6#-FH6#-%&evalfG6#&9%6#FO@$2"")Fao>F^o,&FaoFOFOFO>8.Fjn@%2FO- %%nopsG6#F[p>82-%%ceilG6#-FH6#-Fho6#&F[p6#""#>FjpFO-T#6$""&-%(sprintfG6$Q+minc~ =~%d|+FCFjp>83-%&floorGFdo-Fgq6$Fiq-F[r6$Q+maxc~=~%d|+FCF_r>8+7#7$FjpF_r?(FaoFO FOFcp%%trueGC,>8/,&)%#ccGFaoFgn-%$addG6$*&&FS6#FfnFO)Fbs,&FaoFOFfnFgnFO/Ffn;FOF aoFO>8)-%#opG6$Fdq-%(sqrfreeG6$F_sFbs>8*7"?&8&F^tF\s@%/-%$modG6$-F`t6$FdqFitFdq FO>Fft7$-F`t6#Fft-F`t6#-%)realrootG6$-F`t6$FOFitFO?&8'FguF\s@$/&F]vF\p&F]vFcq>F ft7%FcuF]vF]v>Fft-%%sortG6$Fftf*6$%"aG%"bGFC6$%)operatorG%&arrowGFC-%&evalbG6#2 &FMF\pFjoFCFCFC>8,Fgt@%/-F]u6$FaoFdqFNC$?(8%FOFO-Far6#,$-FgpFdu#FOFdqF\sC%>80-F \q6#&&Fft6#,&F\xFdqFgnFOFcq>81-Far6#&&Fft6#,$F\xFdqF\p@$1FdxF\y>Few7$-F`t6#Few7 $FdxF\y@$/-F]u6$F`xFdqFOC$>Fdx-F\q6#&&Fft6#F`xFcq@$1FdxF_r>Few7$Fgy7$FdxF_r@%/F `xFN>FewFjrC&>F\y-Far6#&&FftF\pF\p@$1FjpF\y>Few7$Fgy7$FjpF\y?(F\xFOFO-Far6#,&F` xFax#FgnFdqFOF\sC%>Fdx-F\q6#&F`yFcq>F\y-Far6#&&Fft6#,&F\xFdqFOFOF\p@$Fdy>FewFfy @$/F\zFNC$>FdxF`z@$Ffz>FewFhz>8-Fgt?&FitFewF\s?&F]vFhrF\s@%1F`v&FitF\p@%1&FitFc qFav>Fb]l7$-F`t6#Fb]lFit@$1Fg]lFav>Fb]l7$F]^l7$Fg]lFav@%1FavFj]l>Fb]l7$F]^lF]v@ $1F`vFj]l>Fb]l7$F]^l7$F`vFj]l>FhrFb]l@$/-Fgp6#FhrFNOFgnO&&FhrF\pF\pFCFC6$%'myin foGc'myinfo&:-1986$%*protectedG/%+modulenameG%*RLangGFunG M7R0 I&:-185f*6%'%"fG-%(ratpolyG6$%(integerG%"xG'%"kG%'posintG'%#i1GF*6'%"iG%"jG%&cy cloG%$f_iG%"hG6"F7C+>8$,&-%$modG6$,&9&"""!""FA9%FAFAFA>8&-&%*numtheoryG6#%+cycl otomicG6$FC%"sG>8'""!?(8%FAFAFC%%trueGC&>8(*&)FL,&FCFA*&,&F:FAFBFAFAFQFAFBFA-%% subsG6$/F+*&)FLFQFA%"yGFA9$FA>FU-%)simplifyG6#*&-%$remG6%-%&numerG6#FUFEFLFA-Fc o6%-%&denomGFgoFEFLFB>FN,&FNFAFUFA>FN-F_o6#*&-Fco6%-Ffo6#FNFEFLFA-Fco6%-F[pFepF EFLFB>FN*(FNFAFCFB)F[oFZFB>FNFap>FN-F_o6#*&-%'expandG6#FdpFA-Fbq6#FhpFB>FN-%(al gsubsG6$/)F[oFCF+FNOFNF7F7F76$%*protectedG/%+modulenameG%*RLangGFunG M7R0 I&:-193f*6$'%"fG-%(ratpolyG6$%(integerG%"xG'%'lambdaG-%%listG6#%,complexconsG6( %#RpG%)multpartG%*multRootsG%#r1G%#r2G%$kapG6"F9C(>8$-%&denomG6#9$>8%-%$gcdG6$F <-%%diffG6$F8&-T#6#*$FB!""@$2""!-%%nopsG6#FJC&>%'DigitsG"#?>8'-%$absG6#-%&e valfG6#&FJ6#"""@%2F^o-FT6#9%>8(-Fgn6#-Fjn6#&Fco6#""#>FeoFR@%2,$-%$maxG6$FenFeo# F^o"5+++++++++5,&FenF^oFeoFO>F<-%)simplifyG6#*&F8)-T'6$-T%6#FFX ,(-%'ilog10G6#F^qFO-%%ilogG6#FenF^oF^oF^o@$2,&-Fgn6#-Fjn6#&FcoF]oF^oFfnFOF^q>F< Fhp@$/-%&coeffG6%FF<,$F8&-%'expandG6#-%&numerG6#9$>8'-F:6#-%&denomGF>@$/-%&coeffG6%FAF +""!FKYQJCannot~compute~coefficients:~q_0~is~zero!F5>8(7#*&-FI6%F8F+FK"""FH!""? (8$FTFT9%%%trueGC%>FO7$-%#opG6#FO-FI6%F8F+FW?(8%FKFT,&FWFTFUFTFY>&FO6#,&FWFTFTF T,&F`oFT*&&FO6#,&F]oFTFTFTFT-FI6%FAF+,&FWFTF]oFUFTFU>F`o*&F`oFTFHFUOFOF5F5F56$% *protectedG/%+modulenameG%*RLangGFunG M7R0 I&:-199f*6"F$F$F$>%,myinfolevelG""$F$F$F$6#/%+modulenameG%*RLangGFunG M7R0 I&:-190f*6$'%"fG-%(ratpolyG6$%(integerG%"xG'%'lambdaG-%%listG6#%,complexconsG61 %"iG%)PolynomsG%#lcG%"aG%"bG%"cG%"dG%"eG%#n0G%%n0_cG%$rhoG%#exG%%maxXG%%maxYG%$ recG6"FBC.@$-%%typeG6$9$-%(polynomGF)C%@$/FH""!O!""?(8$FN"""-%'degreeG6$FHF+%%t rueG@$2-%&coeffG6%FHF+,&FTFSFRFPFN[OFgn>8%-T#6$FH9%-T%6%""&QMCoefficients~of~ex ponential~polynomial~(P_i)FBF[o>8&-%'lcoeffG6#&F[o6#FS@$52-%&evalfG6#FfoFN4-FF6 $Ffo.%)realconsGO%&falseG@$/-%%nopsG6#F_oFS@%2FN-FU6$Fjo%"nGC$>8,-%$maxG6#-%'fs olveG6$/FjoFNFbq@$2FeqFN>FeqFP>FeqFP@$2FSF[qC2>8'-%$absG6#-F`p6#,&&F_oF[pFS*&$F S!"#FS,&F\sFS-Fgr6#&F_o6#""#FPFSFP-Fao6$Fco-%(sprintfG6$Q(a~=~%e|+FBFer>8(-Fgr6 #-F`p6#,&FasFS*&F^sFSF`sFSFS-Fao6$Fco-Fis6$Q(b~=~%e|+FBF]t>8)*&$FcoFPFSFfoFS@%F _q>8--Fgq6#-Fjq6$/,&FjoFS*&FjtFS)FbqF`qFSFPFNFbq>F_uFN-Fao6$Fco-Fis6$Q(c~=~%e|+ FBFjt>8*,&-Fgq6#-%$seqG6$-FU6$&F[o6#%"jGFbq/Fjv;Fes-F\q6#F[oFSFSFS-Fao6$Fco-Fis 6$Q(d~=~%e|+FBF_v>8+-Fgq6#-Fdv6$-Fgq6#-Fdv6$-Fgr6#-F`p6#-Fen6%FhvFbq%"kG/Fdx;FN -FU6#FhvF[w-Fao6$Fco-Fis6$Q(e~=~%e|+FBFew>8.**F[qFSF_vFSFewFSFjtFP>8/,(F_vFSF`q FPFPFS-Fao6$Fco-Fis6&QjnWe~must~find~n0~such~that~%e~*~n0^%d~*~%e^n0~<~1~for~al l~n>n0.|+FBF_yFby*&F]tFSFerFP@%/FbyFN>Feq-F`p6#,$*&-%#lnG6#F_yFS-Fbz6#FiyFPFP@% 2FbyFN>Feq-Fjq6$/*()FbqFbyFS)FiyFbqFSF_yFSFS/Fbq;FN%)infinityGC%>80-F`p6#,$*&Fb yFSFdzFPFP>81-F`p6#)*&Fd[lFS-%$expG6#FPFSFby@%2Fj[l*$F_yFP>FeqFN>Feq-Fjq6$F[[l/ Fbq;Fd[lFa[l>Feq-Fgq6$FeqF_u>Feq-%%ceilG6#Feq>Feq-Fgq6$Feq,&-FU6#-%&numerG6#FHF S-FU6#-%&denomGFj]lFP-Fao6$""%-Fis6$QarBy~estimation~of~the~exponential~polynom ial~it~is~sure~that~all~coefficients~are~positive~which~have~an~index~geq~%d.|+ FBFeq?(FBFSFSFB32FPFeq1FN-T'6$FHFeq>Feq,&FeqFSFPFSOFeqFBFB6(%6exponentialPolyno mialGc6exponentialPolynomial&:-189%'myinfoGc'myinfo&:-198%,coefficientGc,coeffi cient&:-1836$%*protectedG/%+modulenameG%*RLangGFunG M7R0 I&:-198f*6$'%$levG%(integerG%%textG6#%"iG6"F+@$19$%,myinfolevelGC$-%'printfG6#9 %?(8$""$"""9#%%trueG-%&printG6#&9"6#F6F+F+F+6#/%+modulenameG%*RLangGFunG M7R0 I&:-183f*6$'%"fG-%(ratpolyG6$%)rationalG%"xG'%"nG%*nonnegintG6)%"iG%"qG%%degqG% %mdegG%'fcoeffG%"mG%"vG6"F7C'>8%-%&denomG6#9$>8&-%'degreeG6#F:@$/F@""!O-%&coeff G6%F>F+9%>8'-%$maxG6$F@-FB6#-%&numerGF=@%2FMFKC)>8(-T#6$F>FM>8*-%'vectorG6$F@f* 6#%$v_iGF76$%)operatorG%&arrowGF7&Fen6#,(-%%nopsG6#Fen"""FhoFhoF>!""F7F76$F4FY> 8)-%'matrixG6%F@F@FF?(8$FhoFhoF@%%trueGC$>&F\p6$FhoFap,$*&-FI6%F:F+FapFho-FI6%F :F+FFFioFio@$2FapF@>&F\p6$,&FapFhoFhoFhoFapFho>F\p-%&evalmG6#)F\p,&FKFhoFMFio>F hn-Feq6#-%#&*G6$F\pFhnO&Fhn6#FhoO-%#opG6$,&FKFhoFhoFho-Fen6$F>FfrF7F76$%0getCoe fficientsGc0getCoefficients&:-1826$%*protectedG/%+modulenameG%*RLangGFunG M7R0 I&:-191f*6$'%"fG-%(ratpolyG6$%(integerG%"xG'%'lambdaG-%%listG6#%,complexconsG6# %#n0G6"F4C%>8$-T#6$9$9%@$/F7%&falseGC$-T%6$"""QDNot~all~coefficients~are~positi ve!|+F4OF?@%/F7!""C$-FB6$""#Q@All~coefficients~are~positive.|+F4O%%trueGC$FAOF? F4F46&%8boundaryForNonnegCoeffsGc8boundaryForNonnegCoeffs&:-190%'myinfoGc'myinf o&:-1986$%*protectedG/%+modulenameG%*RLangGFunG M7R0 I&:-177f*6#'%"pG-%(polynomG6$%)anythingG%"xG6"F,F,O-%%sortG6$-%'expandG6#*&)F+- %'degreeG6$9$F+"""-%%subsG6$/F+*$F+!""F9F:F+F,F,F,6$%*protectedG/%+modulenameG% *RLangGFunG M7R0 I&:-188f*6%'%"qG-%(polynomG6$%(integerG%"xG'%'lambdaG-%%listG6#%,complexconsG%- lambdaSortedG6*%"iG%$kapG%(maxListG%(posrealG%(lambda1G%)maxList1G%%tempG%#lsG6 "F%'DigitsG"#?>8+7"@$/-%%nopsG6#9%""!OFJ>8&-T#6$FIF??&8$FM%%trueG>FB7$-%#op G6#FB&FI6#FR?(FR"""FfnFFFS@$4-%#inG6$FRFM>FBFU>8'%&falseG?(FRFfnFfn-FG6#FMFS@$3 -%%typeG6$&FI6#&FMFZ%)realconsG2FJ-%&evalfG6#FhoC$>F^oFS[@$4F^oC$>9&FBOFfn@$/Fa oFfnC&>FM-FO6$&FB6#;""#-FGFXF@@$2FJFaoC%>8*&FB6#,&&FM6#FfnFfnFfnFfn>Fiq&FB6#Fbq >F_rFhq>FgpFBOFJ-T%6$""%QgnThere~are~several~roots~that~seem~to~have~the~same~m odulus.|+F<>8%-T'6$9$FI>F?-%$maxG6$F@,(-%'ilog10G6#Fjr!""-%%ilogG6#-%$absG6#-F^ p6#&FBF]rFfnFfnFfn-Fer6$Fgr-%(sprintfG6$QSWe~therefore~increase~the~number~of~d igits~to~%d.|+F8(FC?(FRFfnFfnFaoFS>F^u7 $-FW6#F^uFho>8)-FO6$F^uF?>FBFC?(FRFfnFfn-FG6#FeuFS>FB7$FV&F^u6#&FeuFZ?(FRFfnFfn FaoFS@$4-Fjn6$FRFeu>FB7$FV&F^uFZ?(FRFfnFfnFFFS@$Fhn>FBFU>F^oF_o?(FRFfnFfnFjuFS@ $3-Ffo6$F^vF[p2FJ-F^p6#F^vC$>F^oFSFbp@$FdpC$>FgpFBOFfn@%/FjuFfnC&>FMF]q@$FeqC%> FhqFiq>FiqF_r>F_rFhq>FgpFBOFJC$>FgpFBOFbqF8%-T# 6#-%&denomG6#9$>8&7"?&8$F3%%trueG>F<7$-%#opG6#F<*$F?!""OF8$-%)simplifyG6#F=>8&-%%sortG6#-%' expandG6#-%&denomG6#FP@$/-%&coeffG6%FUF+""!!"">FU-FW6#,$FUF_o-FD6%""$QFDenomina tor~of~generating~function~isF7FU@$0F[oFFYQHConstant~term~in~denominator~must~b e~1.F7>8'-T%6#FU-FD6%FfoQHReciprocal~polynomial~of~denominator~isF7F]p>8(-T'Fhn -FD6%""#Q/Roots~of~f(x):F7Fep>8)-T)6%F]pFep.Fep@$/F]qF^oC$>8*FF-FD6%FjpQ9Found~ a~dominating~root:F7&Fep6#FF@$/F]qFjpC%-FD6$FjpQhoThere~are~several~roots~with~ maximal~modulus.~Looking~for~a~decomposition...|+F7>Ffq-T+6#F]p@%2FFFfq-FD6$Fjp -%(sprintfG6$QKWe~decompose~our~function~into~%d~series.|+F7FfqC$-FD6$FFQAThe~f unction~is~not~N-rational.|+F7OFN@$/F]qFFC$F_sOFN>8,%%trueG@$3/FfqFF4-T-6$FPFep >FhsFN@$FgrC%>Fep7">8+Fet?(8%FFFFFfqFisC(-FD6$Fjp-F[s6$Q*|+i~=~%d:|+F7Fit>Fgt7$ -%#opG6#Fgt-T/6%FPFfqFit>F]p-F_p6#-Fgn6#&Fgt6#Fit>Fep7$-Fcu6#Fep-FgpF\v-FD6%Ffo -F[s6$Q2Roots~of~f_%d(x):F7Fit&FepF^v@$/-F_q6%F]pFiv.FivF^o@%-F_t6$F]vFiv-FD6$F jp-F[s6$Q8f_%d(x)~is~N-rational.|+F7FitC%-FD6$Fjp-F[s6$QFhsFN[@%Fhs-FD6$FFQ5f(x)~is~N-rational.|+F7C$-FD6$FFQ9f(x)~is~not~N -rational.|+F7OFN-FD6$FjpQF|+Calculating~a~regular~expression...|+F7@%F\t>8--T1 6%FPFepF^oC$>F]yF^o?(FitFFFFFfqFis>F]y,&F]yFF*&)F+,&FitFFF_oFFFF-%%subsG6$/F+)F +Ffq-F_y6%F]vFivF^oFFFFOF]yF7F762%'myinfoGc'myinfo&:-198%+reciprocalGc+reciproc al&:-177%,getRootsRatGc,getRootsRat&:-179%2hasDominatingRootGc2hasDominatingRoo t&:-188%1commonUnityRootsGc1commonUnityRoots&:-184%8hasPositiveCoefficientsGc8h asPositiveCoefficients&:-191%.decompositionGc.decomposition&:-185%2regularExpre ssionGc2regularExpression&:-1956$%*protectedG/%+modulenameG%*RLangGFunG M7R0 I&:-189f*6$'%"fG-%(ratpolyG6$%(integerG%"xG'%'lambdaG-%%listG6#%,complexconsG6, %"iG%(expPolyG%)summandsG%(summandG%'sumVarG%'sumValG%(sumTermG%$valG%"PG%)test ExprG6"F=C'>8,7#-%$seqG6$""!/%"lG;"""-%%nopsG6#9%>8%-&%%gfunG6#%/ratpolytocoeff G6%9$F+%"nG@%/-%#opG6$FEFO%"+G>8&7#-Fen6#FO>Fin7#FO?&8'Fin%%trueG@%/-Fen6$FEF`o %$SumGC%>8(-Fen6$FI-Fen6$""#F`o>8)-T#6#-Fen6$F^pF\p?&8+F`pFaoC)?(8$FIFIFJFao@$/ *$Fgp!""&FM6#Fjp[>Fgp-%'freezeG6#Fgp>8*-%%subsG6$/FioFgp-Fen6$FIF`o>8--%)assumi ngG6$7#-%)simplifyG6#*&FgqFI)FgpFWFI7#'FWF*>F_r-%%thawG6#F_r>F_r-%&evalfGF^s@%- %%typeG6$F_r-%(polynomG6$%)anythingGFW>&F@F`q,&F[tFIF_rFIC$-%&printGF^sYQ9Probl ems~with~this~term!F=C$?(FjpFIFIFJFaoC$>F_r-Far6$7#-Fer6#*&F`oFI)F_qFWF^qFir@$F csC$>F[tF\tFaq@$32FJFjp4-Fds6$F`o.%)functionGC$-F_t6#F`oYQ\pCannot~find~which~r oot~corresponds~to~this~summand~of~the~exponential~polynomial.F=OF@F=F=6$%-expa ndRootOfGc-expandRootOf&:-1816$%*protectedG/%+modulenameG%*RLangGFunG M7R0 I&:-178f*6#'%"pG-%(polynomG6$%(integerG%"xG6'%"iG%%squfG%"fG%'lambdaG%%fctrG6"F 2C'>8%-%'factorG6#*&9$"""-%$gcdG6$F:-%%diffG6$F:F+!""@%/-%#opG6$""!F5%"*G>8&7#- FF6#F5>FK7#F5>8'7"?&8(FK%%trueG?(8$F;F;-%'degreeG6$FUF+FV>FR7$-FF6#FR-%'RootOfG 6$FU/%&indexGFXOFRF2F2F26$%*protectedG/%+modulenameG%*RLangGFunG M7R0 I&:-197f*6#'%#f1G-%(ratpolyG6$%(integerG%"xG6+%"fG%"iG%"qG%%reciG%'lambdaG%&has DRG%"pG%'decompG%%NratG6"F6C5@$-%%typeG6$9$-%(polynomG6$%*nonnegintGF+C$-T#6$"" "Q\pThe~function~f~is~a~polynomial~with~positive~coefficients.~Thus~f~is~N-rati onal.|+F6O%%trueG@$-F:6$F<-F>F)O%&falseG>8$-%)simplifyG6#F<>8&-%%sortG6#-%'expa ndG6#-%&denomG6#FP@$/-%&coeffG6%FUF+""!!"">FU-FW6#,$FUF_o-FC6%""$QFDenominator~ of~generating~function~isF6FU@$0F[oFEYQHConstant~term~in~denominator~must~be~1. F6>8'-T%6#FU-FC6%FfoQHReciprocal~polynomial~of~denominator~isF6F]p>8(-T'Fhn-FC6 %""#Q/Roots~of~f(x):F6Fep>8)-T)6%F]pFep.Fep@$/F]qF^oC$>8*FE-FC6%FjpQ9Found~a~do minating~root:F6&Fep6#FE@$/F]qFjpC%-FC6$FjpQhoThere~are~several~roots~with~maxi mal~modulus.~Looking~for~a~decomposition...|+F6>Ffq-T+6#F]p@%2FEFfq-FC6$Fjp-%(s printfG6$QKWe~decompose~our~function~into~%d~series.|+F6FfqC$-FC6$FEQAThe~funct ion~is~not~N-rational.|+F6OFN@$/F]qFEC$F_sOFN>8,FH@$3/FfqFE4-T-6$FPFep>FhsFN@$F grC%>Fep7">8+Fdt?(8%FEFEFfqFHC(-FC6$Fjp-F[s6$Q*|+i~=~%d:|+F6Fht>Fft7$-%#opG6#Ff t-T/6%FPFfqFht>F]p-F_p6#-Fgn6#&Fft6#Fht>Fep7$-Fbu6#Fep-FgpF[v-FC6%Ffo-F[s6$Q2Ro ots~of~f_%d(x):F6Fht&FepF]v@$/-F_q6%F]pFhv.FhvF^o@%-F^t6$F\vFhv-FC6$Fjp-F[s6$Q8 f_%d(x)~is~N-rational.|+F6FhtC%-FC6$Fjp-F[s6$QFhsFN[@%FhsC$-FC6$FEQ5f(x)~is~N-rational.|+F6OFHC$-FC6$FEQ9f(x)~is~not~N-rati onal.|+F6OFNF6F660%'myinfoGc'myinfo&:-198%+reciprocalGc+reciprocal&:-177%,getRo otsRatGc,getRootsRat&:-179%2hasDominatingRootGc2hasDominatingRoot&:-188%1common UnityRootsGc1commonUnityRoots&:-184%8hasPositiveCoefficientsGc8hasPositiveCoeff icients&:-191%.decompositionGc.decomposition&:-1856$%*protectedG/%+modulenameG% *RLangGFunG M7R0 I&:-186f*6$'%"qG-%(polynomG6$%(integerG%"xG'%'lambdaG-%%listG6#%,complexconsG6& %"iG%"nG%"MG%$kapG6"F7C(>8%-%'degreeG6$9$F+>8&-%$absG6#-%'lcoeffG6#F>?(8$"""FI- %%nopsG6#9%%%trueG>F@*&F@FI-%$maxG6$FI-FB6#-%&evalfG6#&FM6#FHFI>8',$*(-%%sqrtG6 #""$FI),$*&F:FI,&F:FIFIFIFI#FI""#,&F_o#!""""%FeoFIFI)F@,$*&F:FI,(*$F:FboFIF:Fbo FeoFIFI#FeoFboFIFao>Ffn-FW6#FfnOFfnF7F7F76$%*protectedG/%+modulenameG%*RLangGFu nG M7R0 I&:-194f*6#'%"fG-%(ratpolyG6$%(integerG%"xG6+%"pG%%pminG%%pmaxG%%pestG%&phaseG% #f1G%#RpG%"cG%'lambdaG6"F6C+@$-%%typeG6$9$-%(polynomGF)O""">8,-T#6#F<@%2F@-%%no psG6#FB>8'-%%ceilG6#-%&evalfG6#-%$absG6#*&-%#lnG6#,$-%'degreeG6$-%&denomGFEF+"" *F@-FX6#-FT6#*&&FB6#F@F@&FB6#""#!""Feo>FLF@@$4-F:6$FL%'posintGYQCMaybe~there~is ~no~dominating~root!F6-T%6$""%-%(sprintfG6$QOpForRegExp:~Estimate~from~Barcucci :~pest~=~%d|+F6FL>8%""!>8&Fdo>8(Fhp?(F6F@F@F6%%trueGC*@%/F\qFhp>8$Fjp>Fcq-FN6#, &Fgp#F@FdoFjpFhq-F_p6$""&-Fcp6$QKpForRegExp:~Perform~binary~search.~p~=~%d|+F6F cq>8)-T'6%FFB-FD6#F`r>8*-T)6$F`rFB>8+-T+6$FhrFB@%/F]sFeo@%FaqC$>Fjp,$Fjp Fdo@$2FLFjpC%>F\qF@>Fgp,$FjpFhq>FjpFL>FgpFcq@%FaqC%>F\qF@>FgpF\t@$/FgpF@>FgpFhp >FjpFcq@$/,&FjpF@FgpFeoF@OFjpF6F66,%0getRootsRatSortGc0getRootsRatSort&:-180%'m yinfoGc'myinfo&:-198%.decompositionGc.decomposition&:-185%&getRpGc&getRp&:-193% &findcGc&findc&:-1926$%*protectedG/%+modulenameG%*RLangGFunG M7R0 I&:-181f*6#'%%exprG%'RootOfG6'%"iG%(retListG%%polyG%$facG%%facsG6"F.C'>8%7">8&- %'factorG6#-%#opG6$"""9$@%/-F96$""!F4%"*G>8(7#-F96#F4>FD7#F4?&8'FD%%trueG?(8$F; F;-%'degreeG6#FKFL>F17$-F96#F1-F'6$FK/%&indexGFNOF1F.F.F.6$%*protectedG/%+modul enameG%*RLangGFunG M7R0 I&:-187f*6$'%'lambdaG-%%listG6#%,complexconsG'%$digG%(integerG6&%"iG%'maxValG%( maxListG%'absValG6"F3C'>%'DigitsG9%>8&7">8%""!?(8$"""F@-%%nopsG6#9$%%trueGC$>8' -%$absG6#-%&evalfG6#&FD6#F?@%2,&FF97#F?>FF97$-%#opG6#F9F?>F<-%$maxG6$F8&-T#6#FU>F^o"""@$2FcoF^oC&-T%6$""$-Fgn6$QgoFor~fi nding~a~constant~c~we~have~to~decompose~the~series~into~%d~subseries.|+FHF^o>86 FP?(8$FcoFcoF^o%%trueGC%-Fho6$Fjo-Fgn6$QUGetting~a~regular~expression~for~the~% d.~subseries.|+FHFap>8'-T'6%FUF^oFap>F_p,&F_pFco*&)F+,&FapFco!""FcoFco-%%subsG6 $/F+)F+F^o-T+6%Fjp-T)6#FjpFcoFcoFcoOF_p>8)-T-6$FUFO-Fho6$Fjo-Fgn6$Q,R^(p)~=~%a| +FHFar>8*-%'degreeG6$FarF+>8+-T/6$FarFO@$/F`sFcqY-Fgn6$Q8Cannot~find~a~c~(f=%a) .FHFU>847#,&*&-%&coeffG6%FarF+FcoFco-F`t6%FarF+FPFcoFcqF`sFcq?(Fap""#FcoF[sFbp> F[t7$-%#opG6#F[t,&*&-F`t6%FarF+FapFcoFbtFcoFcq*&F`sFco&F[t6#FbqFcoFco-Fho6$Fjo- Fgn6%Q;For~c=%d~we~get~gamma=%a.|+FHF`sF[t>81-%)simplifyG6#*&FUFcoFarFco-Fho6$" "&-Fgn6$Q(T~=~%a|+FHFhu>83-Fju6#*&FUFco,&FcoFco*&F`sFcoF+FcoFcqFco-Fho6$""%QinD etermine~from~which~index~on~T~has~nonnegative~coefficients:|+FH>8,-T16$Fhu-F]r 6#Fhu-Fho6$F\w-Fgn6$QhnAll~coefficients~with~index~greater~than~%d~are~nonnegat ive.|+FHF_w-Fho6$F\wQinDetermine~from~which~index~on~U~has~nonnegative~coeffici ents:|+FH>8--Faw6$Fdv-F]r6#Fdv-Fho6$F\w-Fgn6$FiwF^x>8.-%$maxG6%FPF_wF^x-Fho6$Fj o-Fgn6$Q(h~=~%d|+FHFhx>82Fhu?(FapFPFcoFhxFbp>Fby,&FbyFco*&-T36$FhuFapFco)F+FapF coFcq>Fby-Fju6#Fby-Fho6$F_v-Fgn6$Q,T^[h]~=~%a|+FHFby>85*&-%%starG6#FivFco-Fgz6# ,&-%$addG6$*&&F[t6#%#llGFco)F+Fb[lFco/Fb[l;Fco,&F[sFcoFcqFcoFco*(&F[t6#F[sFco)F +F[sFcoFfzFcoFcoFco-Fho6$F_v-Fgn6$Q*1/R~=~%a|+FHFdz>8/FP?(8%FcoFcoFf[lFbpC%@%1F P,(FhxFcoFc\lFcoF[sFcq>80*&Fh[lFco-Fhy6$FUFg\lFco>Fi\lFP?(FapFc\lFcoFf[lFbpC$@$ 2FP,(FhxFcoFc\lFcoFapFcq>Fi\l,&Fi\lFco*&&F[t6#FapFco,&-Fhy6$FUFb]lFco*&F`sFco-F hy6$FU,*FhxFcoFc\lFcoFapFcqFcqFcoFcoFcqFcoFco@$/Fb]lFP>Fi\l,&Fi\lFco*&Ff]lFcoFi ]lFcoFco>Fa\l,&Fa\lFco*&)F+,&FhxFcoFc\lFcoFcoFi\lFcoFco-Fho6$F_v-Fgn6$Q(z~=~%a| +FHFa\l>F_p,&*&FdzFco,(**Fh[lFco-Fhy6$FUFhxFco)F+,&FhxFcoF[sFcoFcoFfzFcoFco-Fjq 6%Fby-F]rF]zFPFcoFa\lFcoFcoFco**F`sFcoFc_lFco)F+,&FhxFcoFcoFcoFcoFfzFcoFco?(Fap FPFcoFhxFbp>F_p,&F_pFco*&-Fhy6$FUFapFcoFjyFcoFco>F_p-Fju6#-Feq6$/-Fgz6#FPFcoF_p OF_pFHFH64%+pForRegExpGc+pForRegExp&:-194%'myinfoGc'myinfo&:-198%.decomposition Gc.decomposition&:-185%0getRootsRatSortGc0getRootsRatSort&:-180%2regularExpress ionGc2regularExpression&:-195%&getRpGc&getRp&:-193%&findcGc&findc&:-192%8bounda ryForNonnegCoeffsGc8boundaryForNonnegCoeffs&:-190%,coefficientGc,coefficient&:- 1836$%*protectedG/%+modulenameG%*RLangGFunG M7R0 I&:-180f*6#'%"fG-%(ratpolyG6$%(integerG%"xG6%%"iG%'roots1G%'roots2G6"F0C%>8&-T# 6#9$-T'6%-T%6#-%&denomGF6F3.F3OF3F0F06(%,getRootsRatGc,getRootsRat&:-179%+recip rocalGc+reciprocal&:-177%2hasDominatingRootGc2hasDominatingRoot&:-1886$%*protec tedG/%+modulenameG%*RLangGFunG