+
    if                        R t ^ RIHtHtHtHtHt ^ RIHt ^ RI	H
t
HtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtH t H!t!H"t"H#t#H$t$H%t%H&t&H't'H(t(H)t)H*t*H+t+H,t,H-t-H.t. ^ RI/H0t0 ^ RI1H2t2H3t3H4t4H5t5 ^ RI6H7t7 ^ RI8H9t9H:t:H;t;H<t<H=t=H>t>H?t? ^ RI@HAtA ^ R	IBHCtC ^ R
IDHEtE ^ RIFHGtG ^ RIHHItI ^ RIJHKtK ]7! 4        U u. uF  q P                  4       NK  	  up w  tMtNtOtPtQtRtSR tTR tUR tVR tWR tXR tYR tZR t[R t\R t]R t^R t_R t`R taR tbR tcR tdR teR  tfR! tgR" thR# tiR$ tjR% tkR& tlR' tmR( tnR) toR* tpR+ tqR, trR- tsR. ttR/ tuR0 tvR1 twR2 txR3# u up i )4z.Tests for dense recursive polynomials' tools. )
dup_normal
dmp_normaldup_from_raw_dictdmp_convertdmp_swap)dmp_mul_ground)%dup_clear_denomsdmp_clear_denomsdup_integratedmp_integratedmp_integrate_indup_diffdmp_diffdmp_diff_indup_evaldmp_evaldmp_eval_indmp_eval_taildmp_diff_eval_in	dup_trunc	dmp_truncdmp_ground_trunc	dup_monicdmp_ground_monicdup_contentdmp_ground_contentdup_primitivedmp_ground_primitivedup_extractdmp_ground_extractdup_real_imag
dup_mirror	dup_scale	dup_shift	dmp_shiftdup_transformdup_composedmp_composedup_decomposedmp_liftdup_sign_variations
dup_revert
dmp_revert)ANP)MultivariatePolynomialErrorExactQuotientFailedNotReversibleDomainError)f_polys)FFZZQQZZ_IQQ_IEXRR)ring)I)S)sin)x)raisesc                     \        . ^\        4      . 8X  g   Q h\        . ^\        4      . 8X  g   Q h\        \        ^4      .^\        4      \        ^4      \        ^ 4      .8X  g   Q h\        \        ^4      .^\        4      \        ^^4      \        ^ 4      \        ^ 4      .8X  g   Q h\        \        ^4      \        ^4      \        ^4      .^ \        4      \        ^4      \        ^4      \        ^4      .8X  g   Q h\        \        ^4      \        ^4      \        ^4      .^\        4      \        ^^4      \        ^4      \        ^4      \        ^ 4      .8X  g   Q h\        \        ^4      \        ^4      \        ^4      .^\        4      \        ^^4      \        ^^4      \        ^^4      \        ^ 4      \        ^ 4      .8X  g   Q h\        \        ^4      \        ^4      \        ^4      .^\        4      \        ^^<4      \        ^^4      \        ^^4      \        ^ 4      \        ^ 4      \        ^ 4      .8X  g   Q h\        \        ^\        ^4      /\        4      ^\        4      \        ^ \        ^R4      /\        4      8X  g   Q h\        \        ^\        ^4      ^\        ^^4      /\        4      ^\        4      \        ^ \        ^R4      ^\        ^R4      /\        4      8X  g   Q hR# )   i@t  i  N)r
   r5   r        _/var/www/html/photoedit/myenv/lib/python3.14/site-packages/sympy/polys/tests/test_densetools.pytest_dup_integraterE   6   si   Q#r)))Q#r)))"Q%!R(RUBqEN:::"Q%!R(R1Xr!ube,DDDD"Q%A1.26	A1r!u  "Q%A1.26	Aq2a5"Q%A'( ( ("Q%A1.26	ArBq!HbAh1r!u56 6 6"Q%A1.26	ArBq"Ir!QxA1r!u=> > > *B2<<aD2r"e}-r23 3 3 *B22a8+DbI1bQ2r"e}aAs<bAB B BrC   c                     \        \        ^4      .^^ \        4      \        ^^4      \        ^ 4      \        ^ 4      .8X  g   Q h\        . ..^^\        4      . ..8X  g   Q h\        . ..^^\        4      . ..8X  g   Q h\        \        ^4      ...^^\        4      \        ^4      ... ..8X  g   Q h\        \        ^4      ...^^\        4      \        ^^4      ... .. ..8X  g   Q h\        \        ^4      .\        ^4      .\        ^4      ..^ ^\        4      \        ^4      .\        ^4      .\        ^4      ..8X  g   Q h\        \        ^4      .\        ^4      .\        ^4      ..^^\        4      \        ^^4      .\        ^4      .\        ^4      .. .8X  g   Q h\        \        ^4      .\        ^4      .\        ^4      ..^^\        4      \        ^^4      .\        ^^4      .\        ^^4      .. . .8X  g   Q h\        \        ^4      .\        ^4      .\        ^4      ..^^\        4      \        ^^<4      .\        ^^4      .\        ^^4      .. . . .8X  g   Q hR# rA   N)r   r5   rB   rC   rD   test_dmp_integraterH   M   sD   "Q%!Q+1a"Q%A/GGGG2$Ar*tf4442$Ar*tf444BqE7)aB/beWIt3DDDDBqE7)aB/bAhZL2$3MMMM2a5'BqE7RUG4aB?
Q%2a5'BqE7#$ $ $2a5'BqE7RUG4aB?
Q(beWr!ugr*+ + +2a5'BqE7RUG4aB?
Q)r!Qxj2a8*b"56 6 62a5'BqE7RUG4aB?
Q)r!RykBq!H:r2r:; ; ;rC   c                    a  \        \        ^\        \        4      o \	        S ^^^\        4      \        \        \        S ^ ^^\        4      ^^\        4      ^ ^^\        4      8X  g   Q h\	        S ^^^\        4      \        \        \        S ^ ^^\        4      ^^\        4      ^ ^^\        4      8X  g   Q h\	        S ^^^\        4      \        \        \        S ^ ^^\        4      ^^\        4      ^ ^^\        4      8X  g   Q h\	        S ^^^\        4      \        \        \        S ^ ^^\        4      ^^\        4      ^ ^^\        4      8X  g   Q h\        \        V 3R l4       \        \        V 3R l4       R# )   c                  *   < \        S ^R^\        4      # rA   r   r5   fs   rD   <lambda>'test_dmp_integrate_in.<locals>.<lambda>p   s    /1b!R@rC   c                  *   < \        S ^^^\        4      # rA   rN   rO   s   rD   rQ   rR   q   s    /1aB?rC   N)	r   f_6r4   r5   r   r   r   r?   
IndexErrorrO   s   @rD   test_dmp_integrate_inrW   `   si   CB#AAq!Q+(1aAr2Aq"=q!Q	LL L L Aq!Q+(1aAr2Aq"=q!Q	LL L L Aq!Q+(1aAr2Aq"=q!Q	LL L L Aq!Q+(1aAr2Aq"=q!Q	LL L L :@A
:?@rC   c            
         \        . ^\        4      . 8X  g   Q h\        ^.^\        4      . 8X  g   Q h\        ^^.^\        4      ^.8X  g   Q h\        . RO^\        4      ^^.8X  g   Q h\        . RO^\        4      . RO8X  g   Q h\        . RO^\        4      . RO8X  g   Q h\        . RO\        4      p \        V ^ \        4      V 8X  g   Q h\        V ^\        4      . RO8X  g   Q h\        V ^\        4      \        \        V ^\        4      ^\        4      8X  g   Q h\        V ^\        4      \        \        \        V ^\        4      ^\        4      ^\        4      8X  g   Q h\        ^4      p\        . ROV4      p \        V ^V4      \        . R	OV4      8X  g   Q h\        V ^V4      \        . R
