σ
ξ&]\c           @` sx   d  Z  d d l m Z m Z m Z d d l m Z d d l m Z	 d d l
 Z d d l m Z d e f d     YZ d S(	   s5   
Unit tests for optimization routines from _root.py.
i    (   t   divisiont   print_functiont   absolute_import(   t   assert_(   t   raisesN(   t   roott   TestRootc           B` s#   e  Z d    Z d   Z d   Z RS(   c      
   C` s9  d   } d   } x d d d d d d d	 g D]} | d k rF q. n  | d k r[ | } n d  } t | d d g d | d d d | } t | d d g d | d d d | } d | | | j  | | j  f } t | j |  t | j |  t t | | j   j   t | | j   j   k  |  q. Wd  S(   Nc         S` s/   |  \ } } t  j | d d | d d g  S(   Ni   i   (   t   npt   array(   t   zt   xt   y(    (    s>   lib/python2.7/site-packages/scipy/optimize/tests/test__root.pyt   func   s    c         S` s;   |  \ } } t  j d | d d g d d | d g g  S(   Ni   i   i    (   R   R   (   R	   R
   R   (    (    s>   lib/python2.7/site-packages/scipy/optimize/tests/test__root.pyt   dfunc   s    t   hybrt   lmt   broyden1t   broyden2t   andersont   diagbroydent   krylovt   linearmixingt   excitingmixinggρ?t   jact   tolg-Cλβ6?t   methodg      ΰ?s   %s: %s vs. %s(   R   R   (   R   R   (   t   NoneR   R
   R   t   successt   abst   max(   t   selfR   R   R   R   t   sol1t   sol2t   msg(    (    s>   lib/python2.7/site-packages/scipy/optimize/tests/test__root.pyt   test_tol_parameter   s     			''%6c         C` s)   d d  } t  | d d g d d d  S(   Ni   c         S` s/   |  \ } } t  j | d d | d | g  S(   Ni   i   (   R   R   (   R	   t   fR
   R   (    (    s>   lib/python2.7/site-packages/scipy/optimize/tests/test__root.pyR   -   s    gρ?t   argsg      ψ?(   R   (   R   R   (    (    s>   lib/python2.7/site-packages/scipy/optimize/tests/test__root.pyt&   test_minimize_scalar_coerce_args_param+   s    c      	   C` sQ   d t  f d     Y} |   } t t    t | d d g d d } Wd  QXd  S(   Nt   func           B` s   e  Z d    Z d   Z RS(   c         S` s   d |  _  d  S(   Ni    (   t   count(   R   (    (    s>   lib/python2.7/site-packages/scipy/optimize/tests/test__root.pyt   __init__7   s    c         S` s   |  j  d 7_  |  j  d sE | d d | d | d d d } nH | d d | d | d d d d | d | d d | d g } | S(   Ni   i   i    g      ΰ?i   g      π?(   R'   (   R   R
   t   ret(    (    s>   lib/python2.7/site-packages/scipy/optimize/tests/test__root.pyt   __call__:   s    )#%(   t   __name__t
   __module__R(   R*   (    (    (    s>   lib/python2.7/site-packages/scipy/optimize/tests/test__root.pyR&   6   s   	gΉ?g        R   R   (   t   objectt   assert_raisest
   ValueErrorR   (   R   R&   t   Ft   sol(    (    s>   lib/python2.7/site-packages/scipy/optimize/tests/test__root.pyt   test_f_size2   s    	(   R+   R,   R"   R%   R2   (    (    (    s>   lib/python2.7/site-packages/scipy/optimize/tests/test__root.pyR      s   		(   t   __doc__t
   __future__R    R   R   t   numpy.testingR   t   pytestR   R.   t   numpyR   t   scipy.optimizeR   R-   R   (    (    (    s>   lib/python2.7/site-packages/scipy/optimize/tests/test__root.pyt   <module>   s   