U
    Gvf                     @   sr   d dl Zd dlmZmZ d dlmZ d dlm  m	Z
 dd Zdd Zdd	 Zd
ZdZdd Zdd Zdd ZdS )    N)assert_equalassert_allclose)odeintc                 C   s   t | }t|| | |S N)npZ
zeros_like	banded5x5)ytZdydt r
   I/tmp/pip-unpacked-wheel-96ln3f52/scipy/integrate/tests/test_odeint_jac.pyrhs   s    
r   c                 C   s0   t | }tj||fdd}t|| dd| |S )NForder   )lenr   zerosr   Zbanded5x5_jac)r   r	   njacr
   r
   r   r      s    r   c                 C   s0   t | }tjd|fdd}t|| dd| |S )N   r   r   r   )r   r   r   r   Zbanded5x5_bjac)r   r	   r   bjacr
   r
   r   r      s    r   r   r   c                 C   s   | t krd }d }t}n$| tkr,d}d}t}ntd| f tdd}d}d}d}d	}|t|d  }	tt||	|||||d
d	\}
}|
d }|d d }|d d }|d d }|	 }t
|||| \}}}t||dd t|||f|||f d S )N   r   zinvalid jactype: %rg      ?g      @gdy=gvIh%<=g      ?@   T)ZDfunmlmuatolrtolZfull_outputnstnfenjeg-q=)r   )JACTYPE_FULLr   JACTYPE_BANDEDr   
ValueErrorr   Zaranger   r   copyr   Zbanded5x5_solver   r   )Zjactyper   r   ZjacobianZy0r   r   dtZnstepsr	   ZsolinfoZyfinalZ
odeint_nstZ
odeint_nfeZ
odeint_njey1r   r   r    r
   r
   r   check_odeint    s>        
r(   c                   C   s   t t d S r   )r(   r!   r
   r
   r
   r   test_odeint_full_jacF   s    r)   c                   C   s   t t d S r   )r(   r"   r
   r
   r
   r   test_odeint_banded_jacJ   s    r*   )Znumpyr   Znumpy.testingr   r   Zscipy.integrater   Z#scipy.integrate._test_odeint_bandedZ	integrateZ_test_odeint_bandedr   r   r   r   r!   r"   r(   r)   r*   r
   r
   r
   r   <module>   s   &