OV4      8X  g   Q h\        V ^V4      \        . V4      8X  g   Q h\        V ^ V4      V 8X  g   Q h\        V ^V4      \        \        V ^V4      ^V4      8X  g   Q h\        V ^V4      \        \        \        V ^V4      ^V4      ^V4      8X  g   Q hR# )rA   NrA      rA   )rA   rZ   rJ      )rJ   r[   rJ   rA   rM       r]   rZ   )r[   r]   r]   )   "   8   i   L   r]   r]      rJ      )
   i2  i  i   i|  r]   r]      rJ   )
rZ   r]   rA   r]   r]   rZ   r]   r]   r]   r]   )rA   r]   r]   rZ   r]   r]   r]   )r   r4   r   r3   )rP   Ks     rD   test_dup_diffrj   t   s0   B2"$$$QCB2%%%QFAr"qc)))Iq"%!Q///L!R(I555$a,====rBAAq""""Aq"!NNNNAq"(1a*<a!DDDD	1bhx1b'91bA1bIJ J J 	1A=qAAAq!
+I1 MMMMAq!
+@! DDDDAq!
2q 1111Aq!!!!Aq!!Q):Aq AAAA	1aXhq!Q&7A>1EF F FrC   c                  ,   \        . ^^ \        4      . 8X  g   Q h\        . .^^\        4      . .8X  g   Q h\        . ..^^\        4      . ..8X  g   Q h\        ^.^...^^\        4      . ..8X  g   Q h\        ^... ..^^\        4      ^...8X  g   Q h\        ^..^... ..^^\        4      ^..^...8X  g   Q h\        . RO^^ \        4      \        . RO^\        4      8X  g   Q h\        \        ^ ^\        4      \        8X  g   Q h\        \        ^^\        4      R... ... RO. . . RO... ..R..R... .^.. ^^^ .. .. ...8X  g   Q h\        \        ^^\        4      \        \        \        ^^\        4      ^^\        4      8X  g   Q h\        \        ^^\        4      \        \        \        \        ^^\        4      ^^\        4      ^^\        4      8X  g   Q h\	        ^4      p \        \        ^V 4      p\        V^ ^V 4      V8X  g   Q h\        V^^V 4      \        V^^V 4      8X  g   Q h\        V^^V 4      \        \        V^^V 4      ^^V 4      8X  g   Q h\        V^^V 4      \        \        \        V^^V 4      ^^V 4      ^^V 4      8X  g   Q hR# )rA   i!  Nr\   )   r]   r]   )iyr]   r]   iYi)r   r4   r   rU   r3   r   )ri   F_6s     rD   test_dmp_diffrn      s   B1b!R'''RD!Q#t+++bTFAq"%2$///qcA3ZL!Q+v555qcURDM1a,1#777qcUaSEB4(!Q3!u~EEE$aB/!1b)* * * CAr"c)))CAr"$2$'7$b"l;<vC5'B43%b!Wb1IB4P'R R R R Q2"8CAr#:Aq"EF F FCAr"h#q!R(!Q3Q2'? ? ? ? 	2A
S!Q
CCAq!S(((CAq!Xc1a%;;;;CAq!XhsAq!.DaA%NNNNCAq!X#q!Q'Aq11a&< < < <rC   c                     \        \        ^^^\        4      \        \	        \        \        ^ ^^\        4      ^^\        4      ^ ^^\        4      8X  g   Q h\        \        ^^^\        4      \        \	        \        \        ^ ^^\        4      ^^\        4      ^ ^^\        4      8X  g   Q h\        \        ^^^\        4      \        \	        \        \        ^ ^^\        4      ^^\        4      ^ ^^\        4      8X  g   Q h\        \        ^^^\        4      \        \	        \        \        ^ ^^\        4      ^^\        4      ^ ^^\        4      8X  g   Q h\        \        R 4       \        \        R 4       R# )rZ   c                  0    \        \        ^R^\        4      # rL   r   rU   r4   rB   rC   rD   rQ   "test_dmp_diff_in.<locals>.<lambda>   s    {32q"=rC   c                  0    \        \        ^^^\        4      # rT   rq   rB   rC   rD   rQ   rr      s    {31a<rC   N)r   rU   r4   r   r   r?   rV   rB   rC   rD   test_dmp_diff_inrt      sB   sAq!R((31a4aB?Aq"MN N NsAq!R((31a4aB?Aq"MN N NsAq!R((31a4aB?Aq"MN N NsAq!R((31a4aB?Aq"MN N N :=>
:<=rC   c                      \        . ^\        4      ^ 8X  g   Q h\        ^^.^ \        4      ^8X  g   Q h\        . RO^\        4      ^B8X  g   Q hR# )re   NrA   rZ   rJ   )r   r4   rB   rC   rD   test_dup_evalrw      sK    B2!###QFAr"a'''Iq"%+++rC   c                     \        . ^^ \        4      ^ 8X  g   Q h\        . .^^\        4      . 8X  g   Q h\        . ..^^\        4      . .8X  g   Q h\        ^^..^ ^\        4      ^^.8X  g   Q h\        ^...^^\        4      ^..8X  g   Q h\        ^^...^^\        4      ^^..8X  g   Q h\        ^^.^^..^^\        4      ^
^.8X  g   Q h\        ^^..^^...^^\        4      ^
^..8X  g   Q hR# )rJ   N)r   r4   rB   rC   rD   test_dmp_evalry      s   B1b!Q&&&RD!Q#r)))bTFAq"%"---aVHaB'Aq6111qcUGQ2&A3%///q!fXJ1b)q!fX555aVaV$aB/B7:::q!fXAx(!Q3Qy@@@rC   c                  |   \        \        R^^\        4      \        \	        \        ^ ^^\        4      R^\        4      8X  g   Q h\        \        ^^^\        4      \        \	        \        ^ ^^\        4      ^^\        4      8X  g   Q h\        \        R^^\        4      \	        \        \	        \        ^ ^^\        4      R^\        4      ^ ^^\        4      8X  g   Q h\        \        ^^^\        4      \	        \        \	        \        ^ ^^\        4      ^^\        4      ^ ^^\        4      8X  g   Q h\        ^-4      ... .. .\        R4      .R.. \        ^4      \        ^ 4      \        ^
4      \        ^ 4      ...p \        V R^^\        4      ^-.. . . RO.8X  g   Q h\        \        R 4       \        \        R 4       R# )rZ   c                  B    \        \        \        ^4      R^\        4      # rL   r   rU   r4   rB   rC   rD   rQ   "test_dmp_eval_in.<locals>.<lambda>   s    {31r1bArC   c                  B    \        \        \        ^4      ^^\        4      # rT   r|   rB   rC   rD   rQ   r}      s    {31q!R@rC   NrM   )r   rM   r]   i)r   rU   r4   r   r   intr?   rV   rO   s    rD   test_dmp_eval_inr      s   RAr&xQ1b'A2q"MN N NQ1b%hsAq!R&@!QKL L LsB1b)X#q!Q+RB7Aq".F F F FsAq!R(H#q!Q+Q261a-E E E E r7)rdRDCG9rdBQQRRUVWRX8Y"Z[Aq"aB'
r2'() ) ) :AB
:@ArC   c                  J   \        . .^.^\        4      . 8X  g   Q h\        . ..^.^\        4      . .8X  g   Q h\        . ..^^.^\        4      . 8X  g   Q h\        \        . ^\        4      \        8X  g   Q h\        \        . RO^\        4      R8X  g   Q h\        \        R^.^\        4      . RO8X  g   Q h\        \        ^.^\        4      ^S^.^.. RO.8X  g   Q h\        \        R^.^\        4      . RO8X  g   Q h\        \        R^.^\        4      . R	O8X  g   Q h\        \
        R^.^\        4      . R
O8X  g   Q h\        \        ^R.^\        4      . RO8X  g   Q h\        \        ^R.^\        4      . RO8X  g   Q h\        \        . RO^\        4      . RO8X  g   Q hR# )rA   iJ N)rA   r      )irJ   iO )i.  Q   rA   )ixiS=  i#  ii)ir]   iBi8r]   i)   R   ii8iirM   )
l   o i lfc5ly
?i(l   2c[l   |U78l   XLk^ i )rM   iiiX)r]   rZ   r[   )i  r]   r]   i  )	r   r4   f_0f_1f_2f_3f_4f_5rU   rB   rC   rD   test_dmp_eval_tailr      s   "sAr*b0002$!a,4442$!QB/2555b!R(C///k1b1U:::sAh2.2CCCCqc1b)r1gsL-IIIIsAh2.2MMMMc1Xq"!AB B Bc1Xq"!GH H H b"Xq""\\ \ \ r2h2.2JJJJiB/3EEEErC   c                  V   \        \        ^^^^\        4      \        \	        \        \        ^ ^^\        4      ^^\        4      ^^\        4      8X  g   Q h\        \        ^^^ ^\        4      \        \	        \        ^^\        4      ^^\        4      8X  g   Q h\        \        R 4       R# )rZ   c                  D    \        \        ^\        ^4      ^^\        4      # rT   )r   rU   r4   rB   rC   rD   rQ   'test_dmp_diff_eval_in.<locals>.<lambda>  s    /Q1q!RHrC   N)r   rU   r4   r   r   r   r?   rV   rB   rC   rD   test_dmp_diff_eval_inr     s    CAq!R0(31a4aB?ArJK K K CAq!R0#q!R(!Q34 4 4 :HIrC   c            	         \        ^R4      ) \        ^ 4      \        ^^4      \        ^ 4      \        ^^4      ) \        ^ 4      \        ^4      .p \        ^=R4      \        ^ 4      \        ^^4      \        ^ 4      \        ^^4      \        ^ 4      \        ^4      .p\        V ^\         4      V8X  g   Q h\        \        R 4       R# )rA     c                  L    \        \        ^4      \        ^ 4      .^\        4      # rT   )r+   r5   rB   rC   rD   rQ   !test_dup_revert.<locals>.<lambda>  s    *beRU^Q"CrC   N)r5   r+   r?   r0   rP   gs     rD   test_dup_revertr     s    
Q*beR2Y11ay"Q%AGA	BbeR2Y1r!QxA1FAaB1$$$
=CDrC   c            	         \        ^R4      ) \        ^ 4      \        ^^4      \        ^ 4      \        ^^4      ) \        ^ 4      \        ^4      .p \        ^=R4      \        ^ 4      \        ^^4      \        ^ 4      \        ^^4      \        ^ 4      \        ^4      .p\        V ^^ \         4      V8X  g   Q h\        \        R 4       R# )rA   r   c                  *    \        ^..^^\        4      # rT   )r,   r5   rB   rC   rD   rQ   !test_dmp_revert.<locals>.<lambda>  s    
QC5!Q0KrC   N)r5   r,   r?   r.   r   s     rD   test_dmp_revertr     s    
Q*beR2Y11ay"Q%AGA	BbeR2Y1r!QxA1FAaAr"a'''
&(KLrC   c                     \        . RO\        ^4      \        4      . RO8X  g   Q h\        . RO\        ^4      \        4      . RO8X  g   Q h\        p \        V ! ^4      V ! ^4      V ! ^4      .V ! ^4      V 4      V ! ^4      V ! R4      .8X  g   Q h\        ^4      p\        V! ^4      V! ^4      V! ^4      .V! ^4      V4      V! ^4      V! ^ 4      .8X  g   Q hR# )rA   NrA   rZ   rJ   r[         rM   )rA   rM   r]   rA   rM   r]   )r   r   r[   rJ   rZ   rA   )rM   rA   r]   rM   rA   )r   r4   r6   r3   )Rri   s     rD   test_dup_truncr     s    'A37KKKK'A37HHHHAadAaD!A$'1q1adAbE]BBB
1AadAaD!A$'1q1adAaD\AAArC   c                      \        . .^^.^\        4      . .8X  g   Q h\        ^^.. RO^..^^.^\        4      R.^..8X  g   Q hR# )rA   N)rA   r[   rA   r^   )r   r4   rB   rC   rD   test_dmp_truncr   (  sU    bTAq61b)bT111q!fi!-1vq"=2$LLLrC   c                      \        \        \        ^4      ^\        4      \        . ROR... .. RO. RO^...^\        4      8X  g   Q hR# )rJ   NrM   )rA   rM   r]   )rA   rM   rA   )r   r   r4   r   rB   rC   rD   test_dmp_ground_truncr   -  sO    CA2.2$"
J'DEq"	NN N NrC   c                     \        . RO\        4      . RO8X  g   Q h\        \        R 4       \        . \        4      . 8X  g   Q h\        \	        ^4      .\        4      \	        ^4      .8X  g   Q h\        \	        ^4      \	        ^4      \	        ^4      .\        4      \	        ^4      \	        ^^4      \	        ^4      .8X  g   Q hR# )rJ   c                  &    \        . RO\        4      # )rJ   )rJ   r[   r   )r   r4   rB   rC   rD   rQ    test_dup_monic.<locals>.<lambda>6  s    	)R(@rC   NrJ   r   	   rv   )r   r4   r?   r/   r5   rB   rC   rD   test_dup_monicr   3  s    Y#y000
 @AR"""beWb!beW,,,beRUBrF+R0RUBq!Hbe4LLLLrC   c                     \        . RO^ \        4      . RO8X  g   Q h\        ^.^.^	..^\        4      ^.^.^..8X  g   Q h\        \        R 4       \        . .^\        4      . .8X  g   Q h\        \	        ^4      ..^\        4      \	        ^4      ..8X  g   Q h\        \	        ^4      .\	        ^4      .\	        ^4      ..^\        4      \	        ^4      .\	        ^^4      .\	        ^4      ..8X  g   Q hR# )rJ   c                  0    \        ^.^.^..^\        4      # )rJ   )r   r4   rB   rC   rD   rQ   'test_dmp_ground_monic.<locals>.<lambda>C  s    %5sQC!oq"%MrC   Nr   rv   )r   r4   r?   r/   r5   rB   rC   rD   test_dmp_ground_monicr   =  s    Iq"-:::aS1#sOQ3aS1#FFF
