K iv[dZddlmZddlmcmZddlmZmZmZm Z m Z ddl m Z mZmZddlmZmZddlmZmZmZddlmZdd lmZdd lmZmZdd lmZdd l m!Z!dd l"m#Z#ddl$m%Z%ddl&m'Z'ddl(m)Z)m*Z*ddl+m,Z,ddl-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3dZ4dZ5dZ6dZ7dZ8dZ9dZ:dZ;dZdZ?dZ@d ZAd!ZBd"ZCd#ZDd$ZEd%ZFd&ZGd'ZHd(ZId)ZJd*ZKd+ZLd,ZMd-ZNd.ZOd/ZPd0ZQd1ZRe*d2ZSd3ZTd4ZUy)5z@Tests for the implementation of RootOf class and related tools. )PolyN)rootofRootOfCRootOfRootSum_pure_key_dict)MultivariatePolynomialErrorGeneratorsNeededPolynomialError)FunctionLambda)FloatIRational)Eq)S)explog)sqrt)tan)Integral) legendre_poly)solve)raisesslow) unchanged)abxyzrcttddk(sJttddk(sJtttjdk(sJttdz ddk(sJttdz ddk(sJttdzddk(sJttdzddk(sJttdzdtzzdzddtt dzz k(sJttdzdtzzdzddtt dzzk(sJttdzdtzzdzddtt dzzk(sJttdzdtzzdzddtt dzz k(sJttdzdtzzdzdd}t |td usJttdzdtzzdzdd}t |td usJttdzdtzzdzdd}t |td usJttdzdtzzdzdd}t |td usJttdz tdzzdddk(sJttdz tdzzdddk(sJttdz tdzzdddk(sJttdz tdzzdddk(sJttdz tdzzdd dk(sJttdz tdzzdd dk(sJttdz tdzzdd dk(sJttdz tdzzdd dk(sJttdz tdztzdzzdttdztzdzdk(sJttdz tdztzdzzddk(sJttdz tdztzdzzdttdztzdzdk(sJttdz tdztzdzzdttdztzdzdk(sJttdz tdztzdzzdttdztzdzdk(sJttdz tdztzdzzdttdztzdzdk(sJttdz tdztzdzzd dk(sJttdz tdztzdzzd ttdztzdzdk(sJttd zdtdzzzdd k(sJttd zdtdzzzddk(sJttd zdtdzzzddk(sJttd zdtdzzzddk(sJttd ttdttdttdttdttdttdttdttdttdttdttdttdttttz tdtk(sJtttdztz tdt t k(sJtttdztz tdt tk(sJtttdztz tdtt!ddzk(sJtttdzzttzzdtzztddk(sJttdttdztzdzdj"d usJy)NrFradicalsTctddSNrrh/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sympy/polys/tests/test_rootoftools.pyz&test_CRootOf___new__..U VAq\r2ctddSNr%rr0r1r2r3r4z&test_CRootOf___new__..Vr5r2c6ttdtdSr/rrrr1r2r3r4z&test_CRootOf___new__..XF41:q$9r2c6ttdtdSr7r9r1r2r3r4z&test_CRootOf___new__..Yr:r2c0tttz dSr/rrr r1r2r3r4z&test_CRootOf___new__..ZsF1q5!$4r2c4tttdSr/)rrrr1r2r3r4z&test_CRootOf___new__..\sF3q61$5r2cNttdztz tdzdSNr'r&r)rrrr1r2r3r4z&test_CRootOf___new__..^sq!tax$q'/A1(Er2cDttdztz tzdS)Nr'r)rrrr1r2r3r4z&test_CRootOf___new__.._sq!tax!|Q(?r2c.ttdzdz dS)Nr&r%r,rrr1r2r3r4z&test_CRootOf___new__..avadQh3r2c.ttdzdz dS)Nr&r%r+rCr1r2r3r4z&test_CRootOf___new__..brDr2c.ttdzdz dSNr&r%rCr1r2r3r4z&test_CRootOf___new__..cvadQh2r2c.ttdzdz dS)Nr&r%r'rCr1r2r3r4z&test_CRootOf___new__..drHr2c6ttdzdz tSrGrCr1r2r3r4z&test_CRootOf___new__..esvadQh2r2cTttdztzdtzztdSr@r=r1r2r3r4z&test_CRootOf___new__..osq!tax!A#~q!(Dr2)rrrZerorr isinstancerrr r NotImplementedError IndexError ValueErrorrr ris_commutativer"s r3test_CRootOf___new__rS s; !Q<1   !R=A   !QVV  !! ! !a% q  !a%  !! ! !a% r !! ! !a%  "" " !Q$1*q.! $QtAwY 66 6 !Q$1*q.! $QtAwY 66 6 !Q$1*q." %aQi 77 7 !Q$1*q." %aQi 77 7q!taczA~q51A a D (( (q!taczA~q51A a D (( (q!taczA~rE2A a D (( (q!taczA~rE2A a D (( ( 1q51q5/1u 5 ;; ; 1q51q5/1u 5 :: : 1q51q5/2 6! ;; ; 1q51q5/2 6" << < 1q51q5/1t 4 :: : 1q51q5/1t 4 99 9 1q51q5/2 5 :: : 1q51q5/2 5 ;; ; 1q51a4!8a<(! ,q!tax!|Q0G GG G 1q51a4!8a<(! , 11 1 1q51a4!8a<(! ,q!tax!|Q0G GG G 1q51a4!8a<(! ,q!tax!|Q0G GG G 1q51a4!8a<(" -1q1 a1H HH H 1q51a4!8a<(" -1q1 a1H HH H 1q51a4!8a<(" - 22 2 1q51a4!8a<(" -1q1 a1H HH H !Q$1a4- #r )) ) !Q$1a4- #q (( ( !Q$1a4- #q (( ( !Q$1a4- #q (( ( 12 12 ?9: ?9: ?45 ?56  EF  ?@ :34 :34 :23 :23 :23 $q1ua.! $ )) ) $q!tax#Q 'DG8 33 3 $q!tax#Q '47 22 2 $q!tax#Q '1hq!n+< << < !AqD&1Q3,1$a +r 11 1  DE !Q$(Q, " 1 1T 99 9r2cttdztzdzd}|jsJ|jt k(sJt t dy)Nr'rcftttdzttzzdztdSNr'r%r)rrrr r1r2r3r4z)test_CRootOf_attributes..|s$tAqD1Q3JNA/F(Jr2)rr is_number free_symbolssetrrNrRs r3test_CRootOf_attributesrZtsHq!tax!|QA ;;; >>SU "" "   JKr2cttdztzdzdttdztzdzdk(dusJttdztzdzdttdztzdzdk(dusJttdztzdzdttdztzdzdk(dusJttdztzdzdttdztzdzdk(dusJttdztzdzdttdztzdzdk(dusJttdztzdzdttdztzdzdk(dusJttdztzdzdttdztzdzdk(dusJttdztzdzdttdztzdzdk(dusJttdztzdzdttdztzdzdk(dusJttdztzdzdttdztzdzdk(dusJyNr'rTr%Fr&r=r1r2r3test_CRootOf___eq__r]s< 1a4!8a< #vadQhlA'> >4 GG G 1a4!8a< #vadQhlA'> >5 HH H 1a4!8a< #vadQhlA'> >4 GG G 1a4!8a< #vadQhlA'> >5 HH H 1a4!8a< #vadQhlA'> >4 GG G 1a4!8a< #vadQhlA'> >4 GG G 1a4!8a< #vadQhlA'> >5 HH H 1a4!8a< #vadQhlA'> >4 GG G 1a4!8a< #vadQhlA'> >5 HH H 1a4!8a< #vadQhlA'> >4 GG Gr2c Jtd}tdztzdz}t|d}t|d}t||tj usJt||tj usJtt|tsJt|dtj usJt|tjtj usJt|ttj usJtt||dsJt|}|D]-}|jst||tj ur-Jt|d}|D]-}|jst||tj ur-Jtdztzdz}t|}tdDcgc]}|D]}tt|||!c}}jddk(sJtt|ddtjzdk(sJycc}}w)Nfr'r&r%rTF)r rrrrfalsetruerInfinityrris_realrangecount ImaginaryUnit)r_eqr"r1solsijs r3test_CRootOf___eval_Eq__rms A AABr1 A AB a9   a8qvv   RA   a8qww   a  '' ' a8qww   RAaD !! ! )C ' 99a8qww& &&' r1 A & 99a8qvv% %%& AAB )C*/( QC qBvb!}a   %+   fRmQ0 1U :: : s6$HcttdztzdzdjdusJttdztzdzdjdusJttdztzdzdjdusJyr\)rrrcr1r2r3test_CRootOf_is_realrosw !Q$(Q, " * *d 22 2 !Q$(Q, " * *e 33 3 !Q$(Q, " * *e 33 3r2cZttdztzdzdjdusJy)Nr'rT)rr is_complexr1r2r3test_CRootOf_is_complexrrs) !Q$(Q, " - - 55 5r2cttdztzdzdjdusJttdztzdzdjdusJttdztzdzdjdusJy)Nr'rTr%r&)rr is_algebraicr1r2r3test_CRootOf_is_algebraicrusw !Q$(Q, " / /4 77 7 !Q$(Q, " / /4 77 7 !Q$(Q, " / /4 77 7r2cttdztzdzdjttttdztzdzdk(sJyrV)rrsubsr r1r2r3test_CRootOf_subsrxsC !Q$(Q, " ' '1 -1q1 a1H HH Hr2cttdztzdzdjtdk(sJttdztzdzdjtdk(sJyrV)rrdiffr r1r2r3test_CRootOf_diffr{sZ !Q$(Q, " ' ' *a // / !Q$(Q, " ' ' *a // /r2cttdztzdzdjd}|jt dsJttdztzdzdjdj \}}|jt dsJ|jt d sJttdztzdzd jdj \}}|jt dsJ|jt dsJt d td }|jDcgc]}t|jd }}|gdk(sJttdzdtzz dzdjd}|jt dsJttdzdtzz dzdjdj \}}|jt dsJ|jt dsJttdzdtzz dzd jdj \}}|jt dsJ|jt dsJttdzdtzz dzdjdj \}}|jt dsJ|jt dsJttdzdtzz dzd jdj \}}|jt dsJ|jt dsJtttdzd td zzztdzzdz djddk(sJdtdzzdtdzzzdtdzzzd td!zzzd"td#zzzd$td%zzzd&tdzzzd'td zzz d(tdzzz d)td zzz d*tzzd+z}t|djd j \}}t|d jd j \} } || k(sJ|| ksJ|| k(sJtt d,td#}|jd |jd-jd k(sJttd zdzdd./} ttd zdzdd./} | jd t d0d tzk(sJ| jd t d1d tzk(sJttd tdzzd2tdzzzdtd zzzd#zdjdd3k(sJtd4td%zzd5td zzz d6td zzzdz d} | jd sJtttd2zd7td8zzzd9tdzzzd:tdzzzd;td!zzzdtd zzzd?zdjd d@k(sJtttd zdtd zzzdzdjd dAksJtdD cgc]} ttdztzdz| !}} |dj!|D]{}|j#} |jd | |j#k7sJ|j!| |j#k(sJ| | j$| j&k(r{Jycc}wcc} w)BNr'rnz-1.2134116627622296341r%z0.60670583138111481707z1.45061224918844152650r&r-Tpolysz-0.86113631159405258z-0.33998104358485626z0.33998104358485626z0.86113631159405258 z-1.84208596619025438271z-0.351854240827371999559z-1.709561043370328882010z+1.709561043370328882010z+1.272897223922499190910z-0.719798681483861386681z+0.719798681483861386681l@z147.i i: i izgi`jHili i@Bi<ii-i@dFr)gg?z-0.976i`biT ii@iVi i\ iie z-3.4*Ig?)rrevalf epsilon_eqr as_real_imagr real_rootsstrrrr _eval_evalfrabsrd_reset _get_intervalfuncargs)realreimpr"rootsrgrrcdr0rhrkris r3test_CRootOf_evalfrsl !Q$(Q, " ( (2 ( .D ??5!9: ;; ; AqD1HqL! $ * *R * 0 = = ?FB ==% 89 :: : ==% 899 :: : AqD1HqL! $ * *R * 0 = = ?FB ==78 99 9 ==78 99 9a$'A#$<<> 2aSR\ 2E 2    1qs R # ) )B ) /B ==89 :: : AqD1Q3JOQ ' - - - 3 @ @ BFB ==9: ;; ; ==9: ;; ; AqD1Q3JOQ ' - - - 3 @ @ BFB ==9: ;; ; ==9: ;; ; AqD1Q3JOQ ' - - - 3 @ @ BFB ==9: ;; ; ==9: ;; ; AqD1Q3JOQ ' - - - 3 @ @ BFB ==9: ;; ; ==9: ;; ; vadQq!tVmad*[8!<>>qA Bf LL L B,B &!Q$ 6!Q$ FA   A  &(0A  68?1  EA  1  %'.qy 136 7B "a=??1  * * ,DAq "a=??1  * * ,DAq 6M6 q5L5 7N7}R#Q'A 133q6SQSSXZZ] "" " 1q!e ,B 1q!e ,B 447eD!nq( (( ( 447eCma' '' ' va1fr!Q$w&AqD014a8::1= >( JJ J ad T!Q$Y&AqD014a8A ==   vaebBh&QU2T!R%Z? ad AqD[!#)!Q$;/18A>AaD % && & vadR1Wnq(!,..q1 2S 88 8+0(3Q1q1 a 3A3aDKKM$     QB$$&&&& B$$&&&&FAFFAFFO### $E 3@ 4s "_7=$_<ctdz dz}t|d}|jjtdzdz k(sJ|j|jt j vsJy)Nr&r)rrpolyas_exprr rootoftools _reals_cacher_r"s r3test_issue_24978rsd A A1 A 66>> q!tax '' 'ACCE 66[-- -- -r2cttdzdtzz dzd}|j|j}ttdzdtzz dzd}|j|j}||k(sJy)Nrrr%)rrrr)r"rrs r3test_CRootOf_evalf_caching_bugr(swq!taczB"AACCEAq!taczB"AACCEA 6M6r2cttdztzdzjttdztdzz dzdgk(sJttdztzdzjdttdztdzz dzdgk(sJtdtd zzd tdzzz d tdzzz d tzz dz td }t j|t dt dt dt ddz gk(sJttdzt dtdzzzdz tdjttd zdtd zzz dtdzzz dzdgk(sJttdzt dtdzzzdz tdjttd zdtd zzz dtdzzz dzdgk(sJttdztdzzdz d}ttdz|tzzdz tdjttdzdtdzzz tdzzd tdzzzdtd zzz d td zzz dtdzzzd tdzzztdzz dz dgk(sJttdz tt dz dzztdjt dt dt dgk(sJy)Nrr%r'r&rFr)r+r-rrrZZ)domainr$T extensionr}rr)rrrrrrrr )rr"s r3test_CRootOf_real_rootsr2s 1q1  ( ( *vadQTkAoq/I.J JJ J 1q1  ( (% ( 8V 1q!t a>=   R1Wr!Q$w AqD (1Q3 . 2AdCA   a QrUAbE1R5!B%'$B BB B 1tAwq!t|#a'd ; F F Hq!ta1f}qAv%)1-M   1tAwA~%)1 = H H Jq"uqAv~!Q$&*A.O   q!tad{Q"A 1qs QT 2 = = ?q"uqBwB&ArE1AaeG;!R%xAqD&!#$QT6*,-qD134567 9   147Q&T : E E G !d1gtAw  r2c ttdztzdzjttdztdzz dzdt ddt dt zdz z t ddt dt zdz zttdztdzz dzdttdztdzz dzdgk(sJttdztzdzjdttdztdzz dzdttdztzdzddttdztzdzddttdztdzz dzdttdztdzz dzdgk(sJttdzt dtdzzzdz td jttd zdtd zzz dtdzzz dzdttd zdtd zzz dtdzzz dzdttd zdtd zzz dtdzzz dzdgk(sJttdz tt dz dzztt z ztt zztd jtdt dt dt t gk(sJttdzt dz z td jtddz t dz ztd dz t dz z gk(sJy) Nrr%r'r&rr$Fr)Trrr-)rr all_rootsrrrrrr1r2r3test_CRootOf_all_rootsrOs 1q1  ' ' )q!tad{Q"Q$q'!)A+%Q$q'!)A+%q!tad{Q"q!tad{Q" .   1q1  ' ' ' 7q!tad{Q"q!tax!|Q/q!tax!|Q/q!tad{Q"q!tad{Q" <   1tAwq!t|#a'd ; E E Gq!ta1f}qAv%)1-q!ta1f}qAv%)1-q!ta1f}qAv%)1-   147Q&!A#.!A#6T J T T V !d1gtAwA   1qs A . 8 8 : !Q1 1a!A#   r2c*tdtd}|jDcgc]}|jd}}|D]}t |t rJ|Dcgc]}t |jd}}|gdk(sJycc}wcc}w)Nr-Trr~rr)rrr eval_rationalrMrrr)rr"rroots r3test_CRootOf_eval_rationalrusa$'A,-LLN ;q_Q__r " ;E ;*$)))*). /S_ /E /    < 0s B !Bcttdzdtzzdz}tjt|d}|jt j vsJ|jt jvsJ|j|jt j vsJ|jt jvsJtjt|d}|jt j vsJ|jt jvsJ|j|jt j vsJ|jt jvsJttdzdz tdzdzz}tjt|d}|jt j vsJ|jt jvsJtjt|d}|jt j vsJ|jt jvsJy)Nr'r&rr%) rrr clear_cacherrr_complexes_cacherrs r3test_CRootOf_lazyrs QTAaCZ!^A 1 A 6611 11 1 6655 55 5 AGGI 66[-- -- - 6655 55 5 1 A 6611 11 1 6655 55 5 AGGI 66[-- -- - 66[11 11 1 adQhA "#A 1 A 66[-- -- - 6655 55 5 1 A 66[-- -- - 66[11 11 1r2c l tdztzdz}tttttz}t ||}t |tdusJt |dz|dt ||zk(sJt tdz |dzz|tdtzdt ||zzk(sJt t tdz |dzz|t tdtzdt ||zzk(sJttdttdt |tt |ttttk(sJt |tt |ttttk(sJt t |dtdusJt |d k(sJt |tttd k(sJt |tttdzd k(sJt |ttd dk(sJt |ttdd k(sJt |djdusJt |ttd ttdzzz td dk(sJt |tttttdzzz td dtzk(sJt tdzd z ttdtdzztd k(sJt tdztz ttdtdzztd tzk(sJt tdzd z ttttdzztdtzk(sJt tdztz ttttdzztdtztzk(sJt tdzd z ttttdtdtd zk(sJt tdzttzztdzzt tt tdztzd zttt!ttzk(sJt tdztdzzttzzd zt tt tdztzd zttt!ttz k(sJy)Nr'Tr&rcBttdztztzSNr')rrr r1r2r3r4z&test_RootSum___new__..s1q1 0Er2c0ttdzdzdS)Nr&r'c|SNr1)rs r3r4z8test_RootSum___new__....s1r2)rrr1r2r3r4z&test_RootSum___new__..swq!tax=r2F)autorr(r%rr) quadraticr$)rr r"rrrMhashrr rPrrQrr r!rr)r_grjs r3test_RootSum___new__rs 1q1 Aq#ac(A1 A a !T )) ) 1a4 qA .. . AE1a4< #s1Q3x!GAqM/'A AA A Q1 a( )T#ac(Qwq!}_2L-M MM M &(EF :=> 1c?ga3q6):; ;; ; 1c?ga3q6):; ;; ; gae,g 6$ >> > 1:?? 1fQl #q (( ( 1fQ1o &" ,, , 1fQl #q (( ( 1fQl #q (( ( 15 ! 0 0D 88 8 1fQ1q!t8 - .(2q/ AA A 1fQ1q!t8 - .(2q/!2C CC C 1a4!8VAqAv. 2a 77 7 1a4!8VAqAv. 2ac 99 9 1a4!8VAqAv. 2ac 99 9 1a4!8VAqAv. 2ac!e ;; ;  1q&CF#t 58;B#a&8H II I 1a4!A#:1$c1 -1q1 fQAaC12 33 3 1a419qs?Q&Q /1q1 fQAaC12 33 3r2c  ttdztzdzttt tj t k(sJttdztzdzttt ttzj thk(sJttdztztzttt ttztj tthk(sJyr) rrr r"rrXrYrr r1r2r3test_RootSum_free_symbolsrs 1a4!8a<3q6!2 3 @ @CE II I 1a4!8a<3qs8!4 5 B Bqc II I  1q1 fQAaC)1 ..:lq!f EE Er2c6tttt}ttdztzdz|ttdztzdz|k(dusJttdztzdz|ttdztzdz|k(dusJttdztzdz|ttdztzdz|k(dusJttdztzdz|ttdztzdz|k(dusJy)Nr'r%Tr&F)r rrrr r_s r3test_RootSum___eq__rsq#a&A AqD1HqL! $1q1 a(@ @T II I AqD1HqL! $1q1 a(@ @T II I AqD1HqL! $1q1 a(@ @U JJ J AqD1HqL! $1q1 a(@ @U JJ Jr2cttdzdzt}t|tdusJ|j tt tt zk(sJttdzt ztt}t|tdusJ|j ttt  ttt zk(sJy)Nr&r%T)rrrrMdoitrrrrss r3test_RootSum_doitrs A3 B b' "d ** * 779QB#a&( (( ( A3 "B b' "d ** * 779T1"XIT1"X6 66 6r2c\ttdzdzt}|jddj t dsJ|jddj t dsJttdzt ztt}|j|k(sJy) Nr&r%r}T)rchopz1.0806046117362794348rz1.08060461173628)rrrrrrrrs r3test_RootSum_evalfrs A3 B 88bt8 $ / /6M0N OO O 88bt8 $ / /6H0I JJ J A3 "B 88:  r2c$tdztzdz}tttttz}ttttttzz}t ||j tt ||k(sJyr)rr r"rrrz)r_rhs r3test_RootSum_diffrsd 1q1 Aq#ac(Aq!C!H*A 1a=  a GAqM 11 1r2ctdztzdz}tttttz}tdztzdz}tttttz}t ||j tdt ||k(sJt ||j ttt ||k(sJy)Nr'r%)rr r"rr rrw)r_rFGs r3test_RootSum_subsrs 1q1 Aq#ac(A 1q1 Aq#ac(A 1a=  a #wq!} 44 4 1a=  a #wq!} 44 4r2c  ttdztz dztttttz z dtzdz tdztz dzz k(sJdtdzzdtdzzzdtzzdz}tttt d tdzzdz d tdzzdz z d tdzzdz z tt d dzz dz t tzz}t||jtdt dtzzd t tzz dzt tzt dtzt dtzz dzz dz k(sJy)Nrr%r-r'sr&ii5 iq}rr)rr!r rrrrrz)r_rs r3test_RootSum_rationalrso  1q1 fQ1q5 * ,01!a!Q$(Q,/G HH H AqD3q!t8bd"Q&Aq!C ad 1 tAqDy{"SAXaZ/!HS!4D2DDqH3q6QSS TA 1a=  a 3qs8aAh  "CF*C!Hs1Q3x,?!,CD%FFG%H HH Hr2ctdztz dztdztz dzz}ttdt tzdz}ttt t}t tdztz |t}t tdztz |t}t ||tj d|zd|zdgk(sJy) Nr'r&r-rrrr~)rrrr rras_ordered_terms)r_rrrrhs r3test_RootSum_independentr(s AA q!tax!m#Aq!CF(Q,Aq#a&A A1a B A1a B 1a  , , .2b5"R%2E EE Er2cttdztz dztj}tdDcgc]}t tdztz dz|!}}t |t |k(sJycc}w)Nrr%)rrrrdr frozenset)l1rkl2s r3test_issue_7876r4sh adQhlA  ( ( *B+08 4a&AAq ! 4B 4 R=IbM )) ) 5s$A=ctdtdzzdz }t|jdk(sJtdtdzzdz }t|jdk(sJy)Nrrrr)rrlenrrs r3test_issue_8316r:s` Qq!tVaZA q{{}  "" " Qq!tVb[A q{{}  "" "r2cddlmfd}|ttdzdtdzzzdzdk(sJ|ttdzdk(sJ|tdgdzd gztdk(sJ|ttdzdzdk(sJ|ttdzdzdk(sJ|ttdzdz dk(sJ|ttd zdz dk(sJ|ttd zdzdk(sJ|tgd tdk(sJ|ttdztzdzdk(sJ|ttd ztzdzdk(sJd }||d d dd k(sJ||d dddk(sJ||ddddk(sJ||ddd d k(sJ||d dd dk(sJ||d d d dk(sJy)Nr)_imag_count_of_factorcNtfd|jdDS)Nc3:K|]\}}||zywrr1).0r_mrs r3 z7test__imag_count..imag_count..Ds$$!Q(+A-sr%)sum factor_list)rrs r3 imag_countz$test__imag_count..imag_countCs(  r2rrr&r%r'r$r-)r%r&r'cztt|z t|z zjtt|ztSr)rrrw)rhr2rs r3qztest__imag_count..qQs-a"fq2v&,,Q15q99r2r()sympy.polys.rootoftoolsrrr)rrrs @r3test__imag_countrAs= d1a4"QT'>A-. /1 44 4 d1a4j !Q && & dA3q5B4<+ , 11 1 d1a4!8n % ** * d1a4!8n % ** * d1a4!8n % ** * d1a4!8n % ** * d1a4!8n % ** * d9a( )Q .. . d1a4!8a<( )Q .. . d1a4!8a<( )Q .. .: aBl #q (( ( aAqk "a '' ' a1aj !Q && & a1aj !Q && & aAqk "a '' ' aBl #q (( (r2cttdzdtdzzzdzd}|j}|jr|j|j zdksJy)Nr-r&r%r)rrr is_imaginaryaxbx)r"rks r3test_RootOf_is_imaginaryr[sRq!ta1f}q !$AA >>add144i1n, ,nr2ctdzdtzzdz}t|dj}t|dj}|j|sJ|j|sJy)Nr'rr%r)rrr is_disjoint)rgiriis r3test_is_disjointr asc A!aB A $ $ &B A $ $ &B >>"   >>"  r2cttvdusJdvdusJdt<tvsJtvsJtdk(sJttfdfdtt fdy)NFr%cdSNr%r1)rsr3r4z$test_pure_key_dict..qs QqTr2cd|<y)Nr&r1)krs r3dontz test_pure_key_dict..dontrs !r2cdSrr1)rsr3r4z$test_pure_key_dict..ts tAwr2)Drr rKeyErrorrP)rrs@@r3test_pure_key_dictrisv A Fu   Fu   AaD 6M6 6M6 Q4199 8\" :'r2ctjtdDcgc]"}ttdzdtzzdz|$c}Dcgc]}|j dc}t ddt ddt d zdz z t ddt d zdz zgk(sJd jDcgc]}|j dd c}t ddt d d t dzdz z t d d t dzdz zgk(sJtd jjdksJtdjjdksJtdjjd ksJtdjjdksJtdjjd ksJd jDcgc]}|j d d c}t ddt ddt dzdz z t ddt dzdz zgk(sJtd jjd ksJtdjjd ksJtdjjd ksJtdjjd ksJtdjjd ksJd jDcgc]}|j dc}t ddt ddt dzdz z t ddt dzdz zgk(sJttd jjd z dksJttdjjdz jdksJttdjjdz jdksJttdjjdz jdksJttdjjdz jdksJd jDcgc]}|j dc}t ddt ddt dzdz z t ddt dzdz zgk(sJttd jjd z dksJttdjjdz jdksJttdjjdz jdksJttdjjdz jdksJttdjjdz jdksJd jDcgc]}|jdc}Dcgc] }t|c}gdk(sJt!fd tt#DsJycc}wcc}wcc}wcc}wcc}wcc}wcc}wcc}w)!Nr'rr%g?iri%rg-C6?i iiSir&i/i4Nir~i'iVi3i i;e{Gz?i ii'SgMbP?)z-0.10z 0.05 - 3.2*Iz 0.05 + 3.2*Ic3tK|]/}t||z |z jdk1yw)rN)rr)rrkrts r3rz,test_eval_approx_relative..s9KsQqTAaD[!A$&))+,t3Ks58)rrrdrrrrrrrdxdyrr eval_approxrallr)rkrrs @@r3test_eval_approx_relativer"ws .3Ah7A1q! $7A+, -aAOOD ! -cHR-#c 9SAcE#I%2' '' 'aDKKM12 3AAOOD$ ' 3cHT51AfHVOCu&/81 11 1 QqT   ! $ $ % ,, , QqT   ! $ $ % ,, , QqT   ! $ $ % ,, , QqT   ! $ $ % ,, , QqT   ! $ $ % ,, ,aDKKM12 3AAOOD$ ' 3v 66& Hv6&082 22 2 QqT   ! $ $ % ,, , QqT   ! $ $ % ,, , QqT   ! $ $ % ,, , QqT   ! $ $ % ,, , QqT   ! $ $ % ,, ,aDKKM*+ ,QAOOaO ,'"HVW$=' '@Q$Q!AgIg$5517 77 7 q1##%(()!A$. /$ 66 6 q1##%(()!A$. / 1 1 3d :: : q1##%(()!A$. / 1 1 3d :: : q1##%(()!A$. / 1 1 3d :: : q1##%(()!A$. / 1 1 3d :: :aDKKM*+ ,QAOOaO ,'"HWh$?!I+hBV$V(#a k(&::1< << < q1##%(()!A$. /$ 66 6 q1##%(()!A$. / 1 1 3d :: : q1##%(()!A$. / 1 1 3d :: : q1##%(()!A$. / 1 1 3d :: : q1##%(()!A$. / 1 1 3d :: :aDKKM#$%aq %A qCF #1 11 1 KU3q6]K KK K_ 8 - 4 4 - - & s/']]]!]&]+%]02]5]:cttdztz dzd}tttdtf}t t ||sJy)Nrr%r)rrrr rr)r"rs r3test_issue_15920r$s>q!tax!|QAQ1IA RA  r2c tdztz dz}tt|jdk(sJtt|j tt tjdk(sJtt|j tt t jdk(sJy)Nr'r%z[CRootOf(x**3 - x + 1, 0)])r rrrrwrr)rgs r3test_issue_19113r&s AAB tBx""$ %)E EE E tBGGAs1v&'224 ) ** * tBGGAs1v&'224 ) ** *r2)V__doc__sympy.polys.polytoolsrrrrrrrrrrsympy.polys.polyerrorsr r r sympy.core.functionr r sympy.core.numbersrrrsympy.core.relationalrsympy.core.singletonr&sympy.functions.elementary.exponentialrr(sympy.functions.elementary.miscellaneousr(sympy.functions.elementary.trigonometricrsympy.integrals.integralsrsympy.polys.orthopolysrsympy.solvers.solversrsympy.testing.pytestrrsympy.core.exprr sympy.abcrrrr r!r"rSrZr]rmrorrrurxr{rrrrrrrrrrrrrrrrrrrrr rr"r$r&r1r2r3r7s0F&-- 333$"=98.0'.%&&Q:hL H;64 68 I0X$X$v .:#L )2X.3bEK 725 H F* #)4-  (1L1Lh *r2