+
    iv[                        R t ^ RIHt ^ RIHu Ht ^ RIHtHtHtH	t	H
t ^ RIHtHtHt ^ RIHtHt ^ RIHtHtHt ^ RIHt ^ RIHt ^ R	IHtHt ^ R
IHt ^ RI H!t! ^ RI"H#t# ^ RI$H%t% ^ RI&H't' ^ RI(H)t)H*t* ^ RI+H,t, ^ RI-H.t.H/t/H0t0H1t1H2t2H3t3 R t4R t5R t6R t7R t8R t9R t:R t;R t<]*R 4       t=R t>R t?R t@R tAR  tBR! tCR" tDR# tER$ tFR% tGR& tHR' tIR( tJR) tKR* tLR+ tMR, tNR- tOR. tPR/ tQR0 tR]*R1 4       tSR2 tTR3 tUR# )4z@Tests for the implementation of RootOf class and related tools. )PolyN)rootofRootOfCRootOfRootSum_pure_key_dict)MultivariatePolynomialErrorGeneratorsNeededPolynomialError)FunctionLambda)FloatIRational)Eq)S)explog)sqrt)tan)Integral)legendre_poly)solve)raisesslow)	unchanged)abxyzrc                  D   \        \        ^ 4      ^ 8X  g   Q h\        \        R4      ^ 8X  g   Q h\        \        \        P                  4      ^ 8X  g   Q h\        \        ^,
          ^ 4      ^8X  g   Q h\        \        ^,
          R4      ^8X  g   Q h\        \        ^,           ^ 4      R8X  g   Q h\        \        ^,           R4      R8X  g   Q h\        \        ^,          ^\        ,          ,           ^,           ^ 4      R\        \        ^4      ,          ,
          8X  g   Q h\        \        ^,          ^\        ,          ,           ^,           ^4      R\        \        ^4      ,          ,           8X  g   Q h\        \        ^,          ^\        ,          ,           ^,           R4      R\        \        ^4      ,          ,           8X  g   Q h\        \        ^,          ^\        ,          ,           ^,           R4      R\        \        ^4      ,          ,
          8X  g   Q h\        \        ^,          ^\        ,          ,           ^,           ^ RR7      p \        V \        4      RJ g   Q h\        \        ^,          ^\        ,          ,           ^,           ^RR7      p \        V \        4      RJ g   Q h\        \        ^,          ^\        ,          ,           ^,           RRR7      p \        V \        4      RJ g   Q h\        \        ^,          ^\        ,          ,           ^,           RRR7      p \        V \        4      RJ g   Q h\        \        ^,
          \        ^,           ,          ^ RR7      R8X  g   Q h\        \        ^,
          \        ^,           ,          ^RR7      ^8X  g   Q h\        \        ^,
          \        ^,           ,          RRR7      ^8X  g   Q h\        \        ^,
          \        ^,           ,          RRR7      R8X  g   Q h\        \        ^,
          \        ^,           ,          ^ RR7      R8X  g   Q h\        \        ^,
          \        ^,           ,          ^RR7      ^8X  g   Q h\        \        ^,
          \        ^,           ,          RRR7      ^8X  g   Q h\        \        ^,
          \        ^,           ,          RRR7      R8X  g   Q h\        \        ^,
          \        ^,          \        ,           ^,           ,          ^ 4      \        \        ^,          \        ,           ^,           ^ 4      8X  g   Q h\        \        ^,
          \        ^,          \        ,           ^,           ,          ^4      ^8X  g   Q h\        \        ^,
          \        ^,          \        ,           ^,           ,          ^4      \        \        ^,          \        ,           ^,           ^4      8X  g   Q h\        \        ^,
          \        ^,          \        ,           ^,           ,          ^4      \        \        ^,          \        ,           ^,           ^4      8X  g   Q h\        \        ^,
          \        ^,          \        ,           ^,           ,          R4      \        \        ^,          \        ,           ^,           ^4      8X  g   Q h\        \        ^,
          \        ^,          \        ,           ^,           ,          R4      \        \        ^,          \        ,           ^,           ^4      8X  g   Q h\        \        ^,
          \        ^,          \        ,           ^,           ,          R4      ^8X  g   Q h\        \        ^,
          \        ^,          \        ,           ^,           ,          R4      \        \        ^,          \        ,           ^,           ^ 4      8X  g   Q h\        \        ^,          ^\        ^,          ,          ,           ^ 4      R8X  g   Q h\        \        ^,          ^\        ^,          ,          ,           ^4      ^ 8X  g   Q h\        \        ^,          ^\        ^,          ,          ,           ^4      ^ 8X  g   Q h\        \        ^,          ^\        ^,          ,          ,           ^4      ^ 8X  g   Q h\        \        R 4       \        \        R 4       \        \        R 4       \        \        R 4       \        \        R 4       \        \        R	 4       \        \        R
 4       \        \        R 4       \        \        R 4       \        \        R 4       \        \        R 4       \        \        R 4       \        \        R 4       \        \        \        \        ,
          \        4      ^ 4      \        8X  g   Q h\        \        \        ^,          \        ,
          \        4      ^ 4      \        \        4      ) 8X  g   Q h\        \        \        ^,          \        ,
          \        4      ^4      \        \        4      8X  g   Q h\        \        \        ^,          \        ,
          \        4      ^ 4      \        \!        ^^4      ,          8X  g   Q h\        \        \        ^,          ,          \        \        ,          ,           ^\        ,          ,           \        ^ 4      R8X  g   Q h\        \        R 4       \        \        ^,          \        ,           ^,           ^ 4      P"                  RJ g   Q hR# )    FradicalsTc                      \        ^ ^ 4      # r#   r        `/var/www/html/photoedit/myenv/lib/python3.14/site-packages/sympy/polys/tests/test_rootoftools.py<lambda>&test_CRootOf___new__.<locals>.<lambda>U   
    VAq\r*   c                      \        ^^ 4      #    r(   r)   r*   r+   r,   r-   V   r.   r*   c                  6    \        \        ^ \        4      ^ 4      # r'   r   r   r   r)   r*   r+   r,   r-   X       F41:q$9r*   c                  6    \        \        ^\        4      ^ 4      # r0   r3   r)   r*   r+   r,   r-   Y   r4   r*   c                  8    \        \        \        ,
          ^ 4      # r'   r   r   r   r)   r*   r+   r,   r-   Z   s    F1q5!$4r*   c                  4    \        \        \        4      ^ 4      # r'   )r   r   r   r)   r*   r+   r,   r-   \   s    F3q61$5r*   c                  f    \        \        ^,          \        ,
          \        ^4      ,           ^ 4      #    )r   r   r   r)   r*   r+   r,   r-   ^   s    q!tax$q'/A1(Er*   c                  \    \        \        ^,          \        ,
          \        ,           ^ 4      # r:   )r   r   r   r)   r*   r+   r,   r-   _   s    q!tax!|Q(?r*   c                  >    \        \        ^,          ^,
          R4      # )   r   r   r)   r*   r+   r,   r-   a       vadQh3r*   c                  >    \        \        ^,          ^,
          R4      # )r>   r@   r)   r*   r+   r,   r-   b   rA   r*   c                  >    \        \        ^,          ^,
          ^4      # r>   r@   r)   r*   r+   r,   r-   c       vadQh2r*   c                  >    \        \        ^,          ^,
          ^4      # rE   r@   r)   r*   r+   r,   r-   d   rF   r*   c                  F    \        \        ^,          ^,
          \        4      # rE   r@   r)   r*   r+   r,   r-   e   s    vadQh2r*   c                  t    \        \        ^,          \        ,           ^\        ,          ,           \        ^ 4      # r:   r7   r)   r*   r+   r,   r-   o   s    q!tax!A#~q!(Dr*   NrC   r?   )r   r   r   Zeror   r   
