ó
9­\c           @   s'  d  d l  m Z m Z m Z m Z m Z m Z m Z m Z m	 Z	 m
 Z
 m Z 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 e d „  ƒ Z e d „  ƒ Z d „  Z d „  Z  d „  Z! d „  Z" d „  Z# d S(   iÿÿÿÿ(   t   Eqt   Matrixt   pit   sint   sqrtt   Symbolt   Integralt	   Piecewiset   symbolst   Floatt   It   Rational(   t   mnormt   mpf(   t   nsolve(   t   lambdify(   t   raisest   XFAIL(   t   conserve_mpmath_dpsc          C   s`   t  d ƒ }  t |  d d |  d d |  d d |  d ƒ } | d k rV | d k  s\ t ‚ d  S(   Nt   xi   i   id   i    gq=
×£pÝ?g®GázÞ?(   R   R   t   AssertionError(   R   t   ans(    (    s?   lib/python2.7/site-packages/sympy/solvers/tests/test_numeric.pyt   test_nsolve_fail	   s    2c          C   sI   t  d ƒ }  t |  d d |  d |  d d ƒ } | d k sE t ‚ d  S(   NR   i   i   gÍÌÌÌÌÌ Àg      ð¿(   R   R   R   (   R   R   (    (    s?   lib/python2.7/site-packages/sympy/solvers/tests/test_numeric.pyt   test_nsolve_denominator   s    'c             s  t  d ƒ ‰ t t ˆ ƒ d ƒ t j ƒ  d k  s7 t ‚ t t d ˆ d ƒ ˆ d ƒ t d ˆ d d ƒ k ss t ‚ t t ‡ f d †  ƒ t t ‡ f d †  ƒ t  d ƒ }  t  d ƒ } d	 |  d d | d d
 } |  d d |  | d d | d } t	 | | f ƒ j
 ‰ t |  | f ˆ j
 d d ƒ‰  xY d! d" d# d$ g D]E } t ˆ |  | f | d d ƒ‰ t ˆ  ˆ Œ  d
 ƒ d k sAt ‚ qAWt  d ƒ ‰ t  d ƒ ‰ t  d ƒ ‰ ˆ d ˆ } ˆ d ˆ ˆ d d d ˆ ˆ d } t ˆ d ˆ d ƒ ˆ } t	 | | | f ƒ j
 ‰ t ˆ ˆ ˆ f ˆ j
 d d ƒ‰  ‡  ‡ ‡ ‡ ‡ f d †  } t t t | d% ƒ ƒ ƒ d d d g k s‡t ‚ t t | ƒ t | ƒ t | ƒ g ˆ ˆ ˆ g d& ƒ sÃt ‚ t  d ƒ } t t d
 d | d	 d d | d	 | d ƒ t d  ƒ ƒ d k  st ‚ d  S('   NR   i   gVçž¯Ò<iöÿÿÿc              s   t  t d ˆ  d ƒ ƒ S(   Ni   (   R   R    (    (   R   (    s?   lib/python2.7/site-packages/sympy/solvers/tests/test_numeric.pyt   <lambda>    t    c              s    t  t d ˆ  d ƒ ˆ  d d ƒ S(   Ni   i   (   R   R    (    (   R   (    s?   lib/python2.7/site-packages/sympy/solvers/tests/test_numeric.pyR   !   R   t   x1t   x2i   i   i   t   modulest   mpmathiÿÿÿÿiþÿÿÿi   iüÿÿÿt   tolg:Œ0âŽyE>g»½×Ùß|Û=t   yt   zc            s@   t  ˆ ˆ ˆ ˆ f |  ƒ } t ˆ  | Œ  d ƒ d k s< t ‚ | S(   Ni   g:Œ0âŽyE>(   R   R   R   (   t   x0t   root(   t   Ft   fR   R   R    (    s?   lib/python2.7/site-packages/sympy/solvers/tests/test_numeric.pyt   getroot7   s    !g       @g      ð?g        t   agü©ñÒMbP?i   gÍÌÌÌÌÌì?g333333Ó?s   0.31883011387318591(   iÿÿÿÿi   (   i   iþÿÿÿ(   i   i   (   iüÿÿÿiüÿÿÿ(   i   i   i   (   i   i   i   (   R   R   R   R   t   evalfR   R    R   t	   TypeErrorR   t   TR   R   R   t   listt   mapt   roundt   absR   (   R   R   t   f1t   f2R!   t   f3R%   R&   (    (   R#   R$   R   R   R    s?   lib/python2.7/site-packages/sympy/solvers/tests/test_numeric.pyt   test_nsolve   s:    +<&%*!06.c          C   sM   t  d ƒ }  t t |  |  d k  f |  d t f ƒ |  d ƒ d k sI t ‚ d  S(   NR   i   i   g        (   R   R   R   t   TrueR   (   R   (    (    s?   lib/python2.7/site-packages/sympy/solvers/tests/test_numeric.pyt   test_issue_6408D   s    c          C   sJ   t  d ƒ \ }  } t t |  | |  d d f ƒ | d ƒ d k sF t ‚ d  S(   Ns   x yi    i   i   g        (   R   R   R   R   (   R   R   (    (    s?   lib/python2.7/site-packages/sympy/solvers/tests/test_numeric.pyt   test_issue_6408_failI   s    c          C   ss   d d  l  }  d |  j _ t d ƒ } | d t } t | | d ƒ } t t t ƒ j d ƒ | ƒ d k  so t	 ‚ d  S(   Niÿÿÿÿi€   R   i   g      @g—ŒÏº[%(
   R   t   mpt   dpsR   R   R   R-   R   R'   R   (   R   R   t   e1t   q(    (    s?   lib/python2.7/site-packages/sympy/solvers/tests/test_numeric.pyt   test_increased_dpsO   s    c          C   sT  t  d ƒ \ }  } t |  d t |  d d d ƒ} t t t ƒ j d ƒ | ƒ d k  s] t ‚ t | t ƒ sr t ‚ t | d |  |  d t f |  | f d
 d d ƒ} t | t	 ƒ s» t ‚ | j
 d k sÐ t ‚ t t t ƒ j d ƒ | d ƒ d k  sÿ t ‚ t t t t ƒ ƒ j d ƒ | d ƒ d k  s4t ‚ t d	 „  | Dƒ ƒ sPt ‚ d  S(   Ns   x yi   i   t   preci€   g—ŒÏº[%i   i    c         s   s   |  ] } t  | t ƒ Vq d  S(   N(   t
   isinstanceR	   (   t   .0t   i(    (    s?   lib/python2.7/site-packages/sympy/solvers/tests/test_numeric.pys	   <genexpr>e   s    (   i   i   (   i   i   (   R   R   R   R-   R   R'   R   R;   R	   R   t   shapet   all(   R   R   t   solt   sols(    (    s?   lib/python2.7/site-packages/sympy/solvers/tests/test_numeric.pyt   test_nsolve_precisionZ   s     +4/5c          C   s0  t  d ƒ \ }  } t |  d d d ƒ t d ƒ t k s? t ‚ t |  d d t ƒ t d ƒ t k sl t ‚ t |  d d | d d g |  | g t t g ƒ t t d ƒ t t d ƒ t g ƒ k sÌ t ‚ t |  d d | d d g |  | g t t g ƒ t t d ƒ t t d ƒ t g ƒ k s,t ‚ d  S(   Ns   x yi   y              ð?g       @(   R   R   R   R
   R   R   (   R   R   (    (    s?   lib/python2.7/site-packages/sympy/solvers/tests/test_numeric.pyt   test_nsolve_complexg   s
    --`c          C   sÿ   t  d ƒ \ }  } t |  d d d d t ƒi t d ƒ |  6g k sK t ‚ t |  d d t d t ƒi t d ƒ t |  6g k sˆ t ‚ t |  d | d d |  d | d d g |  | g d d g d t ƒi t d ƒ |  6t d ƒ | 6g k sû t ‚ d  S(   Ns   x yi   i   t   dictg       @i   g      @(   R   R   R2   R   R   R
   (   R   R   (    (    s?   lib/python2.7/site-packages/sympy/solvers/tests/test_numeric.pyt   test_nsolve_dict_kwargp   s    #Gc          C   sP   t  d ƒ }  t |  t d d ƒ d d d ƒt d d ƒ j d ƒ k sL t ‚ d  S(   NR   i   i   i    R:   id   (   R   R   R   R'   R   (   R   (    (    s?   lib/python2.7/site-packages/sympy/solvers/tests/test_numeric.pyt   test_nsolve_rational|   s    c          C   sy   t  t d ƒ ƒ }  t  d d g ƒ } |  | } t | |  | ƒ | k sM t ‚ t | j |  j | j ƒ | k su t ‚ d  S(   Ns   t si   i   (   R   R   R   R   R)   (   R   R!   t   eqn(    (    s?   lib/python2.7/site-packages/sympy/solvers/tests/test_numeric.pyt   test_issue_14950   s
    
N($   t   sympyR    R   R   R   R   R   R   R   R   R	   R
   R   R   R   R   t   sympy.solversR   t   sympy.utilities.lambdifyR   t   sympy.utilities.pytestR   R   t   sympy.utilities.decoratorR   R   R   R1   R3   R4   R9   RB   RC   RE   RF   RH   (    (    (    s?   lib/python2.7/site-packages/sympy/solvers/tests/test_numeric.pyt   <module>   s    R
		*						