ó
ī&]\c           @   s  d  d l  m Z d  d l Z d  d l m Z d  d l Z d  d l m Z m	 Z	 m
 Z
 d  d l m Z d  d l m Z m Z m Z d  d l m Z m Z m Z m Z d   Z d	 e f d
     YZ d e f d     YZ d e f d     YZ d e f d     YZ d S(   i’’’’(   t   divisionN(   t   product(   t   assert_allcloset   assert_equalt   assert_(   t   raises(   t
   csr_matrixt
   csc_matrixt
   lil_matrix(   t   _adjust_scheme_to_boundst   approx_derivativet   check_derivativet   group_columnsc          C   s  d d d d d d g d d d d d d g d d d d d d g d d d d d d g d d d d d d g d d d d d d g d d d d d d g g }  xŹ t  j t t t g D]³ } | |   } t  j d  } t  j d d d d d d g  } t | |  } t | |  d d d d d d g } t  j d d d d d d g  } t | |  } t | |  qÆ Wt |  } t |  } t | |  d  S(   Ni   i    i   i   i   i   i   (	   t   npt   asarrayR   R   R   t   aranget   arrayR   R   (   t	   structuret	   transformt   At   ordert   groups_truet   groupst   groups_1t   groups_2(    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyt   test_group_columns   s(    !!t   TestAdjustSchemeToBoundsc           B   s#   e  Z d    Z d   Z d   Z RS(   c         C   sk  t  j d  } t  j d  d } t  j |  } t  j |  } | j t  j  | j t  j  t | | d d | |  \ } } t | |  t t  j	 |   t | | d d | |  \ } } t | |  t t  j	 |   t | | d d | |  \ } } t | |  t t  j	 |   t | | d d | |  \ } } t | |  t t  j	 |   d  S(   Ni   g{®Gįz?i   s   1-sidedi   s   2-sided(
   R   t   zerost   onest
   empty_liket   fillt   infR	   R   R   t   all(   t   selft   x0t   ht	   inf_lowert	   inf_uppert
   h_adjustedt	   one_sided(    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyt   test_no_bounds.   s,    c         C   sw  t  j d d d g  } t  j d  } t  j d  } t  j d d d g  d } t | | d d | |  \ } } t | |  t | | d	 d | |  \ } } t | t  j d d d g  d  t | | d d
 | |  \ } } t | t  j |   t t  j |   t | | d	 d
 | |  \ } } t | t  j d d d g  d  t | t  j t	 t
 t
 g   d  S(   Ng        g333333ė?g333333ėæi   i   i’’’’g¹?s   1-sidedi   s   2-sided(   R   R   R   R	   R   t   absR   R    R   t   Falset   True(   R!   R"   t   lbt   ubR#   R&   t   _R'   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyt   test_with_boundJ   s     !!##c         C   s  t  j d d g  } t  j d d g  } t  j d d g  } t  j d d g  } t | | d d | |  \ } } t | t  j d d g   t | | d	 d | |  \ } } t | t  j d
 d g   t | | d d | |  \ } } t | t  j d d g   t | t  j t t g   t | | d	 d | |  \ } } t | t  j d d g   t | t  j t t g   d  S(   NgøėQøæg©?g        gøėQø?g¹æi   s   1-sidedgøėQø®æi   g?s   2-sidedgøėQø?gøėQøæ(   R   R   R	   R   R   R*   R+   (   R!   R,   R-   R"   R#   R&   R.   R'   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyt   test_tight_bounds`   s     !!(   t   __name__t
   __module__R(   R/   R0   (    (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyR   -   s   		t   TestApproxDerivativesDensec           B   s  e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	 d
  Z d d  Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z RS(    c         C   s   t  j |  S(   N(   R   t   sinh(   R!   t   x(    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyt   fun_scalar_scalarx   s    c         C   s   t  j |  S(   N(   R   t   cosh(   R!   R5   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyt   jac_scalar_scalar{   s    c         C   s8   t  j | d d t  j | d  t  j | d  g  S(   Ni    i   (   R   R   t   tant   exp(   R!   R5   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyt   fun_scalar_vector~   s    c         C   sH   t  j d | d t  j | d  d t  j | d  g  j d d  S(   Ni   i    iž’’’i’’’’i   (   R   R   t   cosR:   t   reshape(   R!   R5   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyt   jac_scalar_vector   s    c         C   s*   t  j | d | d  t  j | d  S(   Ni    i   (   R   t   sint   log(   R!   R5   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyt   fun_vector_scalar   s    c         C   s,   t  j | d t  j |  t  j |  g  S(   Ni   (   R   R   R9   R:   (   R!   R5   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyt   wrong_dimensions_fun   s    c         C   s   t  j | d t  j | d | d  t  j | d  t  j | d | d  | d | d t  j | d | d  t  j | d  g  S(   Ni   i    (   R   R   R<   R@   R?   (   R!   R5   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyt   jac_vector_scalar   s    1!c         C   sT   t  j | d t  j | d  | d t  j | d  | d d | d d g  S(   Ni    i   i   g      ąæ(   R   R   R?   R<   (   R!   R5   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyt   fun_vector_vector   s    c         C   s   t  j t  j | d  | d t  j | d  g | d t  j | d  t  j | d  g d | d d | d d d | d d | d d g g  S(   Ni   i    i   i   g      ąæg      ųæ(   R   R   R?   R<   (   R!   R5   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyt   jac_vector_vector   s    +,g      š?c         C   s5   t  j t  j | | d  t  j | | d  g  S(   Ni    i   (   R   R   R:   (   R!   R5   t   c0t   c1(    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyt   fun_parametrized    s    g¹?c         C   sI   t  j | t  j | | d  d g d | t  j | | d  g g  S(   Ni    i   (   R   R   R:   (   R!   R5   RF   RG   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyt   jac_parametrized£   s    c         C   s    t  j |  d k r | St  j S(   Ng:0āyE>(   R   R)   t   nan(   R!   R5   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyt   fun_with_nan©   s    c         C   s    t  j |  d k r d St  j S(   Ng:0āyE>g      š?(   R   R)   RJ   (   R!   R5   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyt   jac_with_nan¬   s    c         C   s4   t  j | d | d t  j | d | d  g  S(   Ni    i   (   R   R   R<   (   R!   R5   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyt   fun_zero_jacobianÆ   s    c         C   sc   t  j | d | d g | d t  j | d | d  | d t  j | d | d  g g  S(   Ni   i    (   R   R   R?   (   R!   R5   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyt   jac_zero_jacobian²   s    c         C   s   t  j |  S(   N(   t   mathR:   (   R!   R5   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyt   fun_non_numpyø   s    c         C   s   t  j |  S(   N(   RO   R:   (   R!   R5   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyt   jac_non_numpy»   s    c         C   s   d } t  |  j | d d } t  |  j |  } t  |  j | d d } |  j |  } t | | d d t | | d d t | | d d d  S(	   Ng      š?t   methods   2-pointt   cst   rtolgķµ ÷Ę°>gÖ&č.>gź-q=(   R
   R6   R8   R   (   R!   R"   t
   jac_diff_2t
   jac_diff_3t
   jac_diff_4t   jac_true(    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyt   test_scalar_scalar¾   s    		c         C   s   d } t  |  j | d d } t  |  j |  } t  |  j | d d } |  j t j |   } t | | d d t | | d d t | | d d d  S(	   Ng      ą?RR   s   2-pointRS   RT   gķµ ÷Ę°>gÖ&č.>gź-q=(   R
   R;   R>   R   t
   atleast_1dR   (   R!   R"   RU   RV   RW   RX   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyt   test_scalar_vectorŹ   s    		c         C   s£   t  j d d g  } t |  j | d d } t |  j |  } t |  j | d d } |  j |  } t | | d d t | | d d t | | d d	 d  S(
   Ng      Y@g      ąæRR   s   2-pointRS   RT   gķµ ÷Ę°>gHÆ¼ņ×z>gź-q=(   R   R   R
   RA   RC   R   (   R!   R"   RU   RV   RW   RX   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyt   test_vector_scalarÖ   s    		c         C   s£   t  j d d g  } t |  j | d d } t |  j |  } t |  j | d d } |  j |  } t | | d d t | | d d t | | d d	 d  S(
   Ng      YĄgÉ?RR   s   2-pointRS   RT   gńhćµųä>gķµ ÷Ę°>gź-q=(   R   R   R
   RD   RE   R   (   R!   R"   RU   RV   RW   RX   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyt   test_vector_vectorā   s    		c         C   sT   d } t  t t |  j |  |  j t j |   } t  t t |  j | d | d  S(   Ng      š?t   f0(   t   assert_raisest   RuntimeErrorR
   RB   R   RZ   t
   ValueError(   R!   R"   R^   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyt   test_wrong_dimensionsī   s    		c         C   s   t  j d d g  } t |  j | d d d d } t |  j | d d } |  j |  } t | | d d t | | d d d  S(	   Ng¹æg¹?RR   s   2-pointt   rel_stepg-Cėā6?RT   g{®Gįz?(   R   R   R
   RD   RE   R   (   R!   R"   RU   RV   RX   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyt   test_custom_rel_stepö   s    	c         C   s#  t  j d d g  } d } d } d } d } |  j | | d | } t  j d d g  } |  j | | |  } t |  j | d d	 d
 | d | d | f d t d |  d | | f }	 t |  j | d
 | d | d | f d t d |  d | | f }
 t |	 | d d t |
 | d d d  S(   Ng      š?g      šæg        g       @RG   gķµ ÷Ę°¾gHÆ¼ņ×z>RR   s   2-pointRc   R^   t   argst   kwargst   boundsRT   gķµ ÷Ę°>gÖ&č.>(   R   R   RH   RI   R
   t   dictR   (   R!   R"   RF   RG   R,   R-   R^   Rc   RX   RU   RV   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyt   test_options   s     --c         C   sµ   t  j d  } t  j d  } t  j d d g  } t t t |  j | d | | f t  j d d g  } t |  j | d d d | | f } |  j |  } t | | d	 d
 d  S(   Ni   g       ĄgÉ?Rg   g      šæg      š?RR   s   2-pointRT   gķµ ÷Ę°>(	   R   R   R   R_   Ra   R
   RD   RE   R   (   R!   R,   R-   R"   t   jac_diffRX   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyt   test_with_bounds_2_point  s    	c         C   s  t  j d d g  } t  j d d g  } t  j d d g  } |  j |  } t |  j |  } t | | d d t |  j | d | t  j f } t | | d d t |  j | d t  j | f } t | | d d t |  j | d | | f } t | | d d d  S(   Ng      š?g       @RT   gÖ&č.>Rg   (   R   R   RE   R
   RD   R   R   (   R!   R,   R-   R"   RX   Rj   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyt   test_with_bounds_3_point   s    c      
   C   s  t  j d d g  } | d } | d } |  j |  } t |  j | d d d | | f } t | | d d t |  j | d d d	 d d | | f } t | | d d t |  j | d | | f } t | | d d t |  j | d	 d d | | f } t | | d d d  S(
   Ng      $@gßA:ÜÅ)>gÖ&č.!>RR   s   2-pointRg   RT   gķµ ÷Ę°>Rc   (   R   R   RE   R
   RD   R   (   R!   R"   R,   R-   RX   Rj   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyR0   6  s"    

!!c      
   C   s"  d } d } d } |  j  |  } t |  j | d d d d d | | f } t |  j | d d d | | f } t | | d	 d t | | d	 d
 d } |  j  |  } t |  j | d d d d d | | f } t |  j | d d d | | f } t | | d	 d t | | d	 d
 d  S(   Ng:0āyE¾g:0āyE>g        RR   s   2-pointRc   gķµ ÷Ę°>Rg   RT   gÖ&č.>(   RL   R
   RK   R   (   R!   R,   R-   R"   RX   RU   RV   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyt   test_bound_switchesJ  s(    !!c         C   s   d } |  j  |  } t |  j  | d d } t |  j  |  } t | | d d t | | d d t t t |  j  | t d d   d  S(   Ng      š?RR   s   2-pointRT   gķµ ÷Ę°>g:0āyE>RS   (   RQ   R
   R   R_   t	   TypeErrorRh   (   R!   R"   RX   RU   RV   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyt   test_non_numpya  s    	c         C   sĪ   t  j d d g  } t |  j |  j |  } t | d k   t |  j |  j |  } t | d k   t  j d d g  } t |  j |  j |  } t | d k  t |  j |  j |  } t | d k  d  S(   Ng      $Ąi
   gÖ&č.>gķµ ÷Ę°>g        i    (   R   R   R   RD   RE   R   RM   RN   (   R!   R"   t   accuracy(    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyt   test_check_derivativen  s    				(    R1   R2   R6   R8   R;   R>   RA   RB   RC   RD   RE   RH   RI   RK   RL   RM   RN   RP   RQ   RY   R[   R\   R]   Rb   Rd   Ri   Rk   Rl   R0   Rm   Ro   Rq   (    (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyR3   w   s<   																					
						t   TestApproxDerivativeSparsec           B   sP   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 RS(   c         C   sÕ   t  j j d  d |  _ d d t  j |  j  |  _ d d t  j |  j  |  _ t  j |  j  |  _ d |  j d  d  d  |  j d  d  d  <d	 |  j d d  d  |  j d d  d  <|  j	 |  j  |  _
 d  S(
   Ni    i2   g¹æi   g¹?gHÆ¼ņ×z>i   gĖPŹ’’ļ?gĖPŹ’’ļ?(   R   t   randomt   seedt   nR   R,   R-   t   emptyR"   t   jact   J_true(   R!   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyt   setup_method  s    	**c         C   sH   | d d | d  d } t  j d d | f  t  j d | d f  S(   Ni   i   i’’’’i   i    (   R   t   hstack(   R!   R5   t   e(    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyt   fun  s    c         C   sü   | j  } t j | | f  } d | d | d <d | d d | d <x t d | d  D]r } d | | d | | | d f <d | | d d | | | | | f <d | | d d | | | d f <qZ Wd | d	 d | d <d | d
 | d <| S(   Niü’’’i    i   i   i   iś’’’i	   i   i’’’’iž’’’(   i    i    (   i    i   (   i’’’’i’’’’(   i’’’’iž’’’(   t   sizeR   R   t   range(   R!   R5   Ru   t   Jt   i(    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyRw     s    	 ((c         C   s   t  j | | f d t } d | d <d | d <x9 t d | d  D]$ } d | | | d | d  f <qC Wd | d	 <d | d
 <| S(   Nt   dtypei   i    i   i’’’’iž’’’(   i    i    (   i    i   (   i’’’’i’’’’(   i’’’’iž’’’(   R   R   t   intR~   (   R!   Ru   R   R   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyR     s    

"

c         C   s  |  j  |  j  } t j |  j  } t | |  } t j j |  t | |  } x+t d d d g | | g t j |  j	 g t j |  j
 g  D]ģ \ } } } } t |  j |  j d | d | | f d | | f }	 t t |	 t   t |	 j   |  j d d d	 t j |  j  }
 |
 d  d  d
  c d 9<t |  j |  j d | d |
 d | | f }	 t |	 j   |  j d d q Wd  S(   Ns   2-points   3-pointRS   RR   Rg   t   sparsityRT   gķµ ÷Ę°>g:0āyE>i   i’’’’Rc   gńhćµųä>(   R   Ru   R   R   R   Rs   t   shuffleR   R   R,   R-   R
   R|   R"   R   t
   isinstanceR   R   t   toarrayRx   t	   ones_like(   R!   R   R   R   R   RR   R   t   lt   uR   Rc   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyt   test_allŖ  s"    5c         C   sM   |  j  |  j  } t |  j |  j d | } t | j   |  j d d d  S(   NR   RT   gķµ ÷Ę°>(   R   Ru   R
   R|   R"   R   R   Rx   (   R!   R   R   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyt   test_no_precomputed_groupsæ  s    c         C   s¦   t  j |  j |  j f d t } t  j |  j  } xl d d d g D][ } t |  j |  j d | } t |  j |  j d | | f d | } t | | j	    qC Wd  S(   NR   s   2-points   3-pointRS   RR   R   (
   R   R   Ru   R   R   R
   R|   R"   R   R   (   R!   R   R   RR   t   J_denset   J_sparse(    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyt   test_equivalenceÄ  s    !$c            s     f d   } t    j |   j d   j   j f } t | d k   t    j |   j d   j   j f } t | d k   d  S(   Nc            s   t    j |    S(   N(   R   Rw   (   R5   (   R!   (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyRw   Ī  s    Rg   gÖ&č.>(   R   R|   R"   R,   R-   R   (   R!   Rw   Rp   (    (   R!   sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyRq   Ķ  s    (
   R1   R2   Ry   R|   Rw   R   R   R   R   Rq   (    (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyRr     s   								t"   TestApproxDerivativeLinearOperatorc           B   s}   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z d   Z RS(   c         C   s   t  j |  S(   N(   R   R4   (   R!   R5   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyR6   Ü  s    c         C   s   t  j |  S(   N(   R   R7   (   R!   R5   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyR8   ß  s    c         C   s8   t  j | d d t  j | d  t  j | d  g  S(   Ni    i   (   R   R   R9   R:   (   R!   R5   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyR;   ā  s    c         C   sH   t  j d | d t  j | d  d t  j | d  g  j d d  S(   Ni   i    iž’’’i’’’’i   (   R   R   R<   R:   R=   (   R!   R5   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyR>   å  s    c         C   s*   t  j | d | d  t  j | d  S(   Ni    i   (   R   R?   R@   (   R!   R5   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyRA   é  s    c         C   s   t  j | d t  j | d | d  t  j | d  t  j | d | d  | d | d t  j | d | d  t  j | d  g  S(   Ni   i    (   R   R   R<   R@   R?   (   R!   R5   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyRC   ģ  s    1!c         C   sT   t  j | d t  j | d  | d t  j | d  | d d | d d g  S(   Ni    i   i   g      ąæ(   R   R   R?   R<   (   R!   R5   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyRD   ó  s    c         C   s   t  j t  j | d  | d t  j | d  g | d t  j | d  t  j | d  g d | d d | d d d | d d | d d g g  S(   Ni   i    i   i   g      ąæg      ųæ(   R   R   R?   R<   (   R!   R5   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyRE   ś  s    +,c         C   s  d } t  |  j | d d d t } t  |  j | d t } t  |  j | d d d t } |  j |  } t j j d  x t d  D] } t j j d d d	 d } t	 | j
 |  | | d
 d t	 | j
 |  | | d
 d t	 | j
 |  | | d
 d q Wd  S(   Ng      š?RR   s   2-pointt   as_linear_operatorRS   i   i
   iö’’’R}   RT   gńhćµųä>gńhćµųŌ>(   i   (   R
   R6   R+   R8   R   Rs   Rt   R~   t   uniformR   t   dot(   R!   R"   RU   RV   RW   RX   R   t   p(    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyRY     s&    			c         C   s'  d } t  |  j | d d d t } t  |  j | d t } t  |  j | d d d t } |  j t j |   } t j j d  x t d  D] } t j j	 d d d	 d } t
 | j |  | j |  d
 d t
 | j |  | j |  d
 d t
 | j |  | j |  d
 d q Wd  S(   Ng      ą?RR   s   2-pointR   RS   i   i
   iö’’’R}   RT   gńhćµųä>gńhćµųŌ>(   i   (   R
   R;   R+   R>   R   RZ   Rs   Rt   R~   R   R   R   (   R!   R"   RU   RV   RW   RX   R   R   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyR[     s&    			c         C   sK  t  j d d g  } t |  j | d d d t } t |  j | d t } t |  j | d d d t } |  j |  } t  j j d  x¼ t d  D]® } t  j j	 d	 d d
 | j
 } t | j |  t  j | j |   d d t | j |  t  j | j |   d d t | j |  t  j | j |   d d q Wd  S(   Ng      Y@g      ąæRR   s   2-pointR   RS   i   i
   iö’’’R}   RT   gńhćµųä>gńhćµųŌ>gHÆ¼ņ×z>(   R   R   R
   RA   R+   RC   Rs   Rt   R~   R   t   shapeR   R   RZ   (   R!   R"   RU   RV   RW   RX   R   R   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyR\   +  s&    			'''c         C   s0  t  j d d g  } t |  j | d d d t } t |  j | d t } t |  j | d d d t } |  j |  } t  j j d  x” t d  D] } t  j j	 d	 d d
 | j
 } t | j |  | j |  d d t | j |  | j |  d d t | j |  | j |  d d q Wd  S(   Ng      YĄgÉ?RR   s   2-pointR   RS   i   i
   iö’’’R}   RT   gńhćµųä>gķµ ÷Ę°>gHÆ¼ņ×z>(   R   R   R
   RD   R+   RE   Rs   Rt   R~   R   R   R   R   (   R!   R"   RU   RV   RW   RX   R   R   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyR]   @  s     			%%c      
   C   sD   t  j d d g  } t t t |  j | d d d d t  j f d  S(   Ng      YĄgÉ?RR   s   2-pointRg   i   (   R   R   R_   Ra   R
   RD   R   (   R!   R"   (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyt   test_exceptionR  s    	(   R1   R2   R6   R8   R;   R>   RA   RC   RD   RE   RY   R[   R\   R]   R   (    (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyR   Ś  s   												(   t
   __future__R    RO   t	   itertoolsR   t   numpyR   t   numpy.testingR   R   R   t   pytestR   R_   t   scipy.sparseR   R   R   t   scipy.optimize._numdiffR	   R
   R   R   R   t   objectR   R3   Rr   R   (    (    (    sA   lib/python2.7/site-packages/scipy/optimize/tests/test__numdiff.pyt   <module>   s   "	J’ 
Z