
&]\c           @` s"  d  d l  m Z m Z m Z 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 d  d l Z d  d l m 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 d  d l  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   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 d,   ZB d S(-   i    (   t   divisiont   print_functiont   absolute_import(   t   product(   t   assert_t   assert_allcloset   assert_equalt   assert_no_warnings(   t   raises(   t   suppress_warningsN(   t   group_columns(   t	   solve_ivpt   RK23t   RK45t   Radaut   BDFt   LSODA(   t   OdeSolution(   t   num_jac(   t   ConstantDenseOutput(   t
   coo_matrixt
   csc_matrixc         C` s0   t  j | d d | d | d | d g  S(   Ni    i   i   (   t   npt   array(   t   tt   y(    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyt
   fun_linear   s    c           C` s   t  j d d g d d g g  S(   Niii   (   R   R   (    (    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyt
   jac_linear   s    c         C` sF   t  j d t  j d |   d t  j d |   t  j d |   f  S(   Nii   (   R   t   vstackt   sint   cos(   R   (    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyt
   sol_linear   s    c         C` sG   t  j | d |  | d | d d | d d |  | d d g  S(   Ni   i    i   (   R   R   (   R   R   (    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyt   fun_rational   s    c         C` sG   t  j | d |  | d | d d | d d |  | d d f  S(   Ni   i    i   (   R   R   (   R   R   (    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyt   fun_rational_vectorized"   s    c         C` sg   t  j d d |  g d | d d |  | d d d | d d | d d |  | d d g g  S(   Ni    i   ii   i   (   R   R   (   R   R   (    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyt   jac_rational'   s    #c         C` sd   t  d d |  g d | d d |  | d d d | d d | d d |  | d d g g  S(   Ni    i   ii   i   (   R   (   R   R   (    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyt   jac_rational_sparse/   s    #c         C` s+   t  j |  |  d d |  |  d d f  S(   Ni
   i   (   R   t   asarray(   R   (    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyt   sol_rational7   s    c         C` s  | j  d d } d } d } |  d k r/ d n d } t j | d | | d f  } d | } t j |  d } d | | d d | d } | | d d | d }	 d | d }
 d | d } d | } d | d } t j d |  } | | |
 | | d | |	 | | d | | | |
 | d | | | | | | d  d  d  <| | | | | | d d  d  <| S(	   Ni    i   id   i   i   ii   i   (   t   shapeR   t   hstackt   aranget   empty(   R   R   t   nt   kt   ct   phit   dt   jt   alphat   betat   j_2_p1t   j_2_m3t   j_2_m1t   j_2t   f(    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyt   fun_medazko;   s$    

C$$c         C` s/  g  } g  } t  j |   d } | j | d  | j | d d  | j |  | j |  | j |  | j | d  | j | d   | j | d  d  t  j |   d d } | j |  | j |  | j |  | j | d  t  j |  } t  j |  } t t  j |  | | f f  S(   Ni   i   i(   R   R(   t   appendR'   R   t	   ones_like(   R*   t   colst   rowst   i(    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyt   medazko_sparsityV   s&    c         C` s   | S(   N(    (   R   R   (    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyt   fun_complexv   s    c         C` s   t  j | j d  S(   Ni    (   R   t   eyeR&   (   R   R   (    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyt   jac_complexz   s    c         C` s   t  t |  |   S(   N(   R   R@   (   R   R   (    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyt   jac_complex_sparse~   s    c         C` s!   d t  j |   } | j d  S(   Ng      ?y              ?i   iy      ?      ?(   i   i(   R   t   expt   reshape(   R   R   (    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyt   sol_complex   s    c         C` sY   |  | | | t  j |  } t  j t  j t  j | | j    d d | j d  S(   Nt   axisi    (   R   t   abst   sqrtt   sumt   realt   conjR&   (   R   t   y_truet   rtolt   atolt   e(    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyt   compute_error   s    c          C` s  d }  d } d d g } xt  t t g d d d	 d
 d g d d g d d g g d  t t g  D]}\ } } } } | r t } n t } t   M } | j	 t
 d  t | | | d |  d | d | d t d | d | }	 Wd  QXt |	 j d | d  t |	 j d  k  t |	 j  t |	 j d  t |	 j d k   | d k rgt |	 j d  t |	 j d  nF t d |	 j k  od k  n  t d |	 j k  od k  n  t |	 j  }
 t |	 j |
 |  |  } t t j | d k    t j |   } t |  } |	 j |  } t | | |  |  } t t j | d k    | d | d d } t |  } |	 j |  } t | | |  |  } t t j | d k    | d k r^ t |	 j |	 j  |	 j d d d d q^ q^ Wd  S(   NgMbP?gư>i   i   i   i	   R   R   R   R   R   i   sA   The following arguments have no effect for a chosen solver: `jac`RL   RM   t   methodt   dense_outputt   jact
   vectorizedi    i(   i
   igV瞯<gUUUUUU?gqq?(   R   R   R   (   R   t   Falset   Truet   NoneR"   R#   R!   R    R	   t   filtert   UserWarningR   R   R   R   t   t_eventst   successt   statust   nfevt   njevt   nluR%   RO   R   R   t   allt   linspacet   solR   (   RL   RM   t   y0RS   RP   t   t_spanRR   t   funt   supt   resRK   RN   t   tct   yc_truet   yc(    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyt   test_integration   sT    	"		##c          C` s  d }  d } d g } d d g } t  j | d | d  } xt d d d	 g d  t t g  D]\ } } t   G } | j t d
  t	 t
 | | d | d t d |  d | d | } Wd  QXt | j d | d  t | j d  k  t | j  t | j d  t | j d k   | d	 k rHt | j d  t | j d k   n  t | j d  t | j d  t | j  }	 t | j |	 |  |  }
 t t  j |
 d k    t |  } | j |  } t | | |  |  }
 t t  j |
 d k    q] Wd  S(   NgMbP?gư>g      ?y              ?i    i   R   R   R   sA   The following arguments have no effect for a chosen solver: `jac`RP   RQ   RL   RM   RR   i   i   i   y      ?      ?(   R   R`   R   RV   R@   RA   R	   RW   RX   R   R>   RU   R   R   R   RY   RZ   R[   R\   R]   R^   RD   RO   R   R_   Ra   (   RL   RM   Rb   Rc   Rg   RP   RR   Re   Rf   RK   RN   Rh   Ri   (    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyt   test_integration_complex   s:    		!c       	   C` s  d }  d d g } t  j d |   } d | d d  d  <t |   } xJd d g D]<} t t | | d | d	 | } t | j d | d  t | j d  k  t | j
  t | j d  t | j d d d d t | j d d d d t | j d d d d t | j d d d d t | j d  d d d t | j d! d d d t | j d" d d d t | j d# d d d qQ Wd  S($   Ni   i    i   i   i   R   R   RP   t   jac_sparsityiN   igݨ'.?RL   g{Gz?iO   RM   gMbP?i   ghen7?i   i   gՊ.?i   ggJ	T>i   i   g`P^?(   iN   i(   iO   i(   i   i(   i   i(   i   i(   i   i(   i   i(   i   i(   R   t   zerosR=   R   R7   R   R   R   RY   RV   RZ   R[   R   R   (   R*   Rc   Rb   t   sparsityRP   Rf   (    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyt"   test_integration_sparse_difference   s(    	c          C` s  d }  d } d d g } d d g } t    } t |  } xt d d g | | g  D]\ } } t t | | d |  d | d	 | d
 t d | } t | j d | d  t | j	 d  k  t | j  t | j d  t | j d k   t | j d  t d | j k  od k  n  t | j  }	 t | j |	 |  |  }
 t t j |
 d k    t j |   } t |  } | j |  } t | | |  |  }
 t t j |
 d k    t | j | j  | j d d d d qU Wd  S(   NgMbP?gư>i    i   R   R   RL   RM   RP   RQ   RR   id   i   i
   g+=(   R   R   R   R   R   RU   R   R   R   RY   RV   RZ   R[   R\   R]   R^   R   RO   R   R   R_   R`   Ra   R   (   RL   RM   Rb   Rc   t   Jt   J_sparseRP   RR   Rf   RK   RN   Rg   Rh   Ri   (    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyt   test_integration_const_jac	  s2    	(#c    	      C` s  d   }  d   } d   } t  | _ xd d d d d g D]} t t d	 d
 g d d g d | d |  | f } t | j d  t | j d j d  t | j d j d  t d | j d d k  o d k  n  t d | j d d k  o d k  n  d |  _	 d | _	 t t d	 d
 g d  d! g d | d |  | f } t | j d  t | j d j d  t | j d j d  t d | j d d k  od k  n  d |  _	 d | _	 t t d	 d
 g d" d# g d | d |  | f } t | j d  t | j d j d  t | j d j d  t d | j d d k  oTd k  n  d |  _	 d | _	 t t d	 d
 g d$ d% g d | d |  | | f d t  } t | j d  t | j d j d  t | j d j d  t | j d j d  t d | j d d k  od k  n  t d | j d d k  oJd k  n  t t d	 d
 g d& d' g d | d |  d t  } t | j d  t | j d j d  t d | j d d k  od k  n  t
 j | j d | j d  } t |  } | j |  } t | | d d  } t t
 j | d	 k    q: Wd |  _	 d | _	 xd d d d d g D]} t t d
 d	 g d( d) g d | d |  | f } t | j d  t | j d j d  t | j d j d  t d | j d d k  o d k  n  t d | j d d k  o+d k  n  d |  _	 d | _	 t t d
 d	 g d* d+ g d | d |  | f } t | j d  t | j d j d  t | j d j d  t d | j d d k  od k  n  d |  _	 d | _	 t t d
 d	 g d, d- g d | d |  | f } t | j d  t | j d j d  t | j d j d  t d | j d d k  od k  n  d |  _	 d | _	 t t d
 d	 g d. d/ g d | d |  | | f d t  } t | j d  t | j d j d  t | j d j d  t | j d j d  t d | j d d k  oLd k  n  t d | j d d k  owd k  n  t
 j | j d | j d  } t |  } | j |  } t | | d d  } t t
 j | d	 k    qgWd  S(0   Nc         S` s   | d | d d S(   Ni    i   gffffff?(    (   R   R   (    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyt   event_rational_1,  s    c         S` s   | d d | d S(   Ni   g333333?i    (    (   R   R   (    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyt   event_rational_2/  s    c         S` s   |  d S(   Ng@(    (   R   R   (    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyt   event_rational_32  s    R   R   R   R   R   i   i   i   i   i   i	   RP   t   eventsi    g333333@g@g333333@g@iRQ   g      @gMbP?gư>i   i   iQ   gUUUUUU?gqq?gUUUUUU?gqq?gUUUUUU?gqq?gUUUUUU?gqq?gUUUUUU?gqq?gqq?gX<ݚ?gqq?gX<ݚ?gqq?gX<ݚ?gqq?gX<ݚ?(   RU   t   terminalR   R    R   R[   RY   t   sizeR   t	   directionR   R`   R   R%   Ra   RO   R_   (	   Rs   Rt   Ru   RP   Rf   Rg   Rh   Ri   RN   (    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyt   test_events+  s    				!++		!+		!+		!++!+ 		!++		!+		!+		!++ c          C` s  d }  d } d d g } xnt  t t t t g D]W} xNd d g d d g f D]4} t t | | d |  d	 d
 d | d | d t } t | j	 d | d  t | j	 d | d  t
 t j t j t j | j	   d
 k   t
 | j d  k  t
 | j  t | j d  t | j	  } t | j | |  |  } t
 t j | d k    t j |   } t |  }	 | j |  }
 t |
 |	 |  |  } t
 t j | d k    | t k	 rt | j | j	  | j d d d d n  t t | t | d | | d d	 d | t k	 rM | t | d | | d d |  d | d	 d } | j   } t | j d  t
 d | k  t t | j  qM qM Wq. Wd  S(   NgMbP?gư>i   i   i   i	   i   RL   t   max_stepg      ?RM   RP   RQ   i    igV瞯<g#B;t   faileds   step size is lessgUUUUUU?gqq?(   R   R   R   R   R   R   R    RU   R   R   R   R   R_   RF   t   diffRY   RV   RZ   R[   R%   RO   R   R`   Ra   R   t   assert_raisest
   ValueErrort   stept   RuntimeError(   RL   RM   Rb   RP   Rc   Rf   RK   RN   Rg   Rh   Ri   t   solvert   message(    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyt   test_max_step  sB    	.+c          C` s9  d }  d } d d g } d } xt  t t t t g D]} xd d g d d g f D]} t t | | d	 |  d
 d d | d | d t d | } t | j	 d | d  t | j	 d | d  t
 | t j | j	 d d   t | j d  k  t | j  t | j d  t | j	  } t | j | |  |  } t t j | d k    t j |   }	 t |	  }
 | j |	  } t | |
 |  |  } t t j | d k    | t k	 rt
 | j | j	  | j d	 d d d n  t t | t | d | | d d d t t | t | d | | d d d qS Wq4 Wd  S(   NgMbP?gư>i   i   i   i	   g?i   RL   R{   g      ?RM   RP   RQ   t
   first_stepi    igV瞯<gUUUUUU?gqq?(   R   R   R   R   R   R   R    RU   R   R   R   R   RF   R   RY   RV   RZ   R[   R%   RO   R   R_   R`   Ra   R~   R   (   RL   RM   Rb   R   RP   Rc   Rf   RK   RN   Rg   Rh   Ri   (    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyt   test_first_step  s:    !+c          C` s  d }  d } d d g } x d d g d d g f D] } t  j | d | d d	  } t t | | d
 |  d | d | } t | j |  t | j d  k  t | j	  t | j
 d  t | j  } t | j | |  |  } t t  j | d k    q1 Wd d d d d d g } t t d d g | d
 |  d | d | } t | j |  t | j d  k  t | j	  t | j
 d  t | j  } t | j | |  |  } t t  j | d k    d d d d d d d g } t t d d g | d
 |  d | d | } t | j |  t | j d  k  t | j	  t | j
 d  d d d d g } t t d d g | d
 |  d | d | } t | j |  t | j d  k  t | j	  t | j
 d  t | j  } t | j | |  |  } t t  j | d k    d d d d d g } t t d d g | d
 |  d | d | } t | j |  t | j d  k  t | j	  t | j
 d  d d g } t t t t d d g | d
 |  d | d | d  S(   NgMbP?gư>i   i   i   i	   i   i    i
   RL   RM   t   t_evalg
ףp=
@i   i   gQ @g(\@g      ?g?g)\(?i   i   gUUUUUU?gqq?(   R   R`   R   R    R   R   R   RY   RV   RZ   R[   R%   RO   R   R_   R~   R   (   RL   RM   Rb   Rc   R   Rf   RK   RN   (    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyt   test_t_eval  sf    	!	!	!	!	c    	      C` si  d }  d } d d g } d d g } t  j | d | d d	  } t t | | d
 |  d | d | } t t | | d
 |  d | d | d t } t | j |  t | j d  k  t | j
  t | j d  t | j | j  t | j | j  t | j d  k  t | j
  t | j d  t | j  } t | j | |  |  } t t  j | d k    d  S(   NgMbP?gư>i   i   i   i	   i   i    i
   RL   RM   R   RQ   gUUUUUU?gqq?(   R   R`   R   R    RU   R   R   R   RY   RV   RZ   R[   R   R%   RO   R_   (	   RL   RM   Rb   Rc   R   Rf   t   res_dRK   RN   (    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyt   test_t_eval_dense_output0  s*    	c       	   C` s   x d d d d d g D] }  t  d   d d g d d	 g d
 |  d t } t | j d  d d	 g  t | j d d d g  d d d g d	 d	 d	 g g  q Wd  S(   NR   R   R   R   R   c         S` s   | S(   N(    (   R   R   (    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyt   <lambda>M  s    i   i   i   RP   RQ   i   i   (   R   RU   R   Ra   (   RP   Ra   (    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyt   test_no_integrationK  s
    c          C` s.  x't  t t t t g D]}  |  d   d d d g d  } | j   t | j d  | j   } t | d  d d g  t | d d d g  d d d g d d d g g  |  d	   d g  t	 j
  } | j   t | j d  | j   } t | d
  g   t | d d d g  t	 j d   q Wd  S(   Nc         S` s   | S(   N(    (   R   R   (    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyR   U  s    g        g      $@t   finishedi    i   i   i
   c         S` s   | S(   N(    (   R   R   (    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyR   \  s    g      Y@i   (   i    i   (   R   R   R   R   R   R   R   R[   RQ   R   t   infR)   (   RP   R   Ra   (    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyt   test_no_integration_classS  s    
4
c       
   C` s;  d   }  t  j d  } x d d d d d g D]t } t t |  d d g | d	 | d
 t } t | j d  t  j d   t | j d d d g  t  j d   q. Wx d d d d d g D]w } t t |  d t  j g | d	 | d
 t } t | j d  t  j d   t | j d d d g  t  j d   q Wd  S(   Nc         S` s   t  j d  S(   Ni    (   i    (   R   Rm   (   R   R   (    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyRd   e  s    i    R   R   R   R   R   i
   RP   RQ   i   i   i   (   i    (   i    (   i    i   (   i    (   i    i   (   R   Rm   R   R   RU   R   Ra   R   (   Rd   Rb   RP   Ra   (    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyt
   test_emptyd  s    	,c          C` s   t  d d t j d d g   }  t |  d  d d g  t |  d d d g  d d d g d d d g g  t  d d t j g    }  t |  d  t j d   t |  d d d g  t j d   d  S(   Ni    i   i   g      ?i   (   i    i   (   R   R   R   R   R)   (   Ra   (    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyt   test_ConstantDenseOutputw  s    !4c          C` sL  d d g }  x9t  t t t t g D]"} | t d |  t j  } t | j	 d  t | j
 d  t | j t j  t | j d  t | j d  t | j |   t | j d  k  | t k	 r t | j d k  t | j d k  t | j d  n0 t | j d  t | j d  t | j d  t t | j  | j   } t | j
 d  t | d   t | j	 d  t | j t j  t | j d  t | j d k  t t j t j | j |     t | j d k  t | j d k  t | j d k  t | j d k  | j   } t | d  |  d d	 d
 d q" Wd  S(   Ni   i   i   i	   i   t   runningi    RL   gV瞯<RM   gUUUUUU?gqq?(   R   R   R   R   R   R    R   R   R   R*   R[   t   t_boundRy   R   R   R   t	   step_sizeRV   R\   R]   R^   R~   R   RQ   R   R_   t   equalR   (   Rb   t   clsR   R   Ra   (    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyt   test_classes  s@    #c          C` sp  t  j d d d g d t }  t |  d |  d t  j d g   } t |  d |  d t  j d g   } t |  | | g  } t | d  d g  t | d  d g  t | d  d g  t | d  d g  t | d  d g  t | d  d g  t | d d d	 d
 d d d d d g	  t  j d d d d d d d d d g	 g   t  j d d d g  }  t |  d |  d t  j d g   } t |  d |  d t  j d g   } t |  | | g  } t | d  d g  t | d  d g  t | d  d g  t | d  d g  t | d  d g  t | d  d g  t | d  d g  t | d d d d d d d g  t  j d d d d d d d g g   t  j d d g  }  t d d t  j d g   } t |  | g  } t | d  d g  t | d  d g  t | d  d g  t | d d d g  t  j d d d g g   d  S(   Ni    i   i   t   dtypei   ii   i   ig      ?g      @g      @g      @i
   i   ii   ii   i(   R   R   t   floatR   R   R   (   t   tst   s1t   s2Ra   t   s(    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyt   test_OdeSolution  s@    &&'.&&!(c    	      C` s   d   }  d   } d } t  j d d d g  } | | |  } d } |  | |  j   } t |  | | | | d   \ } } t | | d d d d t |  | | | | |  \ } } t | | d d d d d  S(   Nc         S` sj   t  j d | d d | d | d d | d d | d | d d | d d d | d d g  S(   Ng{Gzi    g     @i   i   g{Gz?g    8|A(   R   R   (   R   R   (    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyRd     s    /c         S` se   t  j d d | d d | d g d d | d d | d d | d g d d | d d g g  S(	   Ng{Gzg     @i   i   g{Gz?g     g    8Ai    (   R   R   (   R   R   (    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyRR     s    (i   i    gh㈵>RL   RM   (   R   R   t   ravelR   RV   R   (	   Rd   RR   R   R   t   J_truet	   thresholdR6   t   J_numt   factor(    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyt   test_num_jac  s    		!!c       
   C` s  d   }  d   } t  j j d  d } t  j j |  } | |  } t |  } |  d | d  d   d  f  j   } t |  d | j   | d d  d | | f \ } } t |  d | j   | d d   \ }	 }
 t |	 | j	   d d d	 d
 t |
 | d d d	 d
 t  j j
 d d d | } t |  d | j   | d | d | | f \ } } t |  d | j   | d |  \ }	 }
 t |	 | j	   d d d	 d
 t |
 | d d d	 d
 d  S(   Nc         S` s^   | d d | d  d } t  j | j d  } t  j | d | f  t  j d | | f  S(   Ni   i   ii   (   R   Rm   R&   R   (   R   R   RN   t   z(    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyRd     s    c         S` 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(   NR   i   i    i   ii(   i    i    (   i    i   (   ii(   ii(   R   Rm   t   intt   range(   R*   t   AR<   (    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyt	   structure  s    

"

i    i   g:0yE>Rn   RL   g-q=RM   g+=Rx   (   R   t   randomt   seedt   randnR
   RV   R   R   R   t   toarrayt   uniform(   Rd   R   R*   R   R   t   groupsR6   t   J_num_sparset   factor_sparset   J_num_denset   factor_denseR   (    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyt   test_num_jac_sparse  s*    		%''(C   t
   __future__R    R   R   t	   itertoolsR   t   numpy.testingR   R   R   R   t   pytestR   R~   t   scipy._lib._numpy_compatR	   t   numpyR   t   scipy.optimize._numdiffR
   t   scipy.integrateR   R   R   R   R   R   R   t   scipy.integrate._ivp.commonR   t   scipy.integrate._ivp.baseR   t   scipy.sparseR   R   R   R   R   R    R!   R"   R#   R%   R7   R=   R>   R@   RA   RD   RO   Rj   Rk   Ro   Rr   Rz   R   R   R   R   R   R   R   R   R   R   R   R   (    (    (    s=   lib/python2.7/site-packages/scipy/integrate/tests/test_ivp.pyt   <module>   sV   ".										 						=	&		"	t	,	'	>					
	&	+	