
    sg                        d dl mZ d dlmZmZmZmZ d dlmZ d dl	m
Z
mZ d dlmZ d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZmZ d dlmZ d dlmZ d dlmZmZ d dl m!Z! ed        Z"d Z#d Z$d Z%d Z&e!d        Z'd Z(d Z)d Z*d Z+d Z,y)    )nfloat)FloatIRationalpi)Eq)Symbolsymbols)sqrt)	Piecewise)sin)Integral)Matrix)mnormmpf)nsolve)lambdify)raisesXFAIL)conserve_mpmath_dpsc                  |    t        d      } t        | dz  d| z
  z  dd| z  z
  dz  z  dz
  | d      }|dkD  r|dk  sJ y )Nx      d   r   gq=
ףp?gGz?r
   r   r   anss     S/var/www/html/venv/lib/python3.12/site-packages/sympy/solvers/tests/test_numeric.pytest_nsolve_failr       sR    A Aq1uq1Q3wl*S0!Q
7C:#*$$*    c                  d    t        d      } t        | dz  d| z  z   dz   | dz   z  d      }|dk(  sJ y )Nr   r      g g      r   r   s     r   test_nsolve_denominatorr$      s<    A
!Q$1*q.1q5)4
0C$;;r!   c                    	
 t        d      
t        t        
      d      t        j                         z
  dk  sJ t        t        d
z  d      
d      t        d
z  dz
  d      k(  sJ t        t        
fd       t        t        
fd       t        d      } t        d      }d	| dz  z  d|dz  z  z
  d
z
  }| dz  d| z  z
  |dz  z   d|z  z   dz
  }t        ||f      j                  	t        | |f	j                  d      dD ]'  }t        	| |f|d      
t         
 d
      dk  r'J  t        d      
t        d      t        d      
 dz  z   }
dz  
dz  dz
  z  z   dz  z
  
dz   z  }t        
dz  dz  z         z  }t        |||f      j                  	t        
f	j                  d      	
fd}t        t        t         |d                  g dk(  sJ t        t        |d      t        |d      t        |d      g
gd      sJ t        d      }t!        t        d
d|z   d	z  z  dd|z
  d	z  z  z
  |d      t#        d      z
        dk  sJ y )Nr   r   gV瞯<ic                  4    t        t        d z  d            S )Nr   r   r   r   s   r   <lambda>ztest_nsolve.<locals>.<lambda>'   s    fR!QZ0 r!   c                  :    t        t        d z  d       dd      S )Nr   r   r'   r(   s   r   r)   ztest_nsolve.<locals>.<lambda>(   s    fR!QZAq9 r!   x1x2r#   r      mpmath)modules))r   )r   )   r2   )r3   :0yE>)tolg|=yzr2   c                 P    t        f|       }t         | d      dk  sJ |S )Nr   r4   )r   r   )x0rootFfr   r6   r7   s     r   getrootztest_nsolve.<locals>.getroot>   s5    a!QB'QXq!U***r!   )r   r   r   )r   r   r   r   agMbP?   g?g333333?z0.31883011387318591)r	   r   r   r   evalfr   r   	TypeErrorr   Tr   r   r   listmaproundabsr   )r+   r,   f1f2r9   f3r=   r>   r;   r<   r   r6   r7   s           @@@@@r   test_nsolverJ   !   s   sA#a&!rxxz)E111"QqS!*a%!a)====
901
99:	B	B	
RUQQY		"B	QR"a%	!b&	(1	,BBxA"b1331A2 )1r2h.QUA&((()
 	sAsAsA
acB
Q$AqD1H
!
#A	.B	adQTk	1	BB|A!QACC2A  E79-./9<<<2
A2q	2b!9&()1ay)= = =sAvaQ&C!Ga<7C@!"# $&+, , ,r!   c                  f    t        d      } t        t        | | dk  f| dz  df      | d      dk(  sJ y )Nr   r   r   T        )r	   r   r   r(   s    r   test_issue_6408rM   J   s9    sA)QAJAt5q!<CCCr!   c                  d    t        d      \  } }t        t        | |z  | ddf      |d      dk(  sJ y )Nx yr      r   rL   )r
   r   r   r   r6   s     r   test_issue_6408_integralrR   O   s7    5>DAq(1Q3Aq	*Aq1S888r!   c                      dd l } d| j                  _        t        d      }|dz  t        z
  }t        ||d      }t        t        t              j                  d      |z
        dk  sJ y )Nr      r   r         @睗[%)	r.   mpdpsr	   r   r   rF   r   r@   )r.   r   e1qs       r   test_increased_dpsr[   T   s[     FIIMsA	
ABr1cAtBx~~c"Q&'&000r!   c                  b   t        d      \  } }t        | dz  t        z
  | dd      }t        t	        t              j                  d      |z
        dk  sJ t        |t              sJ t        |dz  | z
  | dz  t        z
  f| |fdd      }t        |t              sJ |j                  dk(  sJ t        t	        t              j                  d      |d	   z
        dk  sJ t        t	        t	        t                    j                  d      |d
   z
        dk  sJ t        d |D              sJ y )NrO   r   r#   rT   precrV   )r#   r#   )r   r   r   r   c              3   <   K   | ]  }t        |t                y w)N)