isinstancer   r   r	   r
   NotImplementedError
IndexError
ValueErrorr   r   r   is_commutativer!   s    r+   test_CRootOf___new__rS       s;   !Q<1!R=A!QVV!!!!a%q   !a%!!!!a%r!!!!a%"""!Q$1*q.!$QtAwY666!Q$1*q.!$QtAwY666!Q$1*q."%aQi777!Q$1*q."%aQi777q!taczA~q51Aa D(((q!taczA~q51Aa D(((q!taczA~rE2Aa D(((q!taczA~rE2Aa D(((1q51q5/1u5;;;1q51q5/1u5:::1q51q5/26!;;;1q51q5/26"<<<1q51q5/1t4:::1q51q5/1t49991q51q5/25:::1q51q5/25;;;1q51a4!8a<(!,q!tax!|Q0GGGG1q51a4!8a<(!,1111q51a4!8a<(!,q!tax!|Q0GGGG1q51a4!8a<(!,q!tax!|Q0GGGG1q51a4!8a<("-1q1a1HHHH1q51a4!8a<("-1q1a1HHHH1q51a4!8a<("-2221q51a4!8a<("-1q1a1HHHH!Q$1a4-#r)))!Q$1a4-#q(((!Q$1a4-#q(((!Q$1a4-#q(((
12
12
?9:
?9:
?45
?56
 EF
 ?@
:34
:34
:23
:23
:23$q1ua.!$)))$q!tax#Q'DG8333$q!tax#Q'47222$q!tax#Q'1hq!n+<<<<!AqD&1Q3,1$a+r111
 DE!Q$(Q,"11T999r*   c                      \        \        ^,          \        ,           ^,           ^ 4      p V P                  '       g   Q hV P                  \	        4       8X  g   Q h\        \        R 4       R# )r;   c                      \        \        \        ^,          \        \        ,          ,           ^,           \        4      ^ 4      # r:   )r   r   r   r   r)   r*   r+   r,   )test_CRootOf_attributes.<locals>.<lambda>|   s"    tAqD1Q3JNA/F(Jr*   N)r   r   	is_numberfree_symbolssetr   rN   rR   s    r+   test_CRootOf_attributesrZ   t   sJ    q!tax!|QA;;;;>>SU"""
  JKr*   c                     \        \        ^,          \        ,           ^,           ^ 4      \        \        ^,          \        ,           ^,           ^ 4      8H  RJ g   Q h\        \        ^,          \        ,           ^,           ^ 4      \        \        ^,          \        ,           ^,           ^4      8H  RJ g   Q h\        \        ^,          \        ,           ^,           ^4      \        \        ^,          \        ,           ^,           ^4      8H  RJ g   Q h\        \        ^,          \        ,           ^,           ^4      \        \        ^,          \        ,           ^,           ^4      8H  RJ g   Q h\        \        ^,          \        ,           ^,           ^4      \        \        ^,          \        ,           ^,           ^4      8H  RJ g   Q h\        \        ^,          \        ,           ^,           ^ 4      \        \        ^,          \        ,           ^,           ^ 4      8H  RJ g   Q h\        \        ^,          \        ,           ^,           ^ 4      \        \        ^,          \        ,           ^,           ^4      8H  RJ g   Q h\        \        ^,          \        ,           ^,           ^4      \        \        ^,          \        ,           ^,           ^4      8H  RJ g   Q h\        \        ^,          \        ,           ^,           ^4      \        \        ^,          \        ,           ^,           ^4      8H  RJ g   Q h\        \        ^,          \        ,           ^,           ^4      \        \        ^,          \        ,           ^,           ^4      8H  RJ g   Q hR# r;   TFNr7   r)   r*   r+   test_CRootOf___eq__r]      s<   1a4!8a<#vadQhlA'>>4GGG1a4!8a<#vadQhlA'>>5HHH1a4!8a<#vadQhlA'>>4GGG1a4!8a<#vadQhlA'>>5HHH1a4!8a<#vadQhlA'>>4GGG1a4!8a<#vadQhlA'>>4GGG1a4!8a<#vadQhlA'>>5HHH1a4!8a<#vadQhlA'>>4GGG1a4!8a<#vadQhlA'>>5HHH1a4!8a<#vadQhlA'>>4GGGr*   c                     \        R 4      p \        ^,          \        ,           ^,           p\        V^4      p\        V^4      p\        W#4      \        P
                  J g   Q h\        W"4      \        P                  J g   Q h\        \        V\        4      '       g   Q h\        V^ 4      \        P
                  J g   Q h\        V\        P                  4      \        P
                  J g   Q h\        V\        4      \        P
                  J g   Q h\        \        W ! ^ 4      4      '       g   Q h\        V4      pV F6  pVP                  '       g   K  \        W%4      \        P
                  J d   K6  Q h	  \        V^ 4      pV F6  pVP                  '       g   K  \        W%4      \        P                  J d   K6  Q h	  \        ^,          \        ,           ^,           p\        V4      p\        ^4       UUu. uF   qd F  p\        \        W4      V4      NK  	  K"  	  uppP                  R4      ^8X  g   Q h\        \        V^ 4      ^\        P                  ,           4      R8X  g   Q hR# u uppi )fTFN)r   r   r   r   r   falsetruer   Infinityr   r   is_realrangecountImaginaryUnit)r_   eqr!   r1solsijs           r+   test_CRootOf___eval_Eq__rm      s   A	