MO RD!R(RD000beWIq"-2a5':::
Q%2a5'BrF8$a-24Q%2a8*r!ug0NO O OrC   c                     \        . \        4      \        ^ 4      8X  g   Q h\        ^.\        4      \        ^4      8X  g   Q h\        R.\        4      \        ^4      8X  g   Q h\        ^^.\        4      \        ^4      8X  g   Q h\        ^^.\        4      \        ^4      8X  g   Q h\        . RO\        4      \        ^4      8X  g   Q h\        . RO\        4      \        ^4      8X  g   Q h\        \        ^^4      \        ^^	4      .\        4      \        ^^	4      8X  g   Q h\        \        ^^4      \        ^^4      .\        4      \        ^^4      8X  g   Q hR# )r]   NrM   rY   )rZ   r[   rZ   )r   r4   r5   rB   rC   rD   test_dup_contentr   K  s   r2"Q%'''sB2a5(((tR BqE)))1vr"be+++1vr"be+++y"%A...y"%A...1a"Q(+R0Bq!H<<<1a"Q(+R0Bq"I===rC   c                     \        . .^\        4      \        ^ 4      8X  g   Q h\        . .^\        4      \        ^ 4      8X  g   Q h\        ^..^\        4      \        ^4      8X  g   Q h\        R..^\        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      ..^\        4      \        ^^	4      8X  g   Q h\        \        ^^4      .\        ^^4      ..^\        4      \        ^^4      8X  g   Q h\        \        ^\        4      \        ^4      8X  g   Q h\        \	        \        \        ^4      ^\        4      ^\        4      \        ^4      8X  g   Q h\        \
        ^\        4      \        ^4      8X  g   Q h\        \	        \
        \        ^4      ^\        4      ^\        4      \        ^4      8X  g   Q h\        \        ^\        4      \        ^4      8X  g   Q h\        \	        \        \        ^4      ^\        4      ^\        4      \        ^4      8X  g   Q h\        \        ^\        4      \        ^4      8X  g   Q h\        \	        \        \        ^4      ^\        4      ^\        4      \        ^4      8X  g   Q h\        \        ^\        4      \        ^4      8X  g   Q h\        \	        \        \        ^4      ^\        4      ^\        4      \        ^4      8X  g   Q h\        \        ^\        4      \        ^4      8X  g   Q h\        \	        \        \        ^4      ^\        4      ^\        4      \        ^4      8X  g   Q h\        \        ^\        4      \        ^4      8X  g   Q h\        \	        \        \        ^4      ^\        4      ^\        4      \        ^4      8X  g   Q hR# )rA   NrM   )r   r4   r5   r   r   r   r   r   r   r   rU   rB   rC   rD   test_dmp_ground_contentr   X  s   rdAr*be333rdAr*be333seQ+r!u444tfa,1555sQCj!R0BqE999sQCj!R0BqE999sQC!oq"5A>>>sQC!oq"5A>>>1azBq!H:62>"Q(JJJ1azBq!H:62>"Q)KKKc1b)RU222sBqE1b)1b257U; ; ; c1b)RU222sBqE1b)1b257U; ; ; c1b)RU222sBqE1b)1b257U; ; ; c1b)RU222sBqE1b)1b257U; ; ; c1b)RU222sBqE1b)1b257U; ; ; c1b)RU222sBqE1b)1b257U; ; ; c1b)RU222sBqE1b)1b257U; ; ;rC   c                     \        . \        4      \        ^ 4      . 38X  g   Q h\        \        ^4      .\        4      \        ^4      \        ^4      .38X  g   Q h\        \        ^4      \        ^4      .\        4      \        ^4      \        ^4      \        ^4      .38X  g   Q h\        \        ^4      \        ^4      .\        4      \        ^4      \        ^4      \        ^4      .38X  g   Q h\        \        ^4      \        ^4      \        ^4      .\        4      \        ^4      \        ^4      \        ^4      \        ^4      .38X  g   Q h\        \        ^4      \        ^4      \        ^4      .\        4      \        ^4      \        ^4      \        ^4      \        ^4      .38X  g   Q h\        . \        4      \        ^ 4      . 38X  g   Q h\        \        ^4      .\        4      \        ^4      \        ^4      .38X  g   Q h\        \        ^4      \        ^4      .\        4      \        ^4      \        ^4      \        ^4      .38X  g   Q h\        \        ^4      \        ^4      .\        4      \        ^4      \        ^4      \        ^4      .38X  g   Q h\        \        ^4      \        ^4      \        ^4      .\        4      \        ^4      \        ^4      \        ^4      \        ^4      .38X  g   Q h\        \        ^4      \        ^4      \        ^4      .\        4      \        ^4      \        ^4      \        ^4      \        ^4      .38X  g   Q h\        \        ^^4      \        ^^	4      .\        4      \        ^^	4      \        ^4      \        ^4      .38X  g   Q h\        \        ^^4      \        ^^4      .\        4      \        ^^4      \        ^4      \        ^4      .38X  g   Q hR# )r]   N)r   r4   r5   rB   rC   rD   test_dup_primitiver     sD   R RUBK///"Q%"%"Q%"Q%)9999"Q%A,AA10GGGG"Q%A,AA10GGGG	A1r!ur#')!ur!ubeRU.C&DE E E	A1r!ur#')!ur!ubeRU.C&DE E E R RUBK///"Q%"%"Q%"Q%)9999"Q%A,AA10GGGG"Q%A,AA10GGGG	A1r!ur#')!ur!ubeRU.C&DE E E	A1r!ur#')!ur!ubeRU.C&DE E E 	Aq2a8b"&(AhA1%?@ @ @	Aq2a8b"&(Bi"Q%A%@A A ArC   c                     \        \        ^4      .^ \        4      \        ^4      \        ^4      .38X  g   Q h\        . .^\        4      \        ^ 4      . .38X  g   Q h\        \        ^\        4      \        ^4      \        38X  g   Q h\        \        \        \        ^4      ^\        4      ^\        4      \        ^4      \        38X  g   Q h\        \        ^\        4      \        ^4      \        38X  g   Q h\        \        \        \        ^4      ^\        4      ^\        4      \        ^4      \        38X  g   Q h\        \
        ^\        4      \        ^4      \
        38X  g   Q h\        \        \
        \        ^4      ^\        4      ^\        4      \        ^4      \
        38X  g   Q h\        \        ^\        4      \        ^4      \        38X  g   Q h\        \        \        \        ^4      ^\        4      ^\        4      \        ^4      \        38X  g   Q h\        \        ^\        4      \        ^4      \        38X  g   Q h\        \        \        \        ^4      ^\        4      ^\        4      \        ^4      \        38X  g   Q h\        \        ^\        4      \        ^4      \        38X  g   Q h\        \        \        \        ^4      ^\        4      ^\        4      \        ^4      \        38X  g   Q h\        \        ^\        4      \        ^4      \        38X  g   Q h\        \        \        \        ^4      ^\        4      ^\        4      \        ^4      \        38X  g   Q h\        \        ^4      ..^\        4      \        ^4      \        ^4      ..38X  g   Q h\        \        ^4      ..^\        4      \        ^4      \        ^4      ..38X  g   Q h\        \        ^^4      .\        ^^	4      ..^\        4      \        ^^	4      \        ^4      .\        ^4      ..38X  g   Q h\        \        ^^4      .\        ^^4      ..^\        4      \        ^^4      \        ^4      .\        ^4      ..38X  g   Q hR# rG   )r   r4   r   r   r   r   r   r   r   rU   r5   rB   rC   rD   test_dmp_ground_primitiver     s   AB/BqEBqE73CCCCa,A===Q+1s|;;;sBqE1b)1b268eS\B B B  Q+1s|;;;sBqE1b)1b268eS\B B B  Q+1s|;;;sBqE1b)1b268eS\B B B  Q+1s|;;;sBqE1b)1b268eS\B B B  Q+1s|;;;sBqE1b)1b268eS\B B B  Q+1s|;;;sBqE1b)1b268eS\B B B  Q+1s|;;;sBqE1b)1b268eS\B B B  "Q%	1b1ber!ugY5GGGG"Q%	1b1ber!ugY5GGGG
Q(bAhZ !R)-/1XA"Q%7I,JK K K
Q(bAhZ !R)-/2Y"Q%2a5'8J,KL L LrC   c                      \        . RO\        4      p \        . RO\        4      p\        . RO\        4      p\        . RO\        4      p\        W\        4      RW#38X  g   Q hR# ) ,   N)r   r]   ! r]   b r]   r   ) Vr]    + r]   ` r]   )@   r]   0   r]   rd   r]   rA   )  r]      r]   rh   r]   )r   r4   r   rP   r   FGs       rD   test_dup_extractr     sO    =rBA8"=A+R0A*B/AqR UAM111rC   c            	         \        R .. R.. R.. R..^\        4      p \        R.. R.. R.. .^\        4      p\        ^@.. ^0.. ^.. ^..^\        4      p\        R.. ^.. ^.. .^\        4      p\        W^\        4      RW#38X  g   Q hR# )	r   r   r   r   r   r   r   r   N)r   r4   r   r   s       rD   test_dmp_ground_extractr     s    
B	2xeW=q"	FAXJWIrG9bA1bIARD"rdBb1#62>ASE2ub2$3Q;AaAr*uam;;;rC   c            
         \        . \        4      . .. .38X  g   Q h\        ^.\        4      ^... .38X  g   Q h\        ^^.\        4      ^.^..^^ ..38X  g   Q h\        ^^.\        4      ^.^..^^ ..38X  g   Q h\        . RO\        4      ^.^.. RO.^^ .^^ ..38X  g   Q h\        \        ^4      \        ^ 4      \        ^4      \        ^4      .\        4      \        ^4      .. \        R4      \        ^ 4      \        ^4      .\        ^4      ..\        ^4      \        ^ 4      .. \        R4      \        ^ 4      \        ^4      \        ^ 4      ..38X  g   Q h\        \        R 4       R# )rA   c                  J    \        \        ^4      \        ^4      .\        4      # rT   )r    r8   rB   rC   rD   rQ   $test_dup_real_imag.<locals>.<lambda>  s    r!ubenb ArC   Nrv   rM   )rM   r]   rJ   r^   )r    r4   r?   r1   rB   rC   rD   test_dup_real_imagr     sw   R bTB4L000!b!sebT]222!Q$1#sq!fX(>>>>!Q$1#sq!fX(>>>>2C!j1QFQF3CDE E E "Q%A1r!u5r:
Q%"r"vr!ube,r!ug6
Q%AbfbeRUBqE:;?   
 ;ABrC   c                      \        . \        4      . 8X  g   Q h\        ^.\        4      ^.8X  g   Q h\        . RO\        4      . RO8X  g   Q h\        . RO\        4      . RO8X  g   Q hR# )rA   NrA   rZ   rJ   r[   r   rA   r   rJ   r   r   r   )rM   rZ   r^   r[   r   )r!   r4   rB   rC   rD   test_dup_mirrorr     s]    b"###qc21#%%%or*.????("-1FFFFrC   c                      \        . R\        4      . 8X  g   Q h\        ^.R\        4      ^.8X  g   Q h\        . ROR\        4      . RO8X  g   Q h\        . ROR\        4      . RO8X  g   Q hR# )rA   NrM   r   r   i)ia	  iR   ir   )r"   r4   rB   rC   rD   test_dup_scaler     sd    RR B&&&aS"b!aS(((_b"-1BBBB_b"-1JJJJrC   c                      \        . ^\        4      . 8X  g   Q h\        ^.^\        4      ^.8X  g   Q h\        . RO^\        4      . RO8X  g   Q h\        . RO^\        4      . RO8X  g   Q hR# )rA   Nr   )rA   r         r   )rA      iS  i  i  )r#   r4   rB   rC   rD   test_dup_shiftr     sd    RB2%%%aS!R QC'''_a,0BBBB_a,0HHHHrC   c                     \        \        ^4      \        ^4      .\        ^4      .^ \        4      \        ^4      \        ^4      .8X  g   Q h\        . .\        ^4      \        ^4      .^\        4      . .8X  g   Q h\        ^4      \        ^ 4      .. .p \        ^4      \        ^4      .\        ^4      \        ^4      ..p\        V \        ^4      \        ^4      .^\        4      V8X  g   Q hR# rG   )r$   r4   )xyx1y2s     rD   test_dmp_shiftr     s    beRU^beWa4A1FFFbTBqE2a5>1b1bT999a5"Q%."	BUBqENRUBqEN+DR"Q%AB/4777rC   c                      \        . . ^^.\        4      . 8X  g   Q h\        . ^.^^.\        4      . 8X  g   Q h\        . ^^.^^.\        4      . 8X  g   Q h\        . RO. RO^R.\        4      . RO8X  g   Q hR# )rA   Nr^   )r   r   r[   r^   r_   )rA   r^   r[   )	r   ii  ici  iMi'C  ii  )r%   r4   rB   rC   rD   test_dup_transformr     s    R!Q,222aS1a&"-333aVaVR0B666+Z!R"E?@ @ @rC   c                  ^   \        . . \        4      . 8X  g   Q h\        . ^.\        4      . 8X  g   Q h\        . ^^.\        4      . 8X  g   Q h\        ^.. \        4      ^.8X  g   Q h\        . RO. \        4      . 8X  g   Q h\        . RO. \        4      ^.8X  g   Q h\        . RO^.\        4      ^.8X  g   Q h\        . RO^.\        4      ^@.8X  g   Q h\        . RO^R.\        4      . RO8X  g   Q h\        . RO^^.\        4      . RO8X  g   Q h\        . RO. RO\        4      . RO8X  g   Q hR# )rA   N)rA   rZ   r]   rY   rM   rA   r]   r]   )rA   r[   r[   rA   r[   r   r   r[   )r&   r4   rB   rC   rD   test_dup_composer     s   r2r"b(((rA3#r)))rAq62&",,,sB#s***y"b)R///y"b)aS000y1#r*qc111y1#r*rd222y1b'2.);;;y1a&"-:::y)R0OCCCrC   c                  T   \        . RO. RO^ \        4      . RO8X  g   Q h\        . ... ..^\        4      . ..8X  g   Q h\        . ..^...^\        4      . ..8X  g   Q h\        . ..^..^...^\        4      . ..8X  g   Q h\        ^.... ^\        4      ^...8X  g   Q h\        ^.^.. .. .^\        4      . .8X  g   Q h\        ^.^.^... .^\        4      ^..8X  g   Q h\        ^.^.^..^..^\        4      ^..8X  g   Q h\        ^.^.^..^..^\        4      ^@..8X  g   Q h\        ^.^.^..^.R..^\        4      ^.. . .8X  g   Q h\        ^.^.^..^.^..^\        4      ^.^.^..8X  g   Q h\        ^.^.^..^.^.^..^\        4      ^.^.^.^.^..8X  g   Q hR# )rA   NrY   r   rM   )r'   r4   rB   rC   rD   test_dmp_composer   *  s&   y)Q3FFFvvq"-2$777v!w2.B4&888v!u~q"52$???!wAr*ug555aS#a4<<<aS1#a4!===aS1#!q"51#>>>aS1#!q"52$???aS1#!rdQ;S#NNNaS1#!dQ;aS1#NNN
qcA31#sQC!R167S1#sQC!4MN N NrC   c                  ,   \        ^.\        4      ^..8X  g   Q h\        ^^ .\        4      ^^ ..8X  g   Q h\        . R
O\        4      . R
O.8X  g   Q h\        . RO\        4      . RO. RO.8X  g   Q h\        . RO\        4      . R
O. RO.8X  g   Q h\        . RO\        4      . RO. RO.8X  g   Q h\        . RO\        4      . RO. RO.8X  g   Q h. ROp \        V \        4      . RO. RO.8X  g   Q h. ROp \        V \        4      . RO. RO.8X  g   Q h. ROp \        V \        4      . RO. RO.8X  g   Q h\        R\        4      w  r^V^,          ,          ^*,
          ^0V^,          ,          ^`,           ^V^,          ,          RV,          ,           R,           RV^,          ,          RV,          ,           R,           ^lV^,          ,          RV^,          ,          ,           RV,          ,           ^,           .p \        WP                  4       4      V .8X  g   Q hR	# )rA   ti  i   ip  i`  r   i8  i  N)rA   r]   r]   r]   )rA   r]   r]   r]   r]   r   )rA   r]   r]   r]   r]   r]   r]   )re   r]   r]   r]   rA   )re   r]   rA   )r[   r]   rJ   r]   rZ   )r[   rJ   rZ   )rA   r]   r   r]      r]   i  r]   iq  r   r]   ir   )rA   r]   r]   r   r   )rA   r]   r   r]   )rZ   r]   (   r]   i,  r]   i  r]   i  r   r]   i   )rZ   r]   r]   r   r   )rA   r]   r   r   ii  iia  iiX  iV   )rA   r   rh   ir   )r(   r4   r:   	to_domain)rP   r   r   s      rD   test_dup_decomposer   @  s   !b!qcU***!Q$!Q000r*|n<<<"-)Y1GGGGr#'3Y&?@ @ @ "-)Y1GGGG"-)Y1GGGG9AB$4l#CCCC<AB$5|#DDDDGAB$8,#GGGGR=DA	
