o
    Ö­j  ã                   @   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)ÚnpÚ
zeros_likeÚ	banded5x5)ÚyÚtÚdydt© r   úb/var/www/html/CropPilot/venv/lib/python3.10/site-packages/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   Úbanded5x5_jac)r	   r
   ÚnÚjacr   r   r   r      ó   r   c                 C   s0   t | ƒ}tjd|fdd�}t || dd|¡ |S )Né   r   r   r   )r   r   r   r   Úbanded5x5_bjac)r	   r
   r   Úbjacr   r   r   r      r   r   r   r   c                 C   sø   | t krd }d }t}n| tkrd}d}t}ntd| ›�ƒ‚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: g      ð?g      @g•dyáý¥=g‚vIhÂ%<=g      À?é@   T)ÚDfunÚmlÚmuÚatolÚrtolÚfull_outputéÿÿÿÿÚnstÚnfeÚnjegê-�™—q=)r"   )ÚJACTYPE_FULLr   ÚJACTYPE_BANDEDr   Ú
ValueErrorr   Úaranger   r   Úcopyr   Úbanded5x5_solver   r   )Újactyper   r    ÚjacobianÚy0r"   r!   ÚdtÚnstepsr
   ÚsolÚinfoÚyfinalÚ
odeint_nstÚ
odeint_nfeÚ
odeint_njeÚy1r%   r&   r'   r   r   r   Úcheck_odeint   s6   
þr:   c                   C   ó   t tƒ d S r   )r:   r(   r   r   r   r   Útest_odeint_full_jacE   ó   r<   c                   C   r;   r   )r:   r)   r   r   r   r   Útest_odeint_banded_jacI   r=   r>   )Únumpyr   Únumpy.testingr   r   Úscipy.integrater   Ú#scipy.integrate._test_odeint_bandedÚ	integrateÚ_test_odeint_bandedr   r   r   r   r(   r)   r:   r<   r>   r   r   r   r   Ú<module>   s    &