AABr1A	ABa9a8qvvRAa8qwwa'''a8qwwRAaD!!!!
)C999a8qww&&&  	r1A999a8qvv%%%  
AAB
)C*/( 
(QCqBvb}a C ( 

%+  fRmQ01U:::
s   5&I)c                  \   \        \        ^,          \        ,           ^,           ^ 4      P                  RJ g   Q h\        \        ^,          \        ,           ^,           ^4      P                  RJ g   Q h\        \        ^,          \        ,           ^,           ^4      P                  RJ g   Q hR# r\   )r   r   rc   r)   r*   r+   test_CRootOf_is_realro      sw    !Q$(Q,"**d222!Q$(Q,"**e333!Q$(Q,"**e333r*   c                  x    \        \        ^,          \        ,           ^,           ^ 4      P                  RJ g   Q hR# r;   TN)r   r   
is_complexr)   r*   r+   test_CRootOf_is_complexrs      s)    !Q$(Q,"--555r*   c                  \   \        \        ^,          \        ,           ^,           ^ 4      P                  RJ g   Q h\        \        ^,          \        ,           ^,           ^4      P                  RJ g   Q h\        \        ^,          \        ,           ^,           ^4      P                  RJ g   Q hR# rq   )r   r   is_algebraicr)   r*   r+   test_CRootOf_is_algebraicrv      sw    !Q$(Q,"//4777!Q$(Q,"//4777!Q$(Q,"//4777r*   c                      \        \        ^,          \        ,           ^,           ^ 4      P                  \        \        4      \        \        ^,          \        ,           ^,           ^ 4      8X  g   Q hR# r;   N)r   r   subsr   r)   r*   r+   test_CRootOf_subsrz      sC    !Q$(Q,"''1-1q1a1HHHHr*   c                     \        \        ^,          \        ,           ^,           ^ 4      P                  \        4      ^ 8X  g   Q h\        \        ^,          \        ,           ^,           ^ 4      P                  \        4      ^ 8X  g   Q hR# rx   )r   r   diffr   r)   r*   r+   test_CRootOf_diffr}      sZ    !Q$(Q,"''*a///!Q$(Q,"''*a///r*   c                     \        \        ^,          \        ,           ^,           ^ 4      P                  ^R7      p V P                  \	        R4      4      '       g   Q h\        \        ^,          \        ,           ^,           ^4      P                  ^R7      P                  4       w  rVP                  \	        R4      4      '       g   Q hVP                  \	        R4      ) 4      '       g   Q h\        \        ^,          \        ,           ^,           ^4      P                  ^R7      P                  4       w  rVP                  \	        R4      4      '       g   Q hVP                  \	        R4      4      '       g   Q h\        ^\        RR7      pVP                  4        Uu. uF  p\        VP                  ! ^4      4      NK   	  ppV. R,O8X  g   Q h\        \        ^,          ^\        ,          ,
          ^,           ^ 4      P                  ^R7      pVP                  \	        R4      4      '       g   Q h\        \        ^,          ^\        ,          ,
          ^,           ^4      P                  ^R7      P                  4       w  rVP                  \	        R4      4      '       g   Q hVP                  \	        R	4      4      '       g   Q h\        \        ^,          ^\        ,          ,
          ^,           ^4      P                  ^R7      P                  4       w  rVP                  \	        R4      4      '       g   Q hVP                  \	        R
4      4      '       g   Q h\        \        ^,          ^\        ,          ,
          ^,           ^4      P                  ^R7      P                  4       w  rVP                  \	        R4      4      '       g   Q hVP                  \	        R4      4      '       g   Q h\        \        ^,          ^\        ,          ,
          ^,           ^4      P                  ^R7      P                  4       w  rVP                  \	        R4      4      '       g   Q hVP                  \	        R4      4      '       g   Q h\        \        \        ^,          ^\        ^,          ,          ,           \        ^,          ,           R,
          ^ 4      P                  ^4      4      R8X  g   Q hR\        ^,          ,          R\        ^
,          ,          ,           R\        ^	,          ,          ,           R\        ^,          ,          ,           R\        ^,          ,          ,           R\        ^,          ,          ,           R\        ^,          ,          ,           R\        ^,          ,          ,
          R\        ^,          ,          ,
          R\        ^,          ,          ,
          R\        ,          ,           R,           p\        V^4      P                  ^4      P                  4       w  rx\        V^4      P                  ^4      P                  4       w  rWy8X  g   Q hW8  g   Q hW) 8X  g   Q h\        \        ^@\        4      ^4      pVP                  ! ^4      VP                  ! ^d4      P                  ^4      8X  g   Q h\        \        ^,          ^,           ^ RR7      p\        \        ^,          ^,           ^RR7      pVP                  ^4      \	        R-^4      \        ,          8X  g   Q hVP                  ^4      \	        R^4      \        ,          8X  g   Q h\        \        ^\        ^,          ,          ^\        ^,          ,          ,           ^\        ^,          ,          ,           ^,           ^ 4      P                  ^4      4      R8X  g   Q h\        R \        ^,          ,          R!\        ^,          ,          ,
          ^T\        ^,          ,          ,           ^,
          ^ 4      p	V	P                  ^4      '       g   Q h\        \        \        ^,          ^ \        ^,          ,          ,           R"\        ^,          ,          ,           R#\        ^
,          ,          ,           R$\        ^,          ,          ,           R%\        ^,          ,          ,           R&\        ^,          ,          ,           R'\        ^,          ,          ,           R(,           ^
4      P                  ^4      4      R)8X  g   Q h\        \        \        ^,          ^
\        ^,          ,          ,           ^,           ^ 4      P                  ^4      4      R*8  g   Q h\        ^4       Uu. uF,  p\        \        ^,          \        ,           ^,           V4      NK.  	  ppV^ ,          P!                  4        V F  pVP#                  4       pVP                  ^4       WP#                  4       8w  g   Q hVP!                  4        WP#                  4       8X  g   Q hWP$                  ! VP&                  !  8X  d   K  Q h	  R+# u upi u upi ).r;   nz-1.2134116627622296341z0.60670583138111481707z1.45061224918844152650Tpolysz-1.84208596619025438271z-0.351854240827371999559z-1.709561043370328882010z+1.709561043370328882010z+1.272897223922499190910z-0.719798681483861386681z+0.719798681483861386681l       @ z147.i i: i izgi`jHili i@B i < i  i - i   Fr$   g      ?z-0.976i`b i  i  i@  iV  i  i\ i ie z-3.4*Ig?Nz-0.86113631159405258z-0.33998104358485626z0.33998104358485626z0.86113631159405258g      )r   r   evalf
epsilon_eqr   as_real_imagr   
real_rootsstrr   r   r   _eval_evalfr   absrd   _reset_get_intervalfuncargs)realreimpr!   rootsrg   r   r   cdr0rh   rk   ris                  r+   test_CRootOf_evalfr      sr   !Q$(Q,"((2(.D??5!9:;;;;AqD1HqL!$**R*0==?FB==% 89::::==% 899::::AqD1HqL!$**R*0==?FB==789999==789999a$'A#$<<>2>aSR\>E2
      
1qs
R	#	)	)B	)	/B==89::::AqD1Q3JOQ'---3@@BFB==9:;;;;==9:;;;;AqD1Q3JOQ'---3@@BFB==9:;;;;==9:;;;;AqD1Q3JOQ'---3@@BFB==9:;;;;==9:;;;;AqD1Q3JOQ'---3@@BFB==9:;;;;==9:;;;; vadQq!tVmad*[8!<>>qABfLLL
B,B
&!Q$
6!Q$
FA A&(0A68?1EA1%'.qy1367B "a=??1**,DA"a=??1**,DA6M65L57N7}R#Q'A33q6QSSXZZ]"""	1q!e	,B	1q!e	,B447eD!nq((((447eCma'''' va1fr!Q$w&AqD014a8::1=>(JJJ 	ad
T!Q$Y&AqD014a8A== vaebBh&QU2T!R%Z?ad
AqD[!#)!Q$;/18A>AaD%& & & vadR1Wnq(!,..q12S888 +0(3(Q1q1a	 (A3aDKKM
Q$$&&&&
		$$&&&&FFAFFO### E 3@ 	4s   $i2ic                     \         ^,          ) ^,           p \        V ^ 4      pVP                  P                  4       \         ^,          ^,
          8X  g   Q hVP                  ! 4        VP                  \
        P                  9   g   Q hR# r>   N)r   r   polyas_exprr   rootoftools_reals_cacher_   r!   s     r+   test_issue_24978r     sb     
A	A1A66>>q!tax''' CCE66[-----r*   c                  ^   \        \        ^,          ^\        ,          ,
          ^,           ^4      p V P                  ! 4        V P                  ! 4       p\        \        ^,          ^\        ,          ,
          ^,           ^4      p V P                  ! 4        V P                  ! 4       pW8X  g   Q hR#    N)r   r   r   r   )r!   r   r   s      r+   test_CRootOf_evalf_caching_bugr   (  sm    q!taczB"ACCE	Aq!taczB"ACCE	A6M6r*   c                  `	   \        \        ^,          \        ,           ^,           4      P                  4       \        \        ^,          \        ^,          ,
          ^,           ^ 4      .8X  g   Q h\        \        ^,          \        ,           ^,           4      P                  RR7      \        \        ^,          \        ^,          ,
          ^,           ^ 4      .8X  g   Q h\        R\        ^,          ,          ^
\        ^,          ,          ,
          ^\        ^,          ,          ,
          ^\        ,          ,
          ^,
          \        RR7      p \        P                  ! V 4      \        R	4      \        R	4      \        R	4      \        R	4      ^,          .8X  g   Q h\        \        ^,          \        ^4      \        ^,          ,          ,           ^,
          \        RR7      P                  4       \        \        ^,          ^\        ^,          ,          ,
          ^\        ^,          ,          ,
          ^,           ^ 4      .8X  g   Q h\        \        ^,          \        ^4      \        ^,          ,          ,           ^,
          \        RR7      P                  4       \        \        ^
,          ^\        ^,          ,          ,
          ^\        ^,          ,          ,
          ^,           ^ 4      .8X  g   Q h\        \        ^,          \        ^,          ,           ^,
          ^ 4      p\        \        ^,          V\        ,          ,           ^,
          \        RR7      P                  4       \        \        ^,          ^\        ^,          ,          ,
          \        ^,          ,           ^
\        ^,          ,          ,           ^\        ^,          ,          ,
          ^
\        ^
,          ,          ,
          ^\        ^,          ,          ,           ^\        ^,          ,          ,           \        ^,          ,
          ^,
          ^ 4      .8X  g   Q h\        \        ^,
          \        \        ^4      ,
          ^,          ,          \        RR7      P                  4       \        ^4      \        ^4      \        ^4      .8X  g   Q hR# )
r   Fr$   ZZ)domainT	extensionNrC   rJ   )r   r   r   r   r   r   r   r   )r   r!   s     r+   test_CRootOf_real_rootsr   2  s   1q1((*vadQTkAoq/I.JJJJ1q1((%(8V	1q!ta> =    	R1Wr!Q$wAqD(1Q3.2AdCAa QrUAbE1R5!B%'$BBBB 1tAwq!t|#a'd;FFHq!ta1f}qAv%)1-M    1tAwA~%)1=HHJq"uqAv~!Q$&*A.O    	q!tad{Q"A1qs
QT2==?q"uqBwB&ArE1AaeG;!R%xAqD&!#$QT6*,-qD134567	9   147Q&T:EEG	!d1gtAw  r*   c            
      	   \        \        ^,          \        ,           ^,           4      P                  4       \        \        ^,          \        ^,          ,
          ^,           ^ 4      \	        R^4      \        ^4      \        ,          ^,          ,
          \	        R^4      \        ^4      \        ,          ^,          ,           \        \        ^,          \        ^,          ,
          ^,           ^4      \        \        ^,          \        ^,          ,
          ^,           ^4      .8X  g   Q h\        \        ^,          \        ,           ^,           4      P                  RR7      \        \        ^,          \        ^,          ,
          ^,           ^ 4      \        \        ^,          \        ,           ^,           ^ RR7      \        \        ^,          \        ,           ^,           ^RR7      \        \        ^,          \        ^,          ,
          ^,           ^4      \        \        ^,          \        ^,          ,
          ^,           ^4      .8X  g   Q h\        \        ^,          \        ^4      \        ^,          ,          ,           ^,
          \        RR7      P                  4       \        \        ^,          ^\        ^,          ,          ,
          ^\        ^,          ,          ,
          ^,           ^ 4      \        \        ^,          ^\        ^,          ,          ,
          ^\        ^,          ,          ,
          ^,           ^4      \        \        ^,          ^\        ^,          ,          ,
          ^\        ^,          ,          ,
          ^,           ^4      .8X  g   Q h\        \        ^,
          \        \        ^4      ,
          ^,          ,          \        \        ,
          ,          \        \        ,           ,          \        RR7      P                  4       \        ^4      \        ^4      \        ^4      \        ) \        .8X  g   Q h\        \        ^,          \        ^,          ,
          \        RR7      P                  4       \        ^4      ^,          \        ^,          ,           \        ^4      ) ^,          \        ^,          ,
          .8X  g   Q hR# )r   Fr$   Tr   NrJ   )r   r   	all_rootsr   r   r   r   r   r)   r*   r+   test_CRootOf_all_rootsr   O  s   1q1'')q!tad{Q"Q$q'!)A+%Q$q'!)A+%q!tad{Q"q!tad{Q".    1q1'''7q!tad{Q"q!tax!|Q/q!tax!|Q/q!tad{Q"q!tad{Q"<    1tAwq!t|#a'd;EEGq!ta1f}qAv%)1-q!ta1f}qAv%)1-q!ta1f}qAv%)1-   147Q&!A#.!A#6TJTTV	!d1gtAwA   1qs
A.88:	!Q1	
1a!A#  r*   c                  F   \        ^\        RR7      p V P                  4        Uu. uF  qP                  ! ^R7      NK  	  ppV F  p\	        V\
        4      '       d   K  Q h	  V Uu. uF  p\        VP                  ^4      4      NK  	  ppV. RO8X  g   Q hR# u upi u upi )   Tr   r   Nr   )r   r   r   eval_rationalrM   r   r   r   )r   r!   r   roots       r+   test_CRootOf_eval_rationalr   u  s    a$'A,-LLN;Nq__r"NE;$)))) )./S_E/    	 < 0s   B'#Bc                  4   \        \        ^,          ^\        ,          ,           ^,           4      p \        P                  ! 4        \        V ^ 4      pVP                  \
        P                  9  g   Q hVP                  \
        P                  9  g   Q hVP                  ! 4        VP                  \
        P                  9   g   Q hVP                  \
        P                  9  g   Q h\        P                  ! 4        \        V ^4      pVP                  \
        P                  9  g   Q hVP                  \
        P                  9  g   Q hVP                  ! 4        VP                  \
        P                  9   g   Q hVP                  \
        P                  9   g   Q h\        \        ^,          ^,
          \        ^,          ^,           ,          4      p \        P                  ! 4        \        V ^ 4      pVP                  \
        P                  9   g   Q hVP                  \
        P                  9  g   Q h\        P                  ! 4        \        V ^4      pVP                  \
        P                  9   g   Q hVP                  \
        P                  9   g   Q hR# rx   )	r   r   r   clear_cacher   r   r   _complexes_cacher   r   s     r+   test_CRootOf_lazyr     s   QTAaCZ!^A 1A66111116655555GGI66[-----6655555 1A66111116655555GGI66[-----66[11111 	adQhA"#A 1A66[-----6655555 1A66[-----66[11111r*   c                     \         ^,          \         ,           ^,           p \        \        \        \        \         ,          4      4      p\	        W4      p\        V\        4      RJ g   Q h\	        V ^,          V4      ^\	        W4      ,          8X  g   Q h\	        \         ^,
          V ^,          ,          V4      \        ^\         ,          4      ^\	        W4      ,          ,           8X  g   Q h\        \	        \         ^,
          V ^,          ,          V4      4      \        \        ^\         ,          4      ^\	        W4      ,          ,           4      8X  g   Q h\        \        R 4       \        \        R 4       \	        V \        4      \	        V \        \         \        \         4      4      4      8X  g   Q h\	        V \        4      \	        V \        \         \        \         4      4      4      8X  g   Q h\        \	        V RR7      \        4      RJ g   Q h\	        V 4      ^ 8X  g   Q h\	        V \        \         \         4      4      ^ 8X  g   Q h\	        V \        \         \         ^,          4      4      R8X  g   Q h\	        V \        \         ^4      4      ^8X  g   Q h\	        V \        \         ^4      4      ^8X  g   Q h\	        V RR7      P                  RJ g   Q h\	        V \        \         ^\         \         ^,          ,           ,          4      4      \        ^^4      8X  g   Q h\	        V \        \         \        \         \         ^,          ,           ,          4      4      \        ^^4      \        ,          8X  g   Q h\	        \         ^,          ^,
          \        \         ^\         ^,          ,          4      \         4      ^8X  g   Q h\	        \         ^,          \        ,
          \        \         ^\         ^,          ,          4      \         4      ^\        ,          8X  g   Q h\	        \         ^,          ^,
          \        \         \        \         ^,          ,          4      \         4      ^\        ,          8X  g   Q h\	        \         ^,          \        ,
          \        \         \        \         ^,          ,          4      \         4      ^\        ,          \        ,          8X  g   Q h\	        \         ^,          ^,
          \        \         \        \         4      4      RR7      \        R	4      \        ^4      ,           8X  g   Q h\	        \         ^,          \        \         ,          ,           \        ^,          ,           \         \         4      \	        \         ^,          \         ,           ^,           \        \         \!        \        \         ,          4      4      4      8X  g   Q h\	        \        ^,          \         ^,          ,          \        \         ,          ,           ^,           \         \         4      \	        \         ^,          \         ,           ^,           \        \         \!        \         \        ,          4      4      4      8X  g   Q hR# )
r;   Tc                  Z    \        \        ^,          \        ,           \        ,           4      # r:   )r   r   r   r)   r*   r+   r,   &test_RootSum___new__.<locals>.<lambda>  s    1q10Er*   c                  @    \        \        ^,          ^,           R 4      # )r>   c                     V # Nr)   )r   s   &r+   r,   8test_RootSum___new__.<locals>.<lambda>.<locals>.<lambda>  s    1r*   )r   r   r)   r*   r+   r,   r     s    wq!tax=r*   F)auto)	quadraticNrK   rJ   )r   r   r!   r   r   rM   hashr   r   rP   r   rQ   r   r   r    r   r   )r_   grj   s      r+   test_RootSum___new__r     s   	1q1Aq#ac(AAa!T)))1a4q...AE1a4<#s1Q3x!GAM/'AAAA Q1a()T#ac(Qwq}_2L-MMMM
&(EF
:=>1c?ga3q6):;;;;1c?ga3q6):;;;;gae,g6$>>>1:??1fQl#q(((1fQ1o&",,,1fQl#q(((1fQl#q(((15!00D8881fQ1q!t8-.(2q/AAA1fQ1q!t8-.(2q/!2CCCC1a4!8VAqAv.2a7771a4!8VAqAv.2ac9991a4!8VAqAv.2ac9991a4!8VAqAv.2ac!e;;;	1q&CF#t58;B#a&8HI I I 1a4!A#:1$c1-1q1fQAaC123 3 31a419qs?Q&Q/1q1fQAaC123 3 3r*   c            
      p   \        \        ^,          \        ,           ^,           \        \        \	        \        4      4      4      P
                  \        4       8X  g   Q h\        \        ^,          \        ,           ^,           \        \        \	        \        \        ,          4      4      4      P
                  \        08X  g   Q h\        \        ^,          \        ,           \        ,           \        \        \	        \        \        ,          4      4      \        4      P
                  \        \        08X  g   Q hR# rx   )	r   r   r   r!   r   rX   rY   r   r   r)   r*   r+   test_RootSum_free_symbolsr     s    1a4!8a<3q6!23@@CEIII1a4!8a<3qs8!45BBqcIII	1q1fQAaC)1..:lq!fE E Er*   c                     \        \        \        \        4      4      p \        \        ^,          \        ,           ^,           V 4      \        \        ^,          \        ,           ^,           V 4      8H  RJ g   Q h\        \        ^,          \        ,           ^,           V 4      \        \        ^,          \        ,           ^,           V 4      8H  RJ g   Q h\        \        ^,          \        ,           ^,           V 4      \        \        ^,          \        ,           ^,           V 4      8H  RJ g   Q h\        \        ^,          \        ,           ^,           V 4      \        \        ^,          \        ,           ^,           V 4      8H  RJ g   Q hR# r\   )r   r   r   r   r   r_   s    r+   test_RootSum___eq__r     s    q#a&AAqD1HqL!$1q1a(@@TIIIAqD1HqL!$1q1a(@@TIIIAqD1HqL!$1q1a(@@UJJJAqD1HqL!$1q1a(@@UJJJr*   c                     \        \        ^,          ^,           \        4      p \        V \         4      RJ g   Q hV P	                  4       \        \
        ) 4      \        \
        4      ,           8X  g   Q h\        \        ^,          \        ,           \        \        4      p \        V \         4      RJ g   Q hV P	                  4       \        \        \        ) 4      ) 4      \        \        \        ) 4      4      ,           8X  g   Q hR# )r>   TN)r   r   r   rM   doitr   r   r   rss    r+   test_RootSum_doitr     s    	A3	Bb'"d***779QB#a&((((	A3	"Bb'"d***779T1"XIT1"X6666r*   c                     \        \        ^,          ^,           \        4      p V P                  ^RR7      P	                  \        R4      4      '       g   Q hV P                  ^RR7      P	                  \        R4      4      '       g   Q h\        \        ^,          \        ,           \        \        4      p V P                  4       V 8X  g   Q hR# )r>   T)r   chopz1.0806046117362794348z1.08060461173628N)r   r   r   r   r   r   r   r   s    r+   test_RootSum_evalfr     s    	A3	B88bt8$//6M0NOOOO88bt8$//6H0IJJJJ	A3	"B88:r*   c                  V   \         ^,          \         ,           ^,           p \        \        \        \        \         ,          4      4      p\        \        \        \        \        \         ,          4      ,          4      p\	        W4      P                  \         4      \	        W4      8X  g   Q hR# rx   )r   r   r!   r   r   r|   )r_   r   hs      r+   test_RootSum_diffr     s`    	1q1Aq#ac(Aq!C!H*A1=a GAM111r*   c                     \         ^,          \         ,           ^,           p \        \        \        \        \         ,          4      4      p\        ^,          \        ,           ^,           p\        \        \        \        \        ,          4      4      p\        W4      P                  \        ^4      \        W4      8X  g   Q h\        W4      P                  \         \        4      \        W#4      8X  g   Q hR# rx   )r   r   r!   r   r   r   ry   )r_   r   FGs       r+   test_RootSum_subsr     s    	1q1Aq#ac(A	1q1Aq#ac(A1=a#wq}4441=a#wq}444r*   c                     \        \        ^,          \        ,
          ^,           \        \        \        \        \        ,
          ,          4      4      ^\        ,          ^,
          \        ^,          \        ,
          ^,           ,          8X  g   Q h^\        ^,          ,          ^s\        ^,          ,          ,           ^\        ,          ,           ^,           p \        \        \        \	        R\        ^,          ,          ^,          R\        ^,          ,          ^,          ,
          R\        ^,          ,          ^,          ,
          \        \        ^}^4      ,          ,
          ^,
          \        \        4      ,           4      ,          4      p\        W4      P                  \        4      ^\        ^\        ,          4      ,          ^\        \        4      ,          ,
          ^,           \        \        4      ,          \        ^\        ,          4      \        ^\        ,          4      ,
          ^,           ,          ) ^,          8X  g   Q hR# )r   i5  iq  Ni)r   r    r   r   r   r   r   r|   )r_   r   s     r+   test_RootSum_rationalr     sm   	1q1fQ1q5	*,01!a!Q$(Q,/GH H H 	AqD3q!t8bd"Q&Aq!Cad
