ó
Ë½÷Xc           @` sX  d  d l  m Z m Z m Z d  d l Z y d  d l m Z Wn! e k
 r_ d  d l m Z n Xd  d l Z	 d  d l
 m Z m Z m Z m Z m Z m Z d  d l m Z d  d l m Z d  d l m Z m Z m Z m Z m Z m 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. d „  Z/ d „  Z0 d „  Z1 d „  Z2 d „  Z3 d  „  Z4 d! „  Z5 d" „  Z6 d# „  Z7 d$ „  Z8 d% „  Z9 d& „  Z: d' „  Z; d( „  Z< d) „  Z= d* „  Z> d+ „  Z? d, „  Z@ d- „  ZA eB d. k rTe ƒ  n  d S(/   i    (   t   divisiont   print_functiont   absolute_importN(   t   StringIO(   t   assert_t   assert_array_equalt   assert_allcloset   run_module_suitet   assert_raisest   assert_equal(   t
   coo_matrix(   t   erf(   t   modify_mesht   estimate_fun_jact   estimate_bc_jact   compute_jac_indicest   construct_global_jact	   solve_bvpc         C` s   t  j | d | d f ƒ S(   Ni   i    (   t   npt   vstack(   t   xt   y(    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyt   exp_fun   s    c         C` sK   t  j d d |  j d f ƒ } d | d <d | d <d | d <d | d <| S(   Ni   i    i   (   i    i    (   i    i   (   i   i    (   i   i   (   R   t   emptyt   shape(   R   R   t   df_dy(    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyt   exp_fun_jac   s    



c         C` s   t  j |  d d | d f ƒ S(   Ni    i   (   R   t   hstack(   t   yat   yb(    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyt   exp_bc!   s    c         C` s#   t  j |  d d d | d f ƒ S(   Ni    i   y              ð?(   R   R   (   R   R   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyt   exp_bc_complex%   s    c         C` sL   t  j d d g d d g g ƒ } t  j d d g d d g g ƒ } | | f S(   Ni   i    (   R   t   array(   R   R   t   dbc_dyat   dbc_dyb(    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyt
   exp_bc_jac)   s    		c         C` s0   t  j |  ƒ t  j |  d ƒ d t  j d ƒ S(   Ni   i   iþÿÿÿ(   R   t   exp(   R   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyt   exp_sol5   s    c         C` s(   t  j | d | d d | d f ƒ S(   Ni   i    i   (   R   R   (   R   R   t   p(    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyt   sl_fun9   s    c         C` sž   | j  \ } } t j | d | f ƒ } d | d <d | d <| d d | d <d | d <t j | d | f ƒ } d | d	 <d | d | d | d
 <| | f S(   Ni   i    i   iþÿÿÿ(   i    i    (   i    i   (   i   i    (   i   i   (   i    i    (   i   i    (   R   R   R   (   R   R   R&   t   nt   mR   t   df_dp(    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyt
   sl_fun_jac=   s    



c         C` s*   t  j |  d | d |  d | d f ƒ S(   Ni    i   (   R   R   (   R   R   R&   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyt   sl_bcL   s    c         C` sb   t  j d ƒ } d | d <d | d <t  j d	 ƒ } d | d
 <t  j d ƒ } d | d <| | | f S(   Ni   i   i   i    iÿÿÿÿ(   i   i   (   i    i    (   i   i   (   i   i   (   i   i    (   i   i   (   i   i    (   R   t   zeros(   R   R   R&   R!   R"   t   dbc_dp(    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyt	   sl_bc_jacP   s    



c         C` s   t  j | d |  ƒ S(   Ni    (   R   t   sin(   R   R&   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyt   sl_sol^   s    c         C` s    t  j | d | d d f ƒ S(   Ni   i    i   (   R   R   (   R   R   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyt	   emden_funb   s    c         C` sW   t  j d d |  j d f ƒ } d | d <d | d <d | d d | d <d | d	 <| S(
   Ni   i    i   iûÿÿÿi   (   i    i    (   i    i   (   i   i    (   i   i   (   R   R   R   (   R   R   R   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyt   emden_fun_jacf   s    


c         C` s   t  j |  d | d d g ƒ S(   Ni   i    i   i   g      à?g      è?gªLXèz¶ë?(   R   R    (   R   R   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyt   emden_bco   s    c         C` sL   t  j d d g d d g g ƒ } t  j d d g d d g g ƒ } | | f S(   Ni    i   (   R   R    (   R   R   R!   R"   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyt   emden_bc_jacs   s    		c         C` s   d |  d d d S(   Ni   i   i   g      à¿(    (   R   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyt	   emden_sol   s    c         C` s   t  j | ƒ S(   N(   R   t
   zeros_like(   R   R   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyt   undefined_funƒ   s    c         C` s   t  j |  d | d d g ƒ S(   Ni    i   (   R   R    (   R   R   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyt   undefined_bc‡   s    c         C` s3   t  j | ƒ } | d d  d … | d  d  d … <| S(   Ni   i   (   R   R7   (   R   R   t   f(    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyt   big_fun‹   s     c         C` s1   t  j |  d  d  d … | d  d  d … d f ƒ S(   Ni   i   (   R   R   (   R   R   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyt   big_bc‘   s    c         C` s3   t  j d | |  j f ƒ } |  | d  d  d … <|  S(   Ni   (   R   t   onest   size(   R   R(   R   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyt   big_sol•   s    c         C` sl   d } t  j | d |  | d | t  j d t  j t  j |  ƒ t  j |  t  j t  j |  ƒ | f ƒ S(   Ngü©ñÒMbP?i   i   (   R   R   t   pit   cosR0   (   R   R   t   eps(    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyt	   shock_fun›   s
    .c         C` s   t  j |  d d | d g ƒ S(   Ni    i   (   R   R    (   R   R   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyt   shock_bc¤   s    c         C` sI   d } t  j d | ƒ } t  j t  j |  ƒ t |  | ƒ t d | ƒ S(   Ngü©ñÒMbP?i   i   (   R   t   sqrtRA   R@   R   (   R   RB   t   k(    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyt	   shock_sol¨   s    c          C` s  t  j d d d d g d t ƒ}  t |  t  j d g ƒ t  j d g ƒ ƒ } t | t  j d d d d d d	 d g ƒ ƒ t  j d
 d d d d g d t ƒ}  t |  t  j d g d t ƒt  j d d d g ƒ ƒ } t | d
 d d d d d d d d d d d g ƒ d  S(   Ni    i   i   i	   t   dtypei   g      à?i   i   iúÿÿÿiýÿÿÿi   iûÿÿÿiüÿÿÿg      ø¿i   (   R   R    t   floatR   R   t   int(   R   t   x_new(    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyt   test_modify_mesh®   s    !*+$6c          C` sù  t  j d d d ƒ }  t  j d |  j d f ƒ } d | d <d | d <t  j g  ƒ } t d „  |  | | ƒ \ } } t |  | ƒ } t | | ƒ t | d  k ƒ t  j d t  j
 d ƒ }  t  j d |  j d f ƒ } t  j |  ƒ | d <t  j |  ƒ | d <t  j d g ƒ } t t |  | | ƒ \ } } t |  | | ƒ \ } } t | | ƒ t | | ƒ t  j d d d	 ƒ }  t  j d |  j d f ƒ } d | d <d | d <t  j g  ƒ } t d „  |  | | ƒ \ } } t |  | ƒ } t | | ƒ t | d  k ƒ d  S(   Ni    i   i   i   g{®Gáz„?g{®Gáz”?c         S` s   t  |  | ƒ S(   N(   R   (   R   R   R&   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyt   <lambda>¾   s    g      ð?i
   i   i   g      à?g-Cëâ6?c         S` s   t  |  | ƒ S(   N(   R2   (   R   R   R&   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyRM   Ò   s    g      è?gªLXèz¶ë?(   R   t   linspaceR   R   R    R   R   R   R   t   NoneR@   R0   RA   R'   R+   R3   (   R   R   R&   R   R*   t   df_dy_ant   df_dp_an(    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyt   test_compute_fun_jac¸   s6    



c    	      C` sÒ  t  j d d g ƒ }  t  j d d g ƒ } t  j g  ƒ } t d „  |  | | ƒ \ } } } t |  | ƒ \ } } t | | ƒ t | | ƒ t | d  k ƒ t  j d d g ƒ }  t  j d d g ƒ } t  j d g ƒ } t t |  | | ƒ \ } } } t |  | | ƒ \ } } } t | | ƒ t | | ƒ t | | ƒ t  j d d	 g ƒ }  t  j d
 d g ƒ } t  j g  ƒ } t d „  |  | | ƒ \ } } } t	 |  | ƒ \ } } t | | ƒ t | | ƒ t | d  k ƒ d  S(   Ng      ð¿i   g      à?i   c         S` s   t  |  | ƒ S(   N(   R   (   R   R   R&   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyRM   Ý   s    g        i   iÿÿÿÿid   iüÿÿg      %@c         S` s   t  |  | ƒ S(   N(   R4   (   R   R   R&   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyRM   ð   s    (
   R   R    R   R#   R   R   RO   R,   R/   R5   (	   R   R   R&   R!   R"   R.   t
   dbc_dya_ant
   dbc_dyb_ant	   dbc_dp_an(    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyt   test_compute_bc_jacØ   s4    c          C` s»  d }  d } d } t  |  | | ƒ \ } } t t j | ƒ | | f f ƒ j ƒ  } t j d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 g
 ƒ } t | | ƒ d  S(   Ni   i   i   i    (   R   R
   R   t	   ones_liket   toarrayR    R   (   R(   R)   RF   t   it   jt   st   s_true(    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyt   test_compute_jac_indices÷   s"    '!!!!!!!!!*c          C` sE  d }  d } d } t  d d d ƒ \ } } t j d d d ƒ } t j | ƒ } t j t j t j | ƒ t j t j t j | ƒ f ƒ } t j d g ƒ } t	 | | | ƒ }	 | d  d | }
 d | d  d  … d  d … f | d  d  … d d  … f | d |	 d  d  … d d  … f |	 d  d  … d  d … f } t
 | | | ƒ \ } } t
 |
 | | ƒ \ } } t | d  d  … d f | d  d  … d f | ƒ \ } } } t |  | | | | | | | | | | | | ƒ } | j ƒ  } d	 „  } t j | |  | | |  | f ƒ } xY t | d ƒ D]G } | | | | ƒ | | |  | d |  … | |  | d |  … f <qW| | d d
 | d d  d … f | d d d  … f | d  | d |  d … d f <| | | d d  d … f | d d d  … f | d d
 | d d  d … f | d d d  … f | d | d |  d … d f <d | d <d | d <d | d <d | d <t | | d d ƒt t	 | | | ƒ \ } } t t	 |
 | | ƒ \ } } t t | d  d  … d f | d  d  … d f | ƒ \ } } } t |  | | | | | | | | | | | | ƒ } | j ƒ  } t | | d d d d ƒd  S(   Ni   i   i   i    g      @iÿÿÿÿg      à?i   c      	   S` sœ   t  j |  d | d d d d |  |  d | d d d d |  g d |  | d |  d | d d d d |  | d d |  d | d d g g ƒ S(   Ni   i   i   g      à¿g      à?(   R   R    (   t   hR&   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyt   J_block#  s    @i   i	   i
   t   rtolg»½×Ùß|Û=g:Œ0âŽyE>t   atolg•Ö&è.>(   i   i    (   i	   i   (   i
   i   (   i
   i
   (   R   R   RN   t   diffR   R0   R@   RA   R    R'   R+   R/   R   RX   R-   t   rangeR   R   R   R,   (   R(   R)   RF   t   i_jact   j_jacR   R^   R   R&   R:   t   x_middlet   y_middleR   R*   t   df_dy_middlet   df_dp_middleR!   R"   R.   t   JR_   t   J_trueRY   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyt   test_compute_global_jac  sH    <v;	%EU.S



>c       	   C` s!  d d d g }  t  j d ƒ } t t t t t |  | ƒ t  j d d d ƒ }  t  j d ƒ } t t t t t |  | ƒ d „  } d	 „  } t  j d |  j d f ƒ } t t t | | |  | d
 d g ƒd „  } t t t | | |  | ƒ t  j	 d d g g ƒ } t t t t t |  | d | ƒd  S(   Ni    i   g      à?i   i   i   i   c         S` s   t  |  | ƒ S(   N(   R   (   R   R   R&   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyRM   J  s    c         S` s   t  |  | ƒ S(   N(   R   (   R   R   R&   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyRM   K  s    R&   c         S` s   t  j d ƒ S(   Ni   (   R   R-   (   R   R   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyt   wrong_shape_funP  s    t   S(   i   i   (   i   i   (
   R   R-   R   t
   ValueErrorR   R   R   RN   R   R    (   R   R   t   funt   bcRm   Rn   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyt   test_parameter_validationA  s    		"	c          C` sÖ  t  j d d d ƒ }  t  j d d d ƒ } t  j d |  j d f ƒ } x‰d  t g D]{} xrd  t g D]d} t t t	 |  | d | d | ƒ} t
 | j d ƒ t | j ƒ t
 | j j d ƒ | j | ƒ } t | d t | ƒ d d	 ƒt | | ƒ } | j | d ƒ | } | d t  j | ƒ }	 t  j |	 d d
 d ƒd }
 t t  j |
 d k  ƒ ƒ t t  j | j d k  ƒ ƒ t | j | j ƒ | j d d d d ƒt | j | j d ƒ | j d d d d ƒqf WqS Wd  S(   Ni    i   i   id   i   t   fun_jact   bc_jacRa   gñhãˆµøä>t   axisg      à?gü©ñÒMbP?R`   g»½×Ùß|Û=(   R   RN   R-   R   RO   R   R#   R   R   R   R	   t   statusR   t   successR   R>   t   solR   R%   t   abst   sumt   allt   rms_residualsR   t   yp(   R   t   x_testR   Rs   Rt   Rx   t   sol_testt   f_testt   rt   rel_rest   norm_res(    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyt   test_no_paramsY  s(    	(c          C` s  t  j d t  j d ƒ }  t  j d t  j d ƒ } t  j d |  j d f ƒ } xÀd  t g D]²} x©d  t g D]›} t t	 t
 |  | d d g d | d | ƒ} t | j d ƒ t | j ƒ t | j j d	 k  ƒ t | j d
 g d d ƒ| j | ƒ } t | d t | d
 g ƒ d d d d ƒt	 | | d
 g ƒ } | j | d
 ƒ | } | d
 t  j | ƒ }	 t  j |	 d d d ƒd }
 t t  j |
 d k  ƒ ƒ t t  j | j d k  ƒ ƒ t | j | j ƒ | j d d d d ƒt | j | j d
 ƒ | j d d d d ƒql WqY Wd  S(   Ni    i   id   i   R&   g      à?Rs   Rt   i
   i   R`   g-Cëâ6?Ra   Ru   gü©ñÒMbP?g»½×Ùß|Û=(   R   RN   R@   R=   R   RO   R+   R/   R   R'   R,   R	   Rv   R   Rw   R   R>   R   R&   Rx   R1   Ry   Rz   R{   R|   R   R}   (   R   R~   R   Rs   Rt   Rx   R   R€   R   R‚   Rƒ   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyt   test_with_paramsv  s,    !	(c          C` sù  t  j d d d ƒ }  t  j d d d ƒ } t  j d ƒ } d | d <d
 | d <t  j d d g d d g g ƒ } x„d  t g D]v} xmd  t g D]_} t t t	 |  | d | d | d | ƒ} t
 | j d ƒ t | j ƒ t
 | j j d ƒ | j | ƒ } t | d t | ƒ d d ƒt | | ƒ | j | ƒ | } | j | d ƒ | }	 |	 d t  j | ƒ }
 t  j |
 d d d ƒd	 } t t  j | d k  ƒ ƒ t | j | j ƒ | j d d d d ƒt | j | j d ƒ | j d d d d ƒqŽ Wq{ Wd  S(   Ni    i   i
   gš™™™™™©?id   i   i   i   g      à?g-Cëâ6?iþÿÿÿRn   Rs   Rt   Ra   gñhãˆµøä>Ru   gü©ñÒMbP?R`   g»½×Ùß|Û=(   i   i
   g      è?gªLXèz¶ë?(   R   RN   R   R    RO   R3   R5   R   R2   R4   R	   Rv   R   Rw   R   R>   Rx   R   R6   t   dotRy   Rz   R{   R   R}   (   R   R~   R   Rn   Rs   Rt   Rx   R   R€   R   R‚   Rƒ   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyt   test_singular_term—  s,    

!	 (c          C` sþ  t  j d d d ƒ }  t  j d d d ƒ } t  j d |  j d f d t ƒ} x«d  t g D]} x”d  t g D]†} t t	 t
 |  | d | d | ƒ} t | j d ƒ t | j ƒ | j | ƒ } t | d j t | ƒ d	 d
 ƒt | d j t | ƒ d	 d
 ƒt	 | | ƒ } | j | d ƒ | } | d t  j | ƒ }	 t  j t  j |	 t  j |	 ƒ ƒ d d ƒd }
 t t  j |
 d k  ƒ ƒ t t  j | j d k  ƒ ƒ t | j | j ƒ | j d d d	 d ƒt | j | j d ƒ | j d d d	 d ƒql WqY Wd  S(   Ni    i   i   id   i   RH   Rs   Rt   Ra   gñhãˆµøä>Ru   g      à?gü©ñÒMbP?R`   g»½×Ùß|Û=(   R   RN   R-   R   t   complexRO   R   R#   R   R   R   R	   Rv   R   Rw   Rx   R   t   realR%   t   imagRy   Rz   t   conjR{   R|   R   R   R}   (   R   R~   R   Rs   Rt   Rx   R   R€   R   R‚   Rƒ   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyt   test_complex¶  s*    "	  "(c       	   C` sÐ   t  j d d d ƒ }  t  j d |  j f ƒ } t t t |  | d d d d ƒ} t | j d ƒ t	 | j
 ƒ t  j d d d ƒ }  t  j d |  j f ƒ } t t t |  | ƒ } t | j d ƒ t	 | j
 ƒ d  S(   Ni    i   i   t   tolgñhãˆµøä>t	   max_nodesi   (   R   RN   R-   R>   R   R   R   R	   Rv   R   Rw   R8   R9   (   R   R   t   res(    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyt   test_failuresÕ  s    !c    	      C` s‰  d }  t  j d d d ƒ } t  j d |  | j f ƒ } t t t | | ƒ } t | j d ƒ t	 | j
 ƒ | j | ƒ } t | d t | |  ƒ ƒ t | | ƒ } | j | d ƒ | } | d t  j | ƒ } t  j t  j | t  j | ƒ ƒ d d ƒd } t	 t  j | d k  ƒ ƒ t	 t  j | j d k  ƒ ƒ t | j | j ƒ | j d	 d
 d d
 ƒt | j | j d ƒ | j d	 d
 d d
 ƒd  S(   Ni   i    i   i   i   Ru   g      à?gü©ñÒMbP?R`   g»½×Ùß|Û=Ra   (   R   RN   R-   R>   R   R;   R<   R	   Rv   R   Rw   Rx   R   R?   Ry   Rz   R‰   R‹   R{   R|   R   R   R}   (	   R(   R   R   Rx   R   R€   R   R‚   Rƒ   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyt   test_big_problemã  s     /(c    	      C` s…  t  j d d d ƒ }  t  j d d d ƒ } t  j d |  j f ƒ } t t t |  | ƒ } t | j d ƒ t	 | j
 ƒ t	 | j j d k  ƒ | j | ƒ } t | d t | ƒ d d	 d
 d	 ƒt | | ƒ } | j | d ƒ | } | d t  j | ƒ } t  j | d d d ƒd } t	 t  j | d k  ƒ ƒ t | j | j ƒ | j d d d
 d ƒt | j | j d ƒ | j d d d
 d ƒd  S(   Niÿÿÿÿi   i   id   i   i    in   R`   gñhãˆµøä>Ra   Ru   g      à?gü©ñÒMbP?g»½×Ùß|Û=(   R   RN   R-   R>   R   RC   RD   R	   Rv   R   Rw   R   Rx   R   RG   Ry   Rz   R{   R   R}   (	   R   R~   R   Rx   R   R€   R   R‚   Rƒ   (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyt   test_shock_layerû  s     #(c          C` s  t  j d d d ƒ }  t  j d |  j d f ƒ } xÕ d d d g D]Ä } t j } t ƒ  t _ z. t t t	 |  | d | ƒ} t j j
 ƒ  } Wd  | t _ Xt | j ƒ | d k rÁ t | | ƒ n  | d k rã t d | k | ƒ n  | d k rA t d | k | ƒ qA qA Wd  S(   Ni    i   i   i   t   verboses	   Solved ins   Max residual(   R   RN   R-   R   t   syst   stdoutR   R   R   R   t   getvalueR   Rw   (   R   R   R“   t
   old_stdoutRx   t   text(    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyt   test_verbose  s     	
t   __main__(C   t
   __future__R    R   R   R”   R   t   ImportErrort   iot   numpyR   t   numpy.testingR   R   R   R   R   R	   t   scipy.sparseR
   t   scipy.specialR   t   scipy.integrate._bvpR   R   R   R   R   R   R   R   R   R   R#   R%   R'   R+   R,   R/   R1   R2   R3   R4   R5   R6   R8   R9   R;   R<   R?   RC   RD   RG   RL   RR   RV   R]   Rl   Rr   R„   R…   R‡   RŒ   R   R‘   R’   R™   t   __name__(    (    (    s=   /tmp/pip-build-7oUkmx/scipy/scipy/integrate/tests/test_bvp.pyt   <module>   sd   ..																												
	 			5			!						