K i_dZddlmZddlmZmZddlmZmZm Z m Z m Z ddl m Z mZddlmZddlmZmZmZmZmZddlmZmZdd lmZmZmZmZdd lm Z dd l!m"Z"m#Z#dd l$m%Z%dd l&m'Z'ddl(m)Z)ddl*m+Z+dZ,dZ-dZ.dZ/dZ0dZ1dZ2dZ3dZ4dZ5dZ6dZ7dZ8dZ9dZ:dZ;d Zd#Z?d$Z@d%ZAd&ZBd'ZCd(ZDd)ZEd*ZFd+ZGd,ZHd-ZId.ZJd/ZKd0ZLd1ZMd2ZNd3ZOd4ZPd5ZQd6ZRd7ZSd8ZTd9ZUd:ZVd;ZWd<ZXd=ZYd>ZZd?Z[d@Z\dAZ]dBZ^dCZ_dDZ`dEZadFZbdGZcdHZddIZedJZfdKZgdLZhdMZidNZjdOZkdPZldQZmdRZndSZodTZpdUZqdVZrdWZsdXZtyY)ZzTest sparse polynomials. )reduce)addmul)ringxringsringPolyRing PolyElement)field FracField)ninf)ZZQQRRFFEX)lexgrlex)GeneratorsErrorExactQuotientFailedMultivariatePolynomialErrorCoercionFailed)raises)Symbolsymbols)S)pi)exp)sqrtcvttd\}}}}ttdtt j dk(sJtt|tt j dk(sJttdtt j dk(sJtt|||ftt j dk(sJttdtt j dk(sJttgtt j dk(sJttdtd t|t jt|k(sJtd d t jt|k(sJtd td tt t jt|k(sJttd td }td tt jt k(sJtd t|jt k(sJtd td jt k(sJtdtt }tdtt }tdtt }|j|j dk(sJ|j|j dk(sJ|j|jk(sJ|j|jk(sJ|j|jk7sJ|j|jk7sJy)Nxyztx,y,z)xyzrc,tdttSNrr rrb/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sympy/polys/tests/test_rings.pyz(test_PolyRing___init__..sHQC$8r-r%zZZ[t]tcJtdtdtttS)Nr%r+r,r-r.r/z(test_PolyRing___init__..%sHS(3C2H#$Nr-rx,y) maprlenr rrgensrrdomainorderr%r&)r%r&r'r0_lexR1R2R3s r.test_PolyRing___init__r<s|VV$JAq!Q xS).. /1 44 4 x2s#(( )Q .. . xS166 71 << < xAq 2s+00 1Q 66 6 xB$)) *a // / xB$)) *a // / ?89 CA $ + +r!u 44 4 C# & - -A 66 6 C#r3/ 5 < <1 EE E ?NO %=D CS ! ' '3 .. . CT " ( (C // / CU # ) )S 00 0 %S !B %S !B '2s #B 442771:   442771:   44244<< 44244<< 44244<< 44244<.bqvvayr-cDjjSNrYrBr%r&sr.r/z$test_PolyRing_drop..csqvvay~~a0r-)rrrZr rr ValueError)r'rBr%r&s @@@r.test_PolyRing_dropraQsGR HAq1 66!9C0 00 0 66!9C0 00 0 66!9C0 00 0 66!9C0 00 0 66!9>>! b# 6 66 6 66!9>>!  ! !! $ ** * 66!9C0 00 0 66!9C0 00 0 66!9>>! b# 6 66 6 66!9>>!  ! !! $ ** * :() :01r-ctdt\}}}}|ddtdttk(sJ|ddtdttk(sJ|ddtdttk(sJ|ddtk(sJy)Nr"rr$rVrHr'r#)rrr rrAs r.test_PolyRing___getitem__rcesGR HAq1 QR5HWb#. .. . QR5HUB, ,, , QR5HS"c* ** * QR5B;;r-cBtdtt}|jdusJ|jdusJtdtt}|jdusJ|jdusJtdtt}|jdusJ|jdusJy)Nr%TFr"r()r rr is_univariateis_multivariater[s r.test_PolyRing_is_rgmsb#A ??d "" "   %% %"c"A ??e ## #   $$ $RA ??e ## #   %% %r-c<tdt\}}tdDcgc]}|dzd|zzdz}}|j|t t|cxk(rd|dzzdzk(sJJtdt\}|jgddk(sJycc}w) Nr%rIrHr#r()rHrJrG)rrrangerrrBr%iFs r.test_PolyRing_addro}s R=DAq"'(,Q!Q$1*q.,A, 558vc1~ 41a4" 44 44 4 b"BA 55 r !! ! -sBcltdt\}}tdDcgc]}|dzd|zzdz}}|j|t t|cxk(r'|dzd|dzzzd|dzzzd |dzzzd zk(sJJtd t\}|jgd d k(sJycc}w)Nr%rIrHr#rirKiir()rHr#rJ)rrrkrrrls r.test_PolyRing_mulrts R=DAq"'(,Q!Q$1*q.,A, 558vc1~ SA1a4#ad()BSAX)MPS)S SS SS S b"BA 55 r !! ! -sB1ctdt\}}}}ttfdttfdj dj k(sJj d||z|z|zk(sJj d||z||zz||zz||zz||zz||zzk(sJj d||z|z||z|zz||z|zz||z|zzk(sJj d||z|z|zk(sJy) Nx,y,z,tc&jdSNsymmetric_polyr[sr.r/z.test_PolyRing_symmetric_poly..sq//3r-c&jdS)NrJrzr[sr.r/z.test_PolyRing_symmetric_poly..sq//2r-rr$rHr#rI)rrrr`r{one)r%r&r'r0rBs @r.test_PolyRing_symmetric_polyr~s%B'MAq!Q :34 :23  A !%% '' '  A !a%!)a- // /  A !A#!)ac/AaC"7!A#"=!"C CC C  A !A#a%!A#a%-!A#a%"7!A#a%"? ?? ?  A !A#a%' )) )r-ctd\}}}}tdtt}t |d|zzd|zz||j d|j zzd|jzzfk(sJtdtt}t |d|zz|dz z||j d|j zz|jdz zfk(sJt |d|z|dz g||j d|j z|jdz gfk(sJtdtt}td|t}t |d|z|zzd|dzz|zz|||||j d|jz|j zzd|jdzz|jzzfk(sJtdtt}td|t}t |||zdz z|dz|zdz z|||||j |j|j zdz z|jdz|jzdz zfk(sJtdtt}td|t}t |d|z|z z|dz|zdz z|||||j d|j z|jz z|jdz|jzdz zfk(sJtdtdz }t |d\}}|jtjtdtdzk(sJ|jdk(sJ||jj|k(sJy) Nrvr"rHr#r0T extensionr,)rr rrrr%r&r'rr0r rr6algebraic_fieldr5 from_sympy)r%r&r'r0rBRtras r. test_sringrs#JAq!Q"c"A QqS1Q3 AqssQqssU{QqssU':#; ;; ;"c"A QqS1Q3 AqssQqssU{QSSU':#; ;; ; !QqS!A# AQqssUACCE':#; ;; ; #r3 B"c"A QqSUQq!tVAX%q!Q /AqssQrttVACCZ7G!BDDRSG)TUTWTW-7W3X XX X #r3 B"c"A QqSUQT!VAX%q!Q /AqssRTT!##XaZ7G"$$PQ'RSRURU+VW-7W3X XX X 3C B"c"A QqSUQT!VAX%q!Q /AqssQqssU244Z7G"$$PQ'RSRURU+VW-7W3X XX X Q$q'A d #DAq 88r))$q'DG*;< << < 66R<< ##A& && &r-cTtdt\}}}}t||z|zsJyr>r?rAs r.test_PolyElement___hash__rs*gr"JAq!Q !A;;r-ctdtt\}}}||zd|z|zzdk(dk(sJ||zd|z|zzd|z|zk(dk(sJd||zd|z|zzk(dk(sJd|z|z||zd|z|zzk(dk(sJ||z||zz dk(dk(sJd||z||zz k(dk(sJ||z||zz dk(dk(sJd||z||zz k(dk(sJ||z||zz dk(dk(sJd||z||zz k(dk(sJ||zd|z|zzdk7dk(sJ||zd|z|zzd|z|zk7dk(sJd||zd|z|zzk7dk(sJd|z|z||zd|z|zzk7dk(sJ||z||zz dk7dk(sJd||z||zz k7dk(sJ||z||zz dk7dk(sJd||z||zz k7dk(sJ|jt ddcxk(r|jk(sJJ|jdcxk(r|jk(sJJtdt\}}td|\}}}|d z|z|z |d zk(dk(sJ|d z|z|z |d zk(dk(sJy) Nr2rJrKFTrr$r0r#rI)rrrr}r)rBr%r&rr0s r.test_PolyElement___eq__rs25"c"GAq! qS1Q3q5[Q 5 (( ( qS1Q3q5[QqSU "t ++ + !A#!A+ 5 (( ( aCEacAaCEk "t ++ + qS1Q3Y1  %% % !A#!)  %% % qS1Q3Y1  && & !A#!)  && & qS1Q3Y1  && & !A#!)  && & qS1Q3q5[Q 4 '' ' qS1Q3q5[QqSU "u ,, , !A#!A+ 4 '' ' aCEacAaCEk "u ,, , qS1Q3Y1  && & !A#!)  && & qS1Q3Y1  %% % !A#!)  %% % 55Bq!H % %% %% % 55A     bMEB5"oGAq! qDF1H1  %% % qDF1H1  && &r-c<tdt\}}}|d|cxkr|dzcxkr |dzksJJ|d|cxkr|dzcxkr |dzksJJ|dz|dzcxkDr|cxkDr |dkDsJJ|dz|dzcxk\r|cxk\r |dk\sJJy)Nr2r$rHr#)rrr_s r.test_PolyElement__lt_le_gt_ge__rs5"oGAq! Q4! !ad !QT !! !! ! Q41 $1 $1 $$ $$ $ a4!Q$ ! !QqT !! !! ! a41a4 $1 $! $$ $$ $r-cDtd\}}ttt|t||ft||fD]*}td|\}}t d|dzzdzdk(r*Jt t |fD]*}td|\}}t d|dzzdzdk(r*Jy)Nx, yr0rHr$z 2*t**2 + 1zEX(2)*t**2 + EX(1))rrrrstrr)r%r&domrBr0s r.test_PolyElement__str__rs 6?DAqB1r!A#w1a1/C~11QT6A:,.../BqE{7C~11QT6A:"66667r-ctdt\}}}}||zd|zz}|j}||k(sJd|d<||k7sJy)Nr"r#rGr$r$r$)rrcopy)rBr%r&r'rSgs r.test_PolyElement_copyrsQgr"JAq!Q !ac A A 6M6AiL 6M6r-c( tdt\}}}}d|dzz|z||z|zz d|dzzzdz |j\ }}d dzz|z |z|zz d|dzzzdz} |k7sJ j|k(sJtd\}}} d|dzz|z||z| zz d| dzzzdz} |k7sJ j||| |k(sJt t fdtdt\}|djdk(sJy) Nr"r#rHrGr$zu,v,wc&jSr^)as_expr)XrSsr.r/z*test_PolyElement_as_expr..sqyy|r-r()rrrrrr`) rBr%r&r'YZrUVWrrSs @@r.test_PolyElement_as_exprrs;gr"JAq!Q !Q$q1Q3q51QT6!A%AiiGAq! !Q$q1Q3q51QT6!A%A 6M6 99;!  gGAq! !Q$q1Q3q51QT6!A%A 6M6 99Q1  "" " :+, b"BA Q4<<>Q  r-c, td\ }}t ||ft\}}}jd}|dk(rj |sJj }||k(rj |sJj |z|z}|||z|zk(rj |sJj |z|z |zz z}|||z|z||zz|zk(rj |sJj dz|z|z dz|dzzzdz}||dz|z|z|dz|dzzzdzk(rj |sJt t dg\}}|jt d}||dk(r|j |sJtt fdtt fdtt fd td t\jd}|dk(rj |sJy) Nr"r$r#rHrGrc,jdz SNr$ from_exprrBr%sr.r/z,test_PolyElement_from_expr..,sq{{1Q3/r-c,jdzSNrHrrsr.r/z,test_PolyElement_from_expr..-sq{{1a40r-cDjdztdzS)NrGrH)rrrsr.r/z,test_PolyElement_from_expr...sq{{1Q3a=9r-r() rrrr is_elementrrrr`) r&r'rrrrSrrnrBr%s @@r.test_PolyElement_from_exprrsgGAq!q!Qi$JAq!Q AA 6all1o% % AA 6all1o% % AaCEA !A:!,,q/) ) AaCEAaCK!O$A !A! a ALLO3 3 AqDF1Hq!tAqDy(1,-A 1Qq1a419$q( (Q\\!_< < #a&?DAq CFA !9a( ( :/0 :01 :9: b"BA AA 6all1o% %or-ctdt\}}}}ttdk(sJ|dj tusJ|dj dk(sJ|dzj dk(sJd|dzz|zj dk(sJ||dzz|zj dk(sJ|dz|dzz|zj dk(sJ|dj |tusJ|dj |dk(sJ|dzj |dk(sJd|dzz|zj |dk(sJ||dzz|zj |dk(sJd|dzz|dzz|zj |dk(sJ|dj |tusJ|dj |dk(sJ|dzj |dk(sJd|dzz|zj |dk(sJ||dzz|zj |dk(sJd|dzz|dzz|zj |dk(sJ|dj |tusJ|dj |dk(sJ|dzj |dk(sJd|dzz|zj |dk(sJ||dzz|zj |dk(sJd|dzz|dzz|zj |dk(sJtd t\}|dj tusJ|dj dk(sJy) Nr"z-infrr$rHr#rJrGr()rrr floatdegreerAs r.test_PolyElement_degreer4smGR HAq1 5=  Q4;;=D  Q4;;=A   E>> q  adFQJ   A %% % adFQJ   A %% % qDAIM ! ! #q (( ( Q4;;q>T !! ! Q4;;q>Q   E>>!  !! ! adFQJ  q !Q && & adFQJ  q !Q && & adF1a4K!O # #A &! ++ + Q4;;q>T !! ! Q4;;q>Q   E>>!  !! ! adFQJ  q !Q && & adFQJ  q !Q && & adF1a4K!O # #A &! ++ + Q4;;q>T !! ! Q4;;q>Q   E>>!  !! ! adFQJ  q !Q && & adFQJ  q !Q && & adF1a4K!O # #A &! ++ + b"BA Q4;;=D  Q4;;=A  r-ctdt\}}}}|djtusJ|djdk(sJ|dzjdk(sJd|dzz|dz|zzjdk(sJ||dzz|dz|zzjdk(sJ|dz|dzz|dz|zzjdk(sJ|dj|tusJ|dj|dk(sJ|dzj|dk(sJd|dzz|dz|zzj|dk(sJ||dzz|dz|zzj|dk(sJd|dzz|dzz|dz|zzj|dk(sJ|dj|tusJ|dj|dk(sJ|dzj|dk(sJd|dzz|dz|zzj|dk(sJ||dzz|dz|zzj|dk(sJd|dzz|dzz|dz|zzj|dk(sJ|dj|tusJ|dj|dk(sJ|dzj|dk(sJd|dzz|dz|zzj|dk(sJ||dzz|dz|zzj|dk(sJd|dzz|dzz|dz|zzj|dk(sJtdt\}|djtusJ|djdk(sJy) Nr"rr$rHr#rJrGr()rr tail_degreer rAs r.test_PolyElement_tail_degreerYsGR HAq1 Q4    %% % Q4    "" " E   A %% % adFQT!VO ( ( *a // / adFQT!VO ( ( *a // / qDAI1Q  + + - 22 2 Q4  A $ && & Q4  A ! ## # E  q !Q && & adFQT!VO ( ( +q 00 0 adFQT!VO ( ( +q 00 0 adF1a4K!Q$q& - -a 0A 55 5 Q4  A $ && & Q4  A ! ## # E  q !Q && & adFQT!VO ( ( +q 00 0 adFQT!VO ( ( +q 00 0 adF1a4K!Q$q& - -a 0A 55 5 Q4  A $ && & Q4  A ! ## # E  q !Q && & adFQT!VO ( ( +q 00 0 adFQT!VO ( ( +q 00 0 adF1a4K!Q$q& - -a 0A 55 5 b"BA Q4    %% % Q4    "" "r-ctdt\}}}}|djtttfk(sJ|djdk(sJ|dz|z|dz|dzzzjdk(sJy)Nr"rr$rQrHr#)r#r$rH)rrdegreesr rAs r.test_PolyElement_degreesr|s}GR HAq1 Q4<<>dD$/ // / Q4<<>Y && & qDFQT!Q$Y  ' ' )Y 66 6r-ctdt\}}}}|djtttfk(sJ|djdk(sJ|dz|z|dz|dzzzjdk(sJy)Nr"rr$rQrHr#rL)rr tail_degreesr rAs r.test_PolyElement_tail_degreesrsGR HAq1 Q4   4t"4 44 4 Q4   ) ++ + qDFQT!Q$Y  , , .) ;; ;r-ctdtt\}ddzzzzzz ddzzzdzjddk(sJt t fdjdk(sJjdk(sJjdk(sJjdzzdk(sJjzzd k(sJjdzdk(sJt t fd t t fd t t fd td t\}|djddk(sJy)Nr"r#rHrGr$c&jdSrXcoeffrSsr.r/z(test_PolyElement_coeff..sqwwqzr-rryc8jddzzzS)Nr#rHrrSr%r&sr.r/z(test_PolyElement_coeff..sqwwqAvax0r-c4j zzSr^r)rSr%r&r'sr.r/z(test_PolyElement_coeff..sqwwr!tAvr-c2jddzzS)NrGr#r)rSr'sr.r/z(test_PolyElement_coeff..sqwwqAvr-r()rrrrrr`)rBrSr%r&r's @@@@r.test_PolyElement_coeffrsDgr3'JAq!Q !Q$q1Q3q51QT6!B&A 771:   :)* 771:?? 771:?? 771:?? 771a46?a   771Q3q5>R   771a4=A   :01 :./ :./ b"BA Q4::a=A  r-c<tdtt\}}}|djtdk(sJtdd|zjtddk(sJtdd|z|ztdd|zzjtddk(sJyNr2rr$rHrI)rrrLCr_s r.test_PolyElement_LCrs5"c"GAq! Q477be   qGAI>>R1X %% % qGAIaK"Qq'!) # ' '2a8 33 3r-ctdtt\}}}|djdk(sJtdd|zjdk(sJtdd|z|ztdd|zzjdk(sJy) Nr2rrrr$rHr$rrIr$r$)rrrLMr_s r.test_PolyElement_LMrsy5"c"GAq! Q477f   qGAI>>V ## # qGAIaK"Qq'!) # ' '6 11 1r-ctdtt\}}}|djdtdfk(sJtdd|zjdtddfk(sJtdd|z|ztdd|zzjdtddfk(sJtd t\}|djd k(sJ|djd k(sJy) Nr2rrr$rHrrIrr()r,r)r,r$)rrrLTrr_s r.test_PolyElement_LTrs5"c"GAq! Q477vr!uo %% % qGAI>>fbAh/ // / qGAIaK"Qq'!) # ' 'FBq!H+= == = b"BA Q477g   Q477g  r-c tdtt\}}}|djdk(sJtdd|zj|k(sJtdd|z|ztdd|zzj||zk(sJyr)rrr leading_monomr_s r.test_PolyElement_leading_monomrs5"c"GAq! Q4   1 $$ $ qGAI $ $ &! ++ + qGAIaK"Qq'!) # 2 2 4! ;; ;r-cTtdtt\}}}|djdk(sJtdd|zjtdd|zk(sJtdd|z|ztdd|zzjtdd|z|zk(sJyr)rrr leading_termr_s r.test_PolyElement_leading_termrs5"c"GAq! Q4   ! ## # qGAI # # %Aa 22 2 qGAIaK"Qq'!) # 1 1 3r!Awqy{ BB Br-ctdt\}}}}|dzdz |dzdz z|dzdz zj}|dtddfdtddfd tddfgk(sJtd tt\}}}||d zzd|dzz|dzzz}|j|jtcxk(r|jd cxk(rd dgk(sJJ|jt |jdcxk(rdd gk(sJJtd tt \}}}||d zzd|dzz|dzzz}|j|jt cxk(r|jdcxk(rdd gk(sJJ|jt|jd cxk(rd dgk(sJJtdt\}|djdgk(sJy)Nr"rHr#rIrJrLr$rr#rrrrIr2rGr)rHr#rH)r$rGr$rr()r,r#)rrtermsrrr)rBr%r&r'rrSs r.test_PolyElement_termsrsGR HAq1 T!Vad1f_q!tAv % , , .E gr!Aw''2a7);gr!Aw=OP PP P %S !FAq !Q$1a41A 779 T T; :T TT TT T 775>QWWW- K+{1K KK KK K %U #FAq !Q$1a41A 779 X!'''*: X{K>X XX XX X 773<1775> Gk;-G GG GG G b"BA Q4::. a!er-czSr^r,rsr.r/z*test_PolyElement___add__..rr-czSr^r,r0usr.r/z*test_PolyElement___add__.. rr-czSr^r,rsr.r/z*test_PolyElement___add__.. rr-rrQrrdictr TypeErrorr rr rRuvvRxyzr&r'Fuvr0rr%s @@@r.test_PolyElement___add__rs bMEBE2HC1w$KD!Aa AaC=a8 88 8 A;$q1u+ EQ1)E EE EE E AaC=D1qM Iq-I II II I AaC! QqS1Wq[ 1 _q]^5_ __ __ _ !a=DQqSM ?iQ-? ?? ?? ? !ac ?d1Q319o MQ11M MM MM M !ac A $qsQw1}"5 cQSTab9c cc cc c 9m$ 9m$ 9m$ 9m$UBHC1w$KD!Aa A;$q1u+ EQ1)E EE EE Ew#KD!Aa 21Q 4!A2#7 `r!uY[\^Y_;` `` `` `r-c| tdt\}tdt\}}td|\} }}t d|zz dddk(sJt zt z cxk(r d dk(sJJt |zzt |zz cxk(r d d k(sJJt |zz|zt |z|zz cxk(r dd d k(sJJt z zt  zz cxk(r d  dzik(sJJt z |zzt |z zz cxk(r d d k(sJJt z |zz|zt |z|z zz cxk(r dd d k(sJJtt fdtt fdttfdttfdt dt\}}td|\} }}t zt z cxk(r d dk(sJJtdt \} }}tt t |z|zzt |z|zt tz cxk(r t dt t dk(sJJy)Nr0rr"r#r$rrrrrNrrcz Sr^r,rsr.r/z*test_PolyElement___sub__..$rr-cz Sr^r,rsr.r/z*test_PolyElement___sub__..%rr-cz Sr^r,rsr.r/z*test_PolyElement___sub__..&rr-cz Sr^r,rsr.r/z*test_PolyElement___sub__..'rr-rrrs @@@r.test_PolyElement___sub__rs bMEBE2HC1w$KD!Aa AaC=b9 99 9 Q<4A; GaQB*G GG GG G QqS>T!A#'] K!.K KK KK K QqS1 acAgk!2 a!PQ_`^`6a aa aa a 1q>T!ac'] Ay1"q&.A AA AA A 1qs tAaC!A#I OaQB2O OO OO O 1qs Q 4!a!A# #6 eaTUcdbd:e ee ee e 9m$ 9m$ 9m$ 9m$UBHC1w$KD!Aa Q<4A; GaQB*G GG GG Gw#KD!Aa B!A#a% D1QB$8 b1[]^`[aZa.JacAgr-czzSr^r,r sr.r/z*test_PolyElement___mul__..Kr r-czzSr^r,r0rr'sr.r/z*test_PolyElement___mul__..Lr r-czzSr^r,r sr.r/z*test_PolyElement___mul__..Mr r-rr) rrrrr&rr0rr%r's @@@@r.test_PolyElement___mul__r2s bMEBE2HC1w$KD!Aa !9QqS 3i^ 33 33 3 !A ?d1Q3q519o OQqSQ1O OO OO O !A ?d1Q3q519o OQqSQ1O OO OO O !A ?d1Q3q519o OQqSQ1O OO OO O !A ?d1Q3q519o OQqSQ1O OO OO O !Aa! QqSU1Wq[ 1 S1QR5S SS SS S !Aa! QqSU1Wq[ 1 S1QR5S SS SS S !Aa! QqSU1Wq[ 1 S1QR5S SS SS S !Aa! QqSU1Wq[ 1 S1QR5S SS SS S !Aa! QqSU1Wq[ 1 S1QR5S SS SS S !Aa! QqSU1Wq[ 1 S1QR5S SS SS S !Aa! QqSU1Wq[ 1 S1QR5S SS SS S !Aa! QqSU1Wq[ 1 S1QR5S SS SS S !QU a D!a%1q$9 k1YZ[\Y\ij=k kk kk k 9o& 9o& 9o& 9o&UBHC1w$KD!Aa !9QqS 3i^ 33 33 3w#KD!Aa 2q 1 ac!eBrFl!3 J 2b67J JJ JJ Jr-cB tdt\} }}d dzzdz dz dzdz k(sJd dzzdz dz dzk(sJ dzdz j  k(sJ dz z j  dz k(sJtt fd dz z z dz k(sJtt fd dzdz jd zdk(sJ dz z dz z dz z j dz cxk(r k(sJJtdt\} }}t dzdz |dzdz z|dzd z zj dk(sJtdt\} }}t dzdz |dzdz z|dzd z zj dk(sJtd t\} td t\} }td|\} }}t dz z z z  dd k(sJtt fd tt fdtt fdtt fdtt fdtdt\} dzd zzdz|dc tt fdtt fdtt fdtt fdtt fdtt fdtt fdtdt\} } |zd zzdz|dc tt fdtt fdtt fdtt fdtt fdtt fd tt fd!tdt\} dzdzd zdz c |d dzdz}} j t cxk(r||fk(sJJ j  zcxk(r|k(sJJ j |k(sJtt fd"tt fd#d dzz dzz zd zd dzzd zz dzc |d }} j t cxk(r||fk(sJJ j  zcxk(r|k(sJJ j |k(sJtt fd$tt fd%d dzzd dzzzd dzzzd zzdz dzd zzdzc d dzzd& zz d' zdz}} j t cxk(r||fk(sJJ j  zcxk(r|k(sJJ j |k(sJtt fd(tt fd)d d zzd dzzzd dzzzd dzzz z dzd dzzzd*zc d zd&z d+ dzzd dzzzd, zz d-z}} j t cxk(r||fk(sJJ j  zcxk(r|k(sJJ j |k(sJtt fd.tt fd/tdt\} dzdzd zdz c dz dz|d }} j t cxk(r||fk(sJJ j  zcxk(r|k(sJJ j |k(sJtt fd0tt fd1d dzz dzz zd zd dzzd zz dzc tdd  ztd2d3ztd4d3 ztd5d3z}} j t cxk(r||fk(sJJ j  zcxk(r|k(sJJ j |k(sJtt fd6tt fd7tdt\} } dz|dzz |z c |z|d}} j t cxk(r||fk(sJJ j  zcxk(r|k(sJJ j |k(sJ j  z cxk(r|k(sJJ dz|dzz |z c |zd|dzz}} j t cxk(r||fk(sJJ j  zcxk(r|k(sJJ j |k(sJtt fd8tt fd9 dz|dzz |zc |z d|dzz}} j t cxk(r||fk(sJJ j  zcxk(r|k(sJJ j |k(sJtt fd:tt fd; dz|dzzd zd|zz c |d }} j t cxk(r||fk(sJJ j  zcxk(r|k(sJJ j |k(sJtt fd<tt fd=tdt\} } dz|dzz |z c |z|d}} j t cxk(r||fk(sJJ j  zcxk(r|k(sJJ j |k(sJ j  z cxk(r|k(sJJ dz|dzz |z c |zd|dzz}} j t cxk(r||fk(sJJ j  zcxk(r|k(sJJ j |k(sJtt fd>tt fd? dz|dzz |zc |z d|dzz}} j t cxk(r||fk(sJJ j  zcxk(r|k(sJJ j |k(sJtt fd@tt fdA dz|dzzd zd|zz c dz |dz zd|dzz}} j t cxk(r||fk(sJJ j  zcxk(r|k(sJJ j |k(sJtt fdBtt fdCy)DNr"rHrIr#r$cdzdz z SNrHr$r,r%sr.r/z.test_PolyElement___truediv__..asA1 r-c dzdz dzz Srr,rsr.r/z.test_PolyElement___truediv__..csAAaC(8r-rrJr0rrc dzzzz Srr,)rr%sr.r/z.test_PolyElement___truediv__..ts1a46A:r-cz Sr^r,rsr.r/z.test_PolyElement___truediv__..v acr-cz Sr^r,rsr.r/z.test_PolyElement___truediv__..wrr-cz Sr^r,rsr.r/z.test_PolyElement___truediv__..xrr-cz Sr^r,rsr.r/z.test_PolyElement___truediv__..yrr-r%c&jSr^divrSrsr.r/z.test_PolyElement___truediv__..~aeeAhr-ctSr^divmodrsr.r/z.test_PolyElement___truediv__.. fQlr-c&jSr^remrsr.r/z.test_PolyElement___truediv__..rr-czSr^r,rsr.r/z.test_PolyElement___truediv__.. a!er-c&jSr^quorsr.r/z.test_PolyElement___truediv__..rr-cz Sr^r,rsr.r/z.test_PolyElement___truediv__..r(r-c&jSr^exquorsr.r/z.test_PolyElement___truediv__..aggajr-r2c&jSr^rrsr.r/z.test_PolyElement___truediv__..rr-ctSr^r!rsr.r/z.test_PolyElement___truediv__..r#r-c&jSr^r%rsr.r/z.test_PolyElement___truediv__..rr-czSr^r,rsr.r/z.test_PolyElement___truediv__..r(r-c&jSr^r*rsr.r/z.test_PolyElement___truediv__..rr-cz Sr^r,rsr.r/z.test_PolyElement___truediv__..r(r-c&jSr^r.rsr.r/z.test_PolyElement___truediv__..r0r-cz Sr^r,rsr.r/z.test_PolyElement___truediv__.. Ar-c&jSr^r.rsr.r/z.test_PolyElement___truediv__.. r-cz Sr^r,rsr.r/z.test_PolyElement___truediv__..r9r-c&jSr^r.rsr.r/z.test_PolyElement___truediv__..r;r-rKcz Sr^r,rsr.r/z.test_PolyElement___truediv__..r9r-c&jSr^r.rsr.r/z.test_PolyElement___truediv__..r;r- ,6cz Sr^r,rsr.r/z.test_PolyElement___truediv__..r9r-c&jSr^r.rsr.r/z.test_PolyElement___truediv__..r;r-cz Sr^r,rsr.r/z.test_PolyElement___truediv__..r9r-c&jSr^r.rsr.r/z.test_PolyElement___truediv__..r;r-rj4ocz Sr^r,rsr.r/z.test_PolyElement___truediv__..r9r-c&jSr^r.rsr.r/z.test_PolyElement___truediv__..r;r-cz Sr^r,rsr.r/z.test_PolyElement___truediv__..r9r-c&jSr^r.rsr.r/z.test_PolyElement___truediv__..r;r-cz Sr^r,rsr.r/z.test_PolyElement___truediv__..r9r-c&jSr^r.rsr.r/z.test_PolyElement___truediv__..r;r-cz Sr^r,rsr.r/z.test_PolyElement___truediv__..r9r-c&jSr^r.rsr.r/z.test_PolyElement___truediv__..r;r-cz Sr^r,rsr.r/z.test_PolyElement___truediv__..r9r-c&jSr^r.rsr.r/z.test_PolyElement___truediv__..r;r-cz Sr^r,rsr.r/z.test_PolyElement___truediv__.. r9r-c&jSr^r.rsr.r/z.test_PolyElement___truediv__.. r;r-cz Sr^r,rsr.r/z.test_PolyElement___truediv__..r9r-c&jSr^r.rsr.r/z.test_PolyElement___truediv__..r;r-)rrr+rrr4rrrrZeroDivisionErrorrr"r&r/)rBr&r'rrrrqrrSrr0rr%s @@@@@r.test_PolyElement___truediv__r\XsGR HAq1 adFQJ>QTAX %% % adFQJ>QT !! ! qD1H>>!  !! ! qD1H>>! A %% %  45 qD1Ha<1q5    89 qD1H>>!A# ! ## # qD1Hq1u !Q$(A!6 ;! ;; ;; ;GR HAq1 1QAa!Q$q&(//1 2a 77 7GR HAq1 1QAa!Q$q&(//1 2a 77 7 bMEBE2HC1w$KD!Aa Aa!Q qQ#? ?? ?  67 9k" 9k" 9k" 9k" R=DAq a4!A#:>1Q4DAq ./ 23 ./ m, ./ m, 015"oGAq! Q319q=!A$DAq ./ 23 ./ m, ./ m, 01 R=DAq a4!8QqS1WDAq Q4AqA 558va| -1v -- -- - 558q1u ! !! !! ! 558q==  .  23 QT6AqD=1 q !AqD&1Q3,"2DAq Q4qA 558va| -1v -- -- - 558q1u ! !! !! ! 558q==  .  23 QT6AadF?Qq!tV #ac )A -q!taczA~DAq QT6AaC<AqA 558va| -1v -- -- - 558q1u ! !! !! ! 558q==  .  23 QT6AadF?Qq!tV #a1f ,q 0!Q$1a4-!2CDAq Q37Bq!tGa1f$r!t+b0qA 558va| -1v -- -- - 558q1u ! !! !! ! 558q==  .  23 R=DAq a4!8QqS1WDAq Q37AaDqA 558va| -1v -- -- - 558q1u ! !! !! ! 558q==  .  23 QT6AqD=1 q !AqD&1Q3,"2DAq a8A:2r "Br2JqL2c2;$>qA 558va| -1v -- -- - 558q1u ! !! !! ! 558q==  .  23 %_FAq a4!Q$;ADAq q5!A$qA 558va| -1v -- -- - 558q1u ! !! !! ! 558q== 771:Q #! ## ## # a4!Q$;ADAq q5!AqD&qA 558va| -1v -- -- - 558q1u ! !! !! ! 558q==  .  23 a4!Q$;QDAq 261QT6qA 558va| -1v -- -- - 558q1u ! !! !! ! 558q==  .  23 a4!Q$;!ac DAq Q4qA 558va| -1v -- -- - 558q1u ! !! !! ! 558q==  .  23 %_FAq a4!Q$;ADAq q5!A$qA 558va| -1v -- -- - 558q1u ! !! !! ! 558q== 771:Q #! ## ## # a4!Q$;ADAq q5!AqD&qA 558va| -1v -- -- - 558q1u ! !! !! ! 558q==  .  23 a4!Q$;QDAq 261QT6qA 558va| -1v -- -- - 558q1u ! !! !! ! 558q==  .  23 a4!Q$;!ac DAq Q319a1fqA 558va| -1v -- -- - 558q1u ! !! !! ! 558q==  .  23r-c>tdtt\}}d|zdzdzdk(sJdzk(sJttfddzj dcxk(r*j dcxk(rd|dzzd|zzd zk(sJJdzj dcxk(r3j dcxk(rd |dzzd |dzzzd |zzd zk(sJJdzj dcxk(r<j dcxk(r'd|dzzd|dzzzd|dzzzd|zzdzk(sJJdzj dcxk(rEj dcxk(r0d|dzzd|dzzzd|dzzzd|dzzzd|zzdzk(sJJtdtt\}}}}|dz|zd|z|dzzz d|zz dz|dz|dzzd|dzz|dzzz d|dzz|z|zz d|dzz|zzd|dzz|dzzzd|z|dzz|zzd|z|dzzz d |dzzzd|zz dz}dzj dcxk(rj dcxk(r|k(sJJtdt\}}d|dzzd|dzzz dzd|dzzd |d!zzzd"|dzzzd#|d$zzzd%|d zzzd&|dzzz d'|dzzzd(|dzzz d)z}dzj dcxk(rj dcxk(r|k(sJJy)*Nr%rHr#rr$cdzSrxr,rsr.r/z*test_PolyElement___pow__..s q2wr-rI rArq$rD`QrJ ii8i*r"rKr0i@i, 1lMl3urjlL]l@LV lAec lF l`Vi IiW)rrrrr` _pow_generic_pow_multinomial)rBr%r&r'rr0rSs @r.test_PolyElement___pow__rms R DAq !aA a4199 a4199 :' a41>>!$ R(:(:1(= R1a4"Q$QRAR RR RR R a41>>!$ ](:(:1(= ]1a4"QPQT'AQTVWXTXAX[]A] ]] ]] ] a41>>!$ j(:(:1(= jAqD2aQRd7ARUXYZ\]Y]U]A]`cde`eAehjAj jj jj j a41>>!$ x(:(:1(= xAqD3qRSt8ASVYZ[]^Z^V^A^aefgijfjajAjmpqrmrAruxAx xx xx xGR'HAq1 1Q1QTAaC!#A 1QT AadF1a4K!AqD&(1*,qAvax7!AqD&A+E1QPQT RS SVWXYVYZ[]^Z^V^^abcdfgcgaggjklmjmmpqqA a41>>!$ B(:(:1(= B BB BB B R=DAqq!t d1a4i"$A!R%"3ArE"99>!$ B(:(:1(= B BB BB Br-ctdtt\}}|dzd|dzzz dz }|dz }|dzd|zz dz }d}|j|g|g|fk(sJtdtt\}}|dzd|zzdz}|j|d g|gd fk(sJtdtt\}}|dzd|zzdz}|j|dgt d d|dzz|zd zgd fk(sJtd tt\}}}d |dzz|zd|z|zz d |zzd|zz d z}|j|dgd|dzz|z||zz d|zz|z d zgd fk(sJ|jd|zgd|dzz|z d z gd |zd zfk(sJ|d z }|d z }|j|gd g|fk(sJ||dzzd z}||zd z|d zg}|dg}d}|j|||fk(sJ|dz|z||dzzz|dzz}||zd z |dzd z g}||zd g}||zd z}|j|||fk(sJ|dzd z ||zd z g}|d z|g}d|zd z}|j|||fk(sJtdt\}|dj|ddk(sJtdt\}|dj|dt ddd fk(sJy)Nr%r#r_rH*rArar$rr2rIrqryr()rr#)rrrrr) rBr%rSrr[rr&GQs r.test_PolyElement_divrs0s R DAq 1r!Q$wA AA 1qs RA A 55!:1#q !! ! R DAq 1qs QA 55!A$=aS!H $$ $ R DAq 1qs QA 55!A$=b1gadlQ.23Q7 77 7 %U #FAq !Q$q1Q3q51Q31$q(A 55!A$=a1fQh1nqs2Q6:;Q? ?? ? 55!A#V ## # b"BA Q488AaD>bAh] ** *r-ctdtt\}}|dzd|dzzz dz }|dz }d}|j|g|j |gdcxk(r|k(sJJtdtt\}}}d |dzz|zd|z|zz d |zzd|zz d z}|j|dg|j |dgdcxk(rd k(sJJ|jd|zg|j d|zgdcxk(r d |zd zk(sJJ|dz }|dz }|j|g|j |gdcxk(r|k(sJJ||dzzdz}||zdz|dzg}d}|j||j |dcxk(r|k(sJJ|dz|z||dzzz|dzz}||zdz |dzdz g}||zdz}|j||j |dcxk(r|k(sJJ|dzdz ||zdz g}d|zdz}|j||j |dcxk(r|k(sJJy) Nr%r#r_rHrorpr$r2rIrqr)rrrr&r)rBr%rSrrr&rqs r.test_PolyElement_remruks R DAq 1r!Q$wA AA A 55!:sA +! ++ ++ + %U #FAq !Q$q1Q3q51Q31$q(A 55!A$=AEE1Q4&M!, 1 11 11 1 55!A#<155!A#<? 5acAg 55 55 5 AA AA 55!:sA +! ++ ++ + !Q$ A 1q!a%A A 558quuQx{ 'a '' '' ' 1Q1a4!Q$A 1q!Q$(A A A 558quuQx{ 'a '' '' ' A1Q37A !aA 558quuQx{ 'a '' '' 'r-ctdt\}}d|dzzj|dzd|dzzzdzdd|z|dzd|zzdzgfk(sJtdt\}}}|dj|ddddgfk(sJ|dj|ddddgfk(sJ|dj|ddddgfk(sJ|djd|zddd|zgfk(sJd|zjd|zdd|zd|zgfk(sJ|djd|dzzd dd|zgfk(sJd|dzzjd|dzzd d|zd|zgfk(sJ|dz|dzz|dz|zzdz}|dz|d zz|dz|zzdz}|j|d |dz|dzz||zzdz||d zz||zzdzgfk(sJy) Nr%rHrIr$)rHr2rr)r$rHr#)rHr$)rrdeflaterBr%r&rSrs r.test_PolyElement_deflaterysH R=DAq adF  AqD1QT6MA- .4!A#q!taczA~9N2O OO O %_FAq Q4<<! &1a&!1 11 1 Q4<<! &1a&!1 11 1 Q4<<! &1a&!1 11 1 Q4<<! !QqS 2 22 2 aC==1 &1Q3!*!5 55 5 Q4<<!Q$ FQ!H#5 55 5 adF  AadF #1ac '; ;; ; 1QT AqDFQA 1QT AqDFQA 99QP|oPoDugel[WGfNQNB3NoCBxcBR'.Cml.wSK-G+~96nzLwGD0I B,Iu!|J=y9-l @VTry![t RdlCHj\LLf:'l0%H8[J/@)\L M3B\_>mxwr)l$><JktGl+ogKzeXBORFl`%C!+[O;RY.{;gW!o^@*>rql`(sx]Yli4&m:l,8 y'X^l:W]lk B`l OrIl``6]j_{l@o;b|?lT=-llFORl RtJ)1~MCMgK bq cL elra2U!J'B\KW4Du+%B:N'/|,3D`Nl >C_=DmbgrVJ5n,O{-[ 8D/7"l*uQ!3'; PtSo"_;2g0PZwg l.S[_ik 8Cn|# v*u0HtSl5u3jx]L*(IIyL1iColat1:'6(lPg];meVq '%opZ"Mmt:%63lP*71}<U1qq,+'cX0rVvQa;pA9l@ir0@>/3,F%*;W@ {=5|o&(c_46l`k-@\K'l4C| ,YdmlLo5Rsl "#?Vql@otc?clt-JOlSz(G )rr clear_denomsrrset_ring) rBr%r&rQQr0rZZrTrnrqrSs r.test_PolyElement_clear_denomsrs %_FAq Q4   2a5!* ,, , Q4   2a5!* ,, , R!W: " " $ .. . R!W: " " $ .. . adFQJ $ $ &1a1fqj/ 99 9 qD2a719  * * ,AadFQJ ?? ?E2s#HC1E2s#HC1 RlnBCDEGHDHH H km@ABCEFBFF F lnABCDFGCGG GmoBCDEGHDHH Hkm@ABDEAEE  E jl|}~AB~BB  B hjyz{||  |fhvw w A()=>q!tC C*+@A!Q$F G)*>?1D E*+@A!Q$F G*+@A!Q$F  G )*>?1D  E )*>?A  B()=> ? @A" __` ` fghjkgk k l ghiklhl l m hhiklhl l m iijlmim m  n iijlmim m  n hhiklhl l  m hhi i j g g q!t # 1 $ % A % & !A % & "!Q$ &  ' "!Q$ &  ' !A %  & ! " #   !A&9: ;1Q^^ a ) )# . ;q @@ @ ;s-)Lc tdt\}}}|d|d}}|j|dk(sJ|d|d}}|j|dk(sJ|d|d}}|j|dk(sJ|d|d}}|j|dk(sJ|dd|zd z}}|j|d|zd zdd fk(sJd|zd z|d}}|j|d|zd zd dfk(sJ|d|d}}|j|d k(sJ|d|d}}|j|d k(sJ|d|d}}|j|d k(sJ|d|d}}|j|dk(sJ|dzd|zzd z|d }}|j|d |dzd|zzd zd fk(sJ|dzd|zzd z|d}}|j|d |dzd|zzd zdfk(sJd|dzzd |zzdz|d}}|j|d|dzd|zzd zd fk(sJ|dd|dzzd |zzdz}}|j|dd |dzd|zzd zfk(sJd|dzzd |zzdz|d z}}|j||d zd|zdzd fk(sJ|d zd|dzzd |zzdz}}|j||d zd d|zdzfk(sJtdt\}}}}}|dzd|zzd zd|zdz}}|j||d z|d zdfk(sJ|dz|dzzd|dzz|zz|dzz||zz|z|dzd|zzd z}}|d z|dz|z|dzz|z|d z} }}|j|||| fk(sJ|j||| |fk(sJtdt\}}}td d|dzz|ztd dz}td d|ztd dz}|d z}|j|||td dfk(sJ|j||td d|fk(sJtdt\}}}d|z|dzzd|z|zz d|zz}d|dzz}d|z}|j||||z ||z fk(sJ|j||||z ||z fk(sJy)Nr2rrQrH)rHr$r)rHryr)rHrryrIr$)rHr$r$)rHryr$)rHr$ry)rHryryrvg@r#g?)rr cofactorsrr) rBr%r&rSrr'r0hcffcfgs r.test_PolyElement_cofactorsrs5"oGAq! Q41qA ;;q>Y && & Q41qA ;;q>Y && & R5!A$qA ;;q>Z '' ' Q42qA ;;q>Z '' ' Q41qqA ;;q>acAgq!_ ,, , Q37AaDqA ;;q>acAgq!_ ,, , Q41qA ;;q>Y && & R5!A$qA ;;q>Z '' ' Q42qA ;;q>Z '' ' R5!B%qA ;;q>[ (( ( a4!A#:>1Q4qA ;;q>aA!a3 33 3 a4!A#:>1Q4qA ;;q>aA!a3 33 3 QT6AaCaA!a3 33 3 Q41a4!A#!qA ;;q>aAqD1Q3JN3 33 3 QT6AaCa!eQqS1Wa0 00 0 q5!AqD&1Q3,"qA ;;q>a!eQ!a0 00 0B'MAq!Q a4!A#:>1Q37qA ;;q>a!eQUA. .. . a419qAvax !Q$ &1 ,q 0!Q$1*q.qAa%Aa!Q$*AECsA ;;q>ac] ** * ;;q>ac] ** *5"oGAq! 1Q1 q2a7"A 1Q BqGA AA ;;q>aBqG_ ,, , ;;q>aAa!_ ,, ,5"oGAq! Aad SU1Ws1u$A AqDA AA ;;q>a1ac] ** * ;;q>a1ac] ** *r-ctdt\}}}tdd|dzz|ztddz}tdd|ztddz}|j||dzk(sJy)Nr2r$rH)rrgcdrxs r.test_PolyElement_gcdr+sj5"oGAq! 1Q1 q2a7"A 1Q BqGA 558q1u  r-cvtdt\}}}d|dzzd|dzzzd|zz}d|dzzd|zz}d|zdz}d}|j|||fk(sJ| j|| |fk(sJ|j| | |fk(sJtdt\}}}tdd|dzz|dzztdd|zz}tdd|dzztdd|zz}d|zdz}d}|j|||fk(sJ| j|| |fk(sJ|j| | |fk(sJt dt\}}td|\}} |dz dz dz | z}| dz|dzdzdz z}|j||dz dz | zd| dzzd|dzzzdzfk(sJy)Nr2rHr#rIr$r%r0)rrcancelrr ) rBr%r&rSrrnrqFxrr0s r.test_PolyElement_cancelr3s 5"oGAq! !Q$1a4!A#A !Q$1 A !aA A 88A;1a&  B;;q>qb!W $$ $ 88QBqb!W $$ $ 88QB >> >r-ctdt\}}}|djdk(sJ|djdk(sJ|dzd|dzzzd|zzdzjdk(sJy)Nr2rr$r#rIrH)rrmax_normr_s r.test_PolyElement_max_normrTsx5"oGAq! Q4==?a   Q4==?a   qD1QT6MAaC ! # - - /1 44 4r-ctdt\}}}|djdk(sJ|djdk(sJ|dzd|dzzzd|zzdzjdk(sJy)Nr2rr$r#rIrHrj)rrl1_normr_s r.test_PolyElement_l1_normr\sx5"oGAq! Q4<<>Q   Q4<<>Q   qD1QT6MAaC ! # , , ." 44 4r-ctdt\}}tdd|ddzz|ddzz|dd zz|d d zzd|dd zz|d d zz|dd zzzd |dd zzzd |dd zzz }|j|dtd d|dd zz|ddzz|dd zz|d d zzd|dz|d d zz|dd zzzd|dzzk(sJ|j|dtdd|ddzz|ddzz|dd zz|d d zzd|dd zz|d d zz|dd zzzk(sJ|j|d tdd|ddzz|ddzz|dd zz|d zk(sJy)Nzx:11i rJrrqr$rKrIr#rjrHi rGrbi`ri@)rrdiff)rBrrSs r.test_PolyElement_diffrds  DAq 3q !A$'!A$'!!A$')!B%(2QqtQwYqtQw5FqtQw5NNPQRSTURVXYRYPYY\]^_`a^bde^e\eeA 66!A$<2d1:adAg-adAg5adAg=aeQhFAaDQRSTQUWXQXYZ[\Y]_`Y`I``cdefgheicii ii i 66!A$<2c!9QqT1W,QqT1W4QqT1W.t qsr-cddS)Nrr$r,rsr.r/z+test_PolyElement___call__..us qAwr-c(tddSNr$rGrrsr.r/z+test_PolyElement___call__..ws1R!W:r-r2rHrG5cSr^r,rsr.r/z+test_PolyElement___call__..rr-cdddS)Nrr$rHr,rsr.r/z+test_PolyElement___call__..sqAqzr-c*dtddSrrrsr.r/z+test_PolyElement___call__..s1Q1Q=r-c*tdddSrrrsr.r/z+test_PolyElement___call__..s1R!Wa=r-c>tddtddSrrrsr.r/z+test_PolyElement___call__..s1R!Wb1g#6r-)rrrr`rrZr&)rBr%r&RyrSs @r.test_PolyElement___call__rms' R=DAq !aA Q4199 Q4199 :{# :' >-. %_FAq !ad QA Q7a<< Q7b== B Q42447Q;   Q42447Q;   :{# :)* >01 >01 >67r-ctdt\}dzddzzzdzzdzjd}|dk(rt|trJt t fdtdt\}}zdzdzdzzzdzzzdzjd}|dk(r |jj|sJjdfdfg}|dk(r!|jj|sJjd}|dk(r |jj|sJjdfdfg}|dk(r!|jj|sJjdfdf|dfg}|dk(rt|trJt t fdt t fd t t fd y) Nr%r#rIrHrc<jtddSrevaluaterrSr%sr.r/z+test_PolyElement_evaluate..s1::aAa#9r-r"cFjdftddfgSrrrsr.r/z+test_PolyElement_evaluate..s#1::1v2a7|.D#Er-cFjtddfdfgSrrrsr.r/z+test_PolyElement_evaluate..s#1::2a7|aV.D#Er-cZjtddftddfgSrrrsr.r/z+test_PolyElement_evaluate..s)1::2a7|aAa\.J#Kr-) rrr isinstancer rrrZrrBrr'rSr%r&s @@@r.test_PolyElement_evaluaters R=DAq 1qAv !aA 1aA 6*Q 44 4 >9:gr"JAq!Q 1q1acAX:!A%)A 1aA 6affQi**1-- - QFQF#$A 6affQl--a00 0 1aA 6affQi**1-- - QFQF#$A 6affQl--a00 0 QFQFQF+,A 6*Q 44 4 >EF >EF >KLr-cbtdt\}dzddzzzdzzdzjd}|dk(r|j|sJt t fdtdt\}}dzddzzzdzzdzjd}|dk(r|j|sJjdfdfg}|dk(r|j|sJt t fdt t fd t t fd y) Nr%r#rIrHrc<jtddSrsubsrrsr.r/z'test_PolyElement_subs..s166!R!W#5r-r"cFjdftddfgSrrrsr.r/z'test_PolyElement_subs..s#166Aq6Ar!Aw<*@#Ar-cFjtddfdfgSrrrsr.r/z'test_PolyElement_subs..s#166Ar!Aw.s)166Ar!Aw56gr"JAq!Q 1qAv !aA q! A 6all1o% % AA A 6all1o% % >AB >AB >GHr-c tdt\}}}|dz|dzz}|j\}}}|dk(sJ|j||z|k(sJ|dz|dzz }|j\}}}|dk7sJ|j||z|k(sJ||zdz}|j\}}}|dk(sJ|j||z|k(sJ|dz}|j\}}}|dk7sJ|j||z|k(sJ|j d}|j\}}}|dk(sJ|j||z|k(sJt d\}}|j\}}}|dk(sJ|j||z|k(sJy)Nr2rHrrGr#)rr symmetrizecomposerr)rBr%r&rSsymr&ms r.test_PolyElement_symmetrizers5"oGAq! 1q!t A,,.KCa !8O8 ;;q>C 1 $$ $ 1q!t A,,.KCa !8O8 ;;q>C 1 $$ $ !aA,,.KCa !8O8 ;;q>C 1 $$ $ AA,,.KCa !8O8 ;;q>C 1 $$ $ AA,,.KCa !8O8 ;;q>C 1 $$ $ 8DAq,,.KCa !8O8 ;;q>C 1 $$ $r-ctdt\}dzddzzzdzzdzjd}|dk(r|j|sJjk(sJjdzdzddzzzddzzzdzk(sJt t fdtdt\}}}dzddzzzdzzdzjd}|dk(r|j|sJjdf|dfg}|dk(r|j|sJdzddzzzdz|z|zzdzj||dzzd z }||dzzd z dzd||dzzd z dzzzd||dzzd z z|z|zzdz}||k(r|j|sJy) Nr%r#rIrHrrKc<jtddSr)rrrsr.r/z*test_PolyElement_compose..s199Q1Q#8r-r"r$)rrrrrr)rBrr&r'r[rSr%s @@r.test_PolyElement_composers R=DAq 1qAv !aA !QA 6all1o% % 99Q?a   99Q1 A!Q$1a4!7!!; ;; ; >89gr"JAq!Q 1qAv !aA !QA 6all1o% % Aq6Aq6"#A 6all1o% % A!Q$1Qq 1 $--a1a4!q.@@1DA 6all1o% %or-ctdt\}}}z jdk(sJz jdk(sJz jdk(sJz j dk(sJz dzjdk(sJz dzjdk(sJz dzjdk(sJz dzj dk(sJjdk(sJjdk(sJjdk(sJj dk(sJ|zjdk(sJ|zjdk(sJ|zjdk(sJ|zj dk(sJdzjdk(sJdzjdk(sJdzjdk(sJdzj dk(sJdzdzjdk(sJdzdzjdk(sJdzdzjdk(sJdzdzj dk(sJ|dj dusJ|dj dusJ|djdusJ|djdusJdz jdusJdzdz jdusJdzdzjdusJdzdzjdusJ|z|zdzjdusJ|z|zdzjdusJ|z|zdzjdusJ|z|zdzjdusJdz jdusJdz dzjdusJdzzdzjdusJdzdzzdzjdusJtd td \}}d |zdzjdusJd |dzzd|zzdzjdusJtd t\}}|d z|dzz|dzz |dzz |dzz |dzz}|j dusJ|dzj dusJt#t$fdtdt\}|djdusJ|djdusJy)Nr"FTr$r#rrHrIr0 rGrrbrjrjrqrKcjSr^) is_cyclotomicrsr.r/z&test_PolyElement_is_..?s r-r()rr is_generator is_ground is_monomialis_termis_zerois_oneis_monic is_primitive is_linear is_quadratic is_squarefreeis_irreduciblerrrrr)rBr&r'_r0rrSr%s @r.test_PolyElement_is_rs!GR HAq1 E  5 (( ( E   $$ $ E  $ && & E??d "" " EAI # #u ,, , EAI D (( ( EAI " "d ** * EAI  $ && & >>T !! ! ;;%   ==D  99   aC   && & aC??e ## # aC   $$ $ aC==D  aC   && & aC??e ## # aC   %% % aC==D  aC!G ! !U ** * aC!G  % '' ' aC!G E )) ) aC!G   %% % Q4<<4   Q4<<5  Q4;;%   Q4;;$   E  t ## # aC!G   && & aC!G ! !T )) ) aC!G ! !U ** * EAIM $ $ ,, , aCEAI E )) ) aC!GaK % % -- - aCEAI # #u ,, , E D (( ( UQJ % % .. . qD1HqL ( (D 00 0 qD1Q3JN * *e 33 3 RV DAq aC!G # #t ++ + adFQqSL1  , , 55 5 R=DAq 22 21$q!t+ad2A ??e ## # E D (( ( &(?@ b"BA Q4   %% % Q4  $ && &r-ctdt\}}|djdjtdttk(sJ|djdjdjtdttk(sJ|j |djdjdjddusJt tfdt tfdy) Nr"r$rrVr'FcbjdjdjdSr*rY)r'sr.r/z'test_PolyElement_drop..Ls#qvvay~~a055a8r-c&jdSr*rYrsr.r/z'test_PolyElement_drop..Mr\r-)rrrZr rrrr`)rBr&r%r's @@r.test_PolyElement_droprEsGR HAq1 Q499Q<  C 8 88 8 Q499Q<  Q  $ $b#(> >> > <<! ! ))!,11!4 5 >> > :89 :()r-c\tdt\}}}}d|dzzd|dzzzd|dzz|zzdz}|jddd|zdzk(sJ|j|ddk(sJd|dzzd|z|dzz|zzd |dzzzd |z|dzzz}|j|dd|dzz|zd |dzzzk(sJ|j|dd|z|zd zk(sJd|dzzd|z|zzdz}|j|d|d k(sJ|j|d|d k(sJy) Nzx, y, zrIr#rJrHrKrGr$rjr)rr coeff_wrt)rBr%r&r'ps r.test_PolyElement_coeff_wrtrOsni$JAq!Q !Q$1a4!AqD&("Q&A ;;q! !a '' ' ;;q!  !! ! !Q$1QT!bAg%1QT 1A ;;q! !Q$q2ad7 2 22 2 ;;q! !A ** * !Q$1QA ;;q! ! $$ $ ;;q! ! $$ $r-cZtdt\}}|dz||zzd|zdzc}j|d|zdzk(sJ|dzdzd|zdz c}j|j||cxk(rdk(sJJj|ddk(sJ||zd|zzdz||zc}j||dz d|zz dzk(sJj|dj||cxk(r|dz d|zzdzk(sJJttfdy) NrrHrIr$r>rc2jdSr*premrBrSsr.r/z'test_PolyElement_prem..laffQqTlr-)rrrrrZr%r&rrBrSs @@r.test_PolyElement_premr^sF62GAq! a4!A#:qsQwDAq 66!91q  a4!8QqS1WDAq 66!9q! * ** ** * 66!Q<1Q4   Q319q=!a%DAq 66!9A! a '' ' 66!Q<166!Q< :AqD51Q3;? :: :: : 23r-ctdt\}}|dzd|dzzzd|dzzzd|dzzdzc}j|j||cxk(rd|dzzd|zzdzd |zd z fk(sJJ|dz|dzz ||z c}j|j|d cxk(r ||zd fk(sJJ||zd|zzd z||zc}j||dz|dz d|zz d zfk(sJj||j|d cxk(r|d z|dz d|zzd zfk(sJJd j|d k(sJttfdy)Nr2rIrJr#rGrHr>iBrr$rc2jdSr*rrsr.r/z'test_PolyElement_pdiv..|rr-)rrpdivrrZrs @@r.test_PolyElement_pdivrns5"oGAq! a4!AqD&=1QT6 !1QT6A:DAq 66!9q! H1a4"Q$);SURZ(H HH HH H a4!Q$;ADAq 66!9q! 2Q 22 22 2 Q319q=!a%DAq 66!9QA! a0 00 0 66!Q<166!Q< CAEAqD51Q3;?+C CC CC C Q499Q<6 !! ! 23r-ctdt\}}}|dzd|dzz|zz d|dzzz|dzd|zz }}|j||j||cxk(r|dzd|zz k(sJJ|j||d|dzzd|zz dzk(sJ|dz|dzz |dz|dzz }}|j||j|dcxk(r|dz|dzzk(sJJy)NrrIrHrqr)rrpquorxs r.test_PolyElement_pquor~s62GAq! a4!AqD&(?Qq!tV #QTAaCZqA 66!9q! 21qs 22 22 2 66!Q<1QT6AaC.s r-)rrrrrrxs @@r.test_PolyElement_pexquors62GAq! a4!Q$;ADAq 88A;!((1a. 1AE 11 11 1 88Aq>QXXa^ 8q1uqy 88 88 8 a4!A#:>1q5DAq  34r-ctdt\}}d|z|dzdz }}|dz tdd d}}}|j|||fk(sJ|j||||fk(sJy)Nr%rHrbrfr$)rr half_gcdexgcdex)rr%rSrsr0rs r.test_PolyElement_gcdexrsu R=DAq Q31r qAdR2YJ!qA <<?q!f $$ $ 771:!Q "" "r-ctdt\}}}|dz|z||zz||z}}|dz|dzz }|j||||gk(sJ|j|d|j||cxk(r |||gk(sJJ|j|||dz|z||zz||z|dz|dzzgk(sJd|z|z |dzd|zz|z}}|j||dz|zd|zzd|z|z |dzd|zzgk(sJ|d|dz|dzz }}|j||dz|dzz dgk(sJ|dz|z||zz|d}}|j||dz|z||zzdgk(sJ|d|d}}|j|ddgk(sJ|dz|z|dz|z}}|j||dz|z|dz|zgk(sJy)NrrHr#rrjr$)rr subresultants)rBr%r&rSrrs r.test_PolyElement_subresultantsrs462GAq! a46AaC<QqA 1q!t A ??1 !Q ** * ??1a Q__Q%: Gq!Qi GG GG G ??1a QT!Vac\1q5!Q$A+$F FF F Q37AqD1Q3JNqA ??1 !Q$(QqS.!A#'1a4"Q$;!G GG G Q4A1qA ??1 !Q$A+q!1 11 1 a46AaC<1qA ??1 !Q$q&1Q3,!2 22 2 Q41qA ??1 !Q '' ' a4!8QTAXqA ??1 !Q$(AqD1H!5 55 5r-ctdt\}}|dzd|zz dz|dzdz d}}}|j||k(sJy)Nr%rHr$r)rr resultantrr%rSrrs r.test_PolyElement_resultantrsL R=DAqdQqSj1nadQh!qA ;;q>Q  r-c6tdt\}}|dzd|dzzzd|zzdz d}}|j|k(sJtdt\}}}}td|\}}||dzz||zz|z|dzd|z|zz }}|j|k(sJy) Nr%r#rHrA ipza,b,crI)rr discriminant)rr%rSrrnrbcs r.test_PolyElement_discriminantrs R=DAq a4!AqD&=1Q3  #VqA >> q  gr"JAq!Q Q> q  r-c.tdt\}}|dzd|dzzzd|dzzzd|dzzzd |d zzzd |d zzz d|zz d z}|d zd |zz d z}|d zd|zz}|j|||k(sJ|j||gk(sJy)Nr%r_r>rjrqirKqrIrHr#rArJ)rrr decomposers r.test_PolyElement_decomposer s R=DAq 21b53q!t8#c!Q$h.QT9AadFBRTIAMA 1qs QA 1qs A 99Q?a   ;;=QF "" "r-ctdt\}dzdzz dzjddzdzzdzk(sJdzdzz dzjdgdzdzzdzk(sJtdt\}zjddgdzdzzk(sJt t fdy)Nr%rHr$rc,zjdSr)shift)r%r&sr.r/z(test_PolyElement_shift..s1 Ar-)rrr  shift_listrr)rrBr%r&s @@r.test_PolyElement_shiftrs R=DAq qD1Q3JN ! !! $1qs Q 66 6 qD1Q3JN & &s +q!taczA~ == =62GAq! aC  QF #!ac{ 22 2 &(>?r-c Ntdt\}}td|\}}dd|dzzz |dzzdd|dzzz |d zzz d d|d zzz |d zzzd d|d zzz |d zzz |ddz |zz|ddz z }|j|d zd|d zzz |d zdz |zzd|d zzdz z d |d zzd|zz |d zdz z|d z dz |ddz z|zd|d zzdz zd|dzzd|dzzz d|d zzz d|dzzd|d zzz dzz gk(sJy) Nr0r%ii =rqrJirrIrfr#rHr$i$d@rIrbrci NrAir_iȯl i ril^_)r rrsturm)rnr0rr%rSs r.test_PolyElement_sturmrs b>DAq Qrbr_)rrrl)rBr%rs r.test_issue_21410r5(sz RU DAq 1q!t adQT!A%A  a ArEArEMArE$9ArE$AA$E EE Er-ctd}t|}|d}|j\}}|dk(sJ||k(sJ|jdusJy)Nr%rF)rr primitiver)r%rB zero_polycontprims r.test_zero_polynomial_primitiver;.s] A 1A!I$$&JD$ 199 9      %% %r-N)u__doc__ functoolsroperatorrrsympy.polys.ringsrrrr r sympy.polys.fieldsr r sympy.polys.densebasicr sympy.polys.domainsrrrrrsympy.polys.orderingsrrsympy.polys.polyerrorsrrrrsympy.testing.pytestr sympy.corerrsympy.core.singletonrsympy.core.numbersr&sympy.functions.elementary.exponentialr(sympy.functions.elementary.miscellaneousrr<rCrErTrarcrgrortr~rrrrrrrrrrrrrrrrrrrrrrrrr\rmrsruryrrrrrrrrrrrrrrrrrrrrrrrr rrrr!r%r)r/r3r5r;r,r-r.rKsGG/'22,EE(&"!69 D6 )2(& "" *'8#'J% 7*&>#J!#F7<,4 2 < C %(@"6"a:c:$KL{4zC69+v$(LM(3AjO+b?B55D8<M8I*%%N&0H'T* %4 4 45#66 !#@ N1 V 1 <F &r-