1tAqDy{"SAXaZ/!HS!4D2DDqH3q6QS S 	TA 1=a 	
3qs8aAh		"CF*C!Hs1Q3x,?!,CD%FFG%H H H Hr*   c                  $   \         ^,          \        ,
          ^,          \         ^,          \        ,
          ^,          ,          p \        \         ^\	        \         4      ,          ^,           4      p\        \         \	        \         4      4      p\        \         ^,          \        ,
          V\         4      p\        \         ^,          \        ,
          V\         4      p\        W\         4      P                  4       ^
V,          ^V,          ^~.8X  g   Q hR# rx   )r   r   r   r   r   r   as_ordered_terms)r_   r   r   r   rh   s        r+   test_RootSum_independentr   (  s    	
AAq!tax!m#Aq!CF(Q,Aq#a&A	A1a	 B	A1a	 B1,,.2b5"R%2EEEEr*   c                  >   \        \        ^,          \        ,
          ^,           \        4      P                  4       p \        ^4       Uu. uF,  p\	        \        ^,          \        ,
          ^,           V4      NK.  	  pp\        V 4      \        V4      8X  g   Q hR# u upi )   N)r   r   r   rd   r   	frozenset)l1rk   l2s      r+   test_issue_7876r   4  si    	adQhlA		(	(	*B+08	48a&AAq
!8B	4R=IbM))) 
5s   	2Bc                     \        ^\        ^,          ,          ^	,
          4      p \        V P                  4       4      ^8X  g   Q h\        ^\        ^,          ,          ^
,
          4      p \        V P                  4       4      ^8X  g   Q hR# )   N)r   r   lenr   r   s    r+   test_issue_8316r   :  s`    Qq!tVaZAq{{}"""Qq!tVb[Aq{{}"""r*   c                    a ^ RI Ho V3R lp V ! \        \        ^,          ^
\        ^,          ,          ,           ^,           4      4      ^8X  g   Q hV ! \        \        ^,          4      4      ^ 8X  g   Q hV ! \        ^.^,          R.,           \        4      4      ^ 8X  g   Q hV ! \        \        ^,          ^,           4      4      ^ 8X  g   Q hV ! \        \        ^,          ^,           4      4      ^8X  g   Q hV ! \        \        ^,          ^,
          4      4      ^ 8X  g   Q hV ! \        \        ^,          ^,
          4      4      ^8X  g   Q hV ! \        \        ^,          ^,           4      4      ^ 8X  g   Q hV ! \        . RO\        4      4      ^ 8X  g   Q hV ! \        \        ^,          \        ,           ^,           4      4      ^ 8X  g   Q hV ! \        \        ^,          \        ,           ^,           4      4      ^ 8X  g   Q hR pV ! V! RR^4      4      ^8X  g   Q hV ! V! R^^4      4      ^8X  g   Q hV ! V! ^^^4      4      ^ 8X  g   Q hV ! V! ^^^4      4      ^8X  g   Q hV ! V! R^^4      4      ^8X  g   Q hV ! V! RR^4      4      ^ 8X  g   Q hR# )r#   )_imag_count_of_factorc                 X   < \        V3R  lV P                  4       ^,           4       4      # )c              3   F   <"   T F  w  rS! V4      V,          x  K  	  R # 5ir   r)   ).0r_   mr   s   &  r+   	<genexpr>7test__imag_count.<locals>.imag_count.<locals>.<genexpr>D  s(       37!(+A--s   !)sumfactor_list)r   r   s   &r+   