1a4"	AqD2	QTCE	C		QTCE	C		QTC1H	s1u	$s	*		,A KKM*qc111rC   c                     \        ^^4      \        ^ ^4      \        ^^4      .p \        \        ^^4      .V \         4      \        . V \         4      \        . V \         4      \        \        ^^4      \        ^ ^4      .V \         4      \        \        ^^4      \        ^ ^4      .V \         4      .p\         P                  ! . RO4      p\        V^ \         P                  ! \
        4      4      V8X  g   Q h\        ^4      \        ^ 4      \        ^ 4      \        ^ ^4      \        ^ ^4      .p\        V^ \        4      V8X  g   Q h\        \        R 4       R# )rA   c                  L    \        \        ^4      \        ^4      .^ \        4      # rT   )r)   r8   rB   rC   rD   rQ   test_dmp_lift.<locals>.<lambda>q  s    "Q%AB ?rC   N)	rA   r]   r]   r]   r]   r]   rA   r`   i!  )	r5   r-   mapr)   algebraic_fieldr;   r7   r?   r1   )qf_af_liftf_gs       rD   test_dmp_liftr   c  s   	Aq2a8R1X&A1az1b!3r1b>3r1b>	bAh1a!1b	)32q	2a8/Da+LNC VV23FCB..q12f<<<7DGT!Wd1aj$q"+
>CCD!V+++
;?@rC   c                     \        . \        4      ^ 8X  g   Q h\        ^^ .\        4      ^ 8X  g   Q h\        . RO\        4      ^ 8X  g   Q h\        . RO\        4      ^ 8X  g   Q h\        . RO\        4      ^ 8X  g   Q h\        . RO\        4      ^8X  g   Q h\        . RO\        4      ^8X  g   Q h\        . RO\        4      ^8X  g   Q h\        . RO\        4      ^ 8X  g   Q h\        . R	O\        4      ^8X  g   Q h\        . R
O\        4      ^8X  g   Q h\        . RO\        4      ^8X  g   Q h\        . RO\        4      ^8X  g   Q h\        . RO\        4      ^8X  g   Q h\        . RO\        4      ^8X  g   Q h\        . RO\        4      ^ 8X  g   Q h\        . RO\        4      ^ 8X  g   Q h\        . RO\        4      ^8X  g   Q h\        . RO\        4      ^8X  g   Q h\        . RO\        4      ^8X  g   Q h\        . RO\        4      ^8X  g   Q h\        . RO\        4      ^8X  g   Q h\        . RO\        4      ^8X  g   Q h\        . RO\        4      ^ 8X  g   Q hR# )r]   N)rA   r]   rZ   )rA   r]   rJ   r]   )rA   r]   r[   r]   r   )rM   r]   rZ   )rM   r]   rJ   r]   )rM   r]   r[   r]   r   )rM   r   r   )rA   r   r   )rA   r[   r   )rA   r   r   )rM   r[   r   )rM   r[   r   )rM   r   r   )rA   r[   r   )rM   r]   r   r]   r   )rA   r]   r   r]   r   )rA   r]   r[   r]   r   )rA   r]   r   r]   r   )rM   r]   r[   r]   r   )rM   r]   r   r]   r   )r*   r4   rB   rC   rD   test_dup_sign_variationsr   t  s   r2&!+++1vr*a///y"-222|R0A5553q888z2.!333}b1Q666/4999|R0A555|R0A555{B/1444{B/1444{B/1444z2.!333{B/1444z2.!333126!;;;126!;;;0"5:::0"5:::0"5:::/49990"5:::/4999rC   c                  .   \        . \        \        4      \        ^4      . 38X  g   Q h\        \        ^4      .\        \        4      \        ^4      \        ^4      .38X  g   Q h\        \        ^4      .\        \        4      \        ^4      \        ^4      .38X  g   Q h\        \        ^^4      .\        4      \        ^4      \        ^4      .38X  g   Q h\        \        ^^4      .\        \        4      \        ^4      \        ^4      .38X  g   Q h\        \        ^4      \        ^4      \        ^ 4      .\        \        4      \        ^4      \        ^4      \        ^4      \        ^ 4      .38X  g   Q h\        \        ^4      \        ^^4      \        ^ 4      .\        \        4      \        ^4      \        ^4      \        ^4      \        ^ 4      .38X  g   Q h\        \        ^4      \        ^4      \        ^ 4      .\        \        RR7      \        ^4      \        ^4      \        ^4      \        ^ 4      .38X  g   Q h\        \        ^4      \        ^^4      \        ^ 4      .\        \        RR7      \        ^4      \        ^4      \        ^4      \        ^ 4      .38X  g   Q h\        \        \	        ^4      ^,          4      \        \	        ^	4      ^,          4      .\        4      \        ^4      \        ^4      \        ^	4      .38X  g   Q h\        \        ^4      .\        4      \        ^4      \        ^4      .38X  g   Q h\        \        \        \        4      \        ,          4      \        ^ 4      .\        4      \        \        4      \        \        \        4      4      \        ^ 4      .38X  g   Q h\        P                  ! \        4      p \        V ! RR\        ,          R,           ,          4      V ! R4      .V 4      p\        V4      R8X  g   Q hR# )	rA   TconvertgE/Xn @gjq @gp=
ף@g        z0(x + 0.353356890459364, [1.05971731448763, 0.0])N)
r   r5   r4   r8   r<   r=   r>   r9   
frac_fieldstr)r   results     rD   test_dup_clear_denomsr    sF   BB'BqE2;666RUGR,AA0@@@@RUGR,AA0@@@@R1XJ+11w/????R1XJB/BqEBqE73CCCC	A1r!ur2'+-a52a5"Q%A2G*HI I I	A1a"Q% "b*.0ebeRUBqE5J-KL L L RUB	%qED*.0ebeRUBqE5J-KL L LRUB	1%!u2t-13AA1r!u8M0NO O O 	AaDFR!QZ "&*,Q%"Q%A)@A A A RUGR(RURUG,<<<<RAq\2a51262a52c!f:rRSuBU:VVVV
aAq&(T/!:;QsVDaHFv;LLLLrC   c                     \        . .^\        \        4      \        ^4      . .38X  g   Q h\        \        ^4      ..^\        \        4      \        ^4      \        ^4      ..38X  g   Q h\        \        ^4      ..^\        \        4      \        ^4      \        ^4      ..38X  g   Q h\        \        ^^4      ..^\        4      \        ^4      \        ^4      ..38X  g   Q h\        \        ^^4      ..^\        \        4      \        ^4      \        ^4      ..38X  g   Q h\        \        ^4      .\        ^4      .. .^\        \        4      \        ^4      \        ^4      .\        ^4      .. .38X  g   Q h\        \        ^4      .\        ^^4      .. .^\        \        4      \        ^4      \        ^4      .\        ^4      .. .38X  g   Q h\        \        ^4      \        ^4      \        ^ 4      .^ \        \        RR7      \        ^4      \        ^4      \        ^4      \        ^ 4      .38X  g   Q h\        \        ^4      \        ^^4      \        ^ 4      .^ \        \        RR7      \        ^4      \        ^4      \        ^4      \        ^ 4      .38X  g   Q h\        \        ^4      .\        ^4      .. .^\        \        RR7      \        ^4      \        ^4      .\        ^4      .. .38X  g   Q h\        \        ^4      .\        ^^4      .. .^\        \        RR7      \        ^4      \        ^4      .\        ^4      .. .38X  g   Q h\        \        \	        ^4      ^,          4      .\        \	        ^	4      ^,          4      ..^\        4      \        ^4      \        ^4      .\        ^	4      ..38X  g   Q h\        \        ^4      ..^\        4      \        ^4      \        ^4      ..38X  g   Q h\        \        \        \        4      \        ,          4      \        ^ 4      ..^\        4      \        \        4      \        \        \        4      4      \        ^ 4      ..38X  g   Q hR# )rA   Tr  N)r	   r5   r4   r8   r<   r=   r>   rB   rC   rD   test_dmp_clear_denomsr    s   RD!R,A===beWIq"b1ber!ugY5GGGGbeWIq"b1ber!ugY5GGGGbAhZL!R0RUbeWI4FFFFbAhZL!R4A"Q%	8JJJJ
Q%2a5'22r+/1!u1wA6L.MN N Nb	 AhZR)-/UbeWr!ugr4J,KL L L RUB	%qEr2t-13AA1r!u8M0NO O ORUBq!Hb	/ B&*,Q%"Q%A11F)GH H H beWr	( 'RT+/1!u1wA6L.MN N NbeWr!Qxj"5q"b$(*.0er!ug1w5K-LM M M 
QqT!V*1Q46
|$a-13A"Q%2a5'8J0KL L LbeWIq"-"Q%2a5'1CCCCbQlBqE23Q;1CPQFUWXYUZH[G\?]]]]rC   N)y__doc__sympy.polys.densebasicr   r   r   r   r   sympy.polys.densearithr   sympy.polys.densetoolsr   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%   r&   r'   r(   r)   r*   r+   r,   sympy.polys.polyclassesr-   sympy.polys.polyerrorsr.   r/   r0   r1   sympy.polys.specialpolysr2   sympy.polys.domainsr3   r4   r5   r6   r7   r8   r9   sympy.polys.ringsr:   sympy.core.numbersr;   sympy.core.singletonr<   (sympy.functions.elementary.trigonometricr=   	sympy.abcr>   sympy.testing.pytestr?   to_denser   r   r   r   r   r   rU   rE   rH   rW   rj   rn   rt   rw   ry   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  rO   s   0rD   <module>r     s   4  2         ( (  - > > > "   " 8  '<CI$GIqjjlI$G !S#sCcB.;&A(F:<B>,AB&F4JEMBM
NMO
>';TA2'LT2<C&GKI8@D$N, 2FA":<M:^w %Hs   <E