isinstancer   ).0is     r   	<genexpr>z(test_nsolve_precision.<locals>.<genexpr>j   s     2z!U#2s   )r
   r   r   rF   r   r@   r`   r   r   shapeall)r   r6   solsolss       r   test_nsolve_precisionrh   _   s   5>DAq
AAqs
+CtBx~~c"S()F222c5!!!1a4!8QTBY'!QcBDdF###::tBx~~c"T!W,-666tDH~##C(4723f<<<2T2222r!   c                      t        d      \  } }t        | dz  dz   d      t        d      t        z  k(  sJ t        | dz  dz   t              t        d      t        z  k(  sJ t        | dz  dz   |dz  dz   g| |gt        t        g      t	        t        d      t        z  t        d      t        z  g      k(  sJ t        | dz  dz   |dz  dz   g| |gt        t        g      t	        t        d      t        z  t        d      t        z  g      k(  sJ y )NrO   r   y              ?       @)r
   r   r   r   r   rQ   s     r   test_nsolve_complexrk   l   s    5>DAq!Q$(B48A:---!Q$(A$r(1*,,,1a4!8QTAX&AA7648A:tTVxXYzBZ;[[[[1a4!8QTAX&AA7648A:tTVxXYzBZ;[[[[r!   c                  \   t        d      \  } }t        | dz  dz
  dd      | t        d      igk(  sJ t        | dz  dz   t        d      | t        d      t        z  igk(  sJ t        | dz  |dz  z   dz
  | dz  |dz  z
  dz   g| |gddgd      | t        d      |t        d      igk(  sJ y )	NrO   r   r   T)dictrj   rP   rU   )r
   r   r   r   rQ   s     r   test_nsolve_dict_kwargrn   u   s    5>DAq!Q$(Ad+
T"X   !Q$(Ad+
T"XaZ   1a4!Q$;?AqD1a4K!O4q!fq!fTR
T"Xq$r(	#$% % %r!   c                      t        d      } t        | t        dd      z
  dd      t        dd      j                  d      k(  sJ y )Nr   r   r#   r   r   r]   )r
   r   r   r@   r(   s    r   test_nsolve_rationalrp      s>    A!hq!n$ac2hq!n6J6J36OOOOr!   c                      t        t        d            } t        ddg      }| |z   }t        || |      t        |       k(  sJ t        |j                  | j                  |j                        t        |       k(  sJ y )Nzt s      )r   r
   r   r   rB   )r   r9   eqns      r   test_issue_14950ru      sm    wu~A	R	B
b&C#q",,,#%%bdd#vrc{222r!   N)-sympy.core.functionr   sympy.core.numbersr   r   r   r   sympy.core.relationalr   sympy.core.symbolr	   r
   (sympy.functions.elementary.miscellaneousr   $sympy.functions.elementary.piecewiser   (sympy.functions.elementary.trigonometricr   sympy.integrals.integralsr   sympy.matrices.denser   r.   r   r   sympy.solversr   sympy.utilities.lambdifyr   sympy.testing.pytestr   r   sympy.utilities.decoratorr   r    r$   rJ   rM   rR   r[   rh   rk   rn   rp   ru    r!   r   <module>r      s    & 7 7 $ / 9 : 8 . '    - . 9% %&,RD
9
 1 13\
%P
3r!   