imag_count$test__imag_count.<locals>.imag_countC  s(     	  	r*   c                     \        \        V ,
          \        V,
          ,          P                  \        \        V,          4      \        4      # r   )r   r   ry   )rh   r2r   s   &&&r+   qtest__imag_count.<locals>.qQ  s-    a"fq2v&,,Q15q99r*   NrJ   )r1   r>   r;   rK   )sympy.polys.rootoftoolsr   r   r   )r   r   r   s     @r+   test__imag_countr   A  s   = d1a4"QT'>A-./1444d1a4j!Q&&&dA3q5B4<+,111d1a4!8n%***d1a4!8n%***d1a4!8n%***d1a4!8n%***d1a4!8n%***d9a()Q...d1a4!8a<()Q...d1a4!8a<()Q...:aBl#q(((aAqk"a'''a1aj!Q&&&a1aj!Q&&&aAqk"a'''aBl#q(((r*   c                     \        \        ^,          ^\        ^,          ,          ,           ^,           ^4      p V P                  ! 4       pV P                  '       d#   VP                  VP
                  ,          ^ 8:  g   Q hR# )r   N)r   r   r   is_imaginaryaxbx)r!   rk   s     r+   test_RootOf_is_imaginaryr   [  sR    q!ta1f}q !$A	A>>>add144i1n,,nr*   c                     \         ^,          ^\         ,          ,           ^,           p \        V ^ 4      P                  4       p\        V ^4      P                  4       pVP                  V4      '       g   Q hVP                  V4      '       g   Q hR# rx   )r   r   r   is_disjoint)rg   iriis      r+   test_is_disjointr  a  si    	
A!aB	A	$	$	&B	A	$	$	&B>>">>"r*   c                    a a \        4       o\        S9   R J g   Q h^S9   R J g   Q h^S\        &   \        S9   g   Q h\        S9   g   Q hS\        ,          ^8X  g   Q h\        \        V3R l4       V3R lo \        \
        V 3R l4       R# )Fc                     < S ^,          # r0   r)   )r   s   r+   r,   $test_pure_key_dict.<locals>.<lambda>q  s	    QqTr*   c                    < ^SV &   R# r   r)   )kr   s   &r+   dont test_pure_key_dict.<locals>.dontr  s    !r*   c                     < S ! ^4      # r0   r)   )r  s   r+   r,   r  t  s	    tAwr*   N)Dr   r   r   KeyErrorrP   )r  r   s   @@r+   test_pure_key_dictr  i  sv    	AFuFuAaD6M66M6Q4199
8\"
:'r*   c                  t  aa \         P                  ! 4        \        ^4       U u. uF3  p \        \        ^,          ^
\        ,          ,           ^,           V 4      NK5  	  up oS U u. uF  q P	                  R4      NK  	  up \        R^4      \        ^R4      \        R,          R,          ,
          \        ^R4      \        R,          R,          ,           .8X  g   Q hS^ ,          P                  4        S U u. uF  q P	                  RR4      NK  	  up \        R^4      \        RR4      \        R,          R,          ,
          \        RR4      \        R,          R,          ,           .8X  g   Q h\        S^ ,          P                  4       P                  4      R8  g   Q h\        S^,          P                  4       P                  4      R8  g   Q h\        S^,          P                  4       P                  4      R8  g   Q h\        S^,          P                  4       P                  4      R8  g   Q h\        S^,          P                  4       P                  4      R8  g   Q hS^ ,          P                  4        S U u. uF  q P	                  RR4      NK  	  up \        RR	4      \        R
R4      \        R,          R,          ,
          \        R
R4      \        R,          R,          ,           .8X  g   Q h\        S^ ,          P                  4       P                  4      R8  g   Q h\        S^,          P                  4       P                  4      R8  g   Q h\        S^,          P                  4       P                  4      R8  g   Q h\        S^,          P                  4       P                  4      R8  g   Q h\        S^,          P                  4       P                  4      R8  g   Q hS^ ,          P                  4        S U u. uF  q P	                  ^R7      NK  	  up \        RR4      \        RR4      \        R,          R,          ,
          \        RR4      \        R,          R,          ,           .8X  g   Q h\        \        S^ ,          P                  4       P                  4      S^ ,          ,          4      R8  g   Q h\        \        S^,          P                  4       P                  4      S^,          ,          4      P                  4       R8  g   Q h\        \        S^,          P                  4       P                  4      S^,          ,          4      P                  4       R8  g   Q h\        \        S^,          P                  4       P                  4      S^,          ,          4      P                  4       R8  g   Q h\        \        S^,          P                  4       P                  4      S^,          ,          4      P                  4       R8  g   Q hS^ ,          P                  4        S U u. uF  q P	                  ^R7      NK  	  up \        RR4      \        RR4      \        R,          R,          ,
          \        RR4      \        R,          R,          ,           .8X  g   Q h\        \        S^ ,          P                  4       P                  4      S^ ,          ,          4      R8  g   Q h\        \        S^,          P                  4       P                  4      S^,          ,          4      P                  4       R8  g   Q h\        \        S^,          P                  4       P                  4      S^,          ,          4      P                  4       R8  g   Q h\        \        S^,          P                  4       P                  4      S^,          ,          4      P                  4       R8  g   Q h\        \        S^,          P                  4       P                  4      S^,          ,          4      P                  4       R8  g   Q hS^ ,          P                  4        S U u. uF  q P                  ^4      NK  	  up oS U u. uF  p \        V 4      NK  	  up . RO8X  g   Q h\         ;QJ d2    VV3R l\        \#        S4      4       4       F  '       d   K   RM'	  RM#! VV3R l\        \#        S4      4       4       4      '       g   Q hR# u up i u up i u up i u up i u up i u up i u up i u up i )r;   g?   i%  g-C6?i  i   iS i   i4N  i  r   iV i3 i    i;e {Gz?i i   i'SgMbP?c              3      <"   T FD  p\        SV,          SV,          ,
          SV,          ,          P                  4       4      R 8  x  KF  	  R# 5i)r  N)r   r   )r   rk   r   ts   & r+   r   ,test_eval_approx_relative.<locals>.<genexpr>  s9     K]sQqTAaD[!A$&))+,t3]s   AAFTNii/i')z-0.10z0.05 - 3.2*Iz0.05 + 3.2*I)r   r   rd   r   r   r   r   r   r   r   dxdyr   r   eval_approxr   allr   )rk   r   r  s    @@r+   test_eval_approx_relativer  w  s   .3Ah7hA1q!	$h7A+,-1aOOD!1-cHR-#c	9SAcE#I%2' ' ' ' aDKKM123AOOD$'3cHT51AfHVOCu&/81 1 1 1 QqT!$$%,,,QqT!$$%,,,QqT!$$%,,,QqT!$$%,,,QqT!$$%,,,aDKKM123AOOD$'3v 66& Hv6&082 2 2 2 QqT!$$%,,,QqT!$$%,,,QqT!$$%,,,QqT!$$%,,,QqT!$$%,,, aDKKM*+,!QOOaO !,'"HVW$='	'@Q$Q!AgIg$5517 7 7 7 q1##%(()!A$./$666q1##%(()!A$./113d:::q1##%(()!A$./113d:::q1##%(()!A$./113d:::q1##%(()!A$./113d:::aDKKM*+,!QOOaO !,'"HWh$?!I+hBV$V(#a	k(&::1< < < < q1##%(()!A$./$666q1##%(()!A$./113d:::q1##%(()!A$./113d:::q1##%(()!A$./113d:::q1##%(()!A$./113d:::aDKKM#$%1aq	1%AAqCFA #1 1 1 13KU3q6]K333KU3q6]KKKKK_ 	8- 4 4 - - 	&s/   9d%d6d=d!d&6d+(d0d5c                      \        \        ^,          \        ,
          ^,           ^ 4      p \        \        \        ^\        34      p\	        \
        W4      '       g   Q hR# r   )r   r   r   r   r   r   )r!   r   s     r+   test_issue_15920r    s?    q!tax!|QAQ1IARr*   c            
         \         ^,          \         ,
          ^,           p \        \        V 4      P                  4       4      R8X  g   Q h\        \        V P	                  \         \        \         4      4      4      P                  4       4      R8X  g   Q h\        \        V P	                  \         \        \        4      4      4      P                  4       4      R8X  g   Q hR# )r;   z[CRootOf(x**3 - x + 1, 0)]N)r   r   r   r   ry   r   r   )rg   s    r+   test_issue_19113r    s    	
AABtBx""$%)EEEEtBGGAs1v&'224 
)* * *tBGGAs1v&'224 
)* * *r*   )V__doc__sympy.polys.polytoolsr   r   r   r   r   r   r   r   r   r
  sympy.polys.polyerrorsr   r	   r
   sympy.core.functionr   r   sympy.core.numbersr   r   r   sympy.core.relationalr   sympy.core.singletonr   &sympy.functions.elementary.exponentialr   r   (sympy.functions.elementary.miscellaneousr   (sympy.functions.elementary.trigonometricr   sympy.integrals.integralsr   sympy.polys.orthopolysr   sympy.solvers.solversr   sympy.testing.pytestr   r   sympy.core.exprr   	sympy.abcr   r   r   r   r    r!   rS   rZ   r]   rm   ro   rs   rv   rz   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r)   r*   r+   <module>r,     s0   F & - -   3 3 3 $ " = 9 8 . 0 ' . % & &Q:hLH;6468I0 X$ X$v	.:#L)2X.3bEK	725	H	F*#)4-( 1L 1Lh*r*   