
    tKg                     f    d dl Zd dlmZmZ d dlmZ d dlmc m	Z
 d Zd Zd ZdZdZd	 Zd
 Zd Zy)    N)assert_equalassert_allclose)odeintc                 ^    t        j                  |       }t        j                  || |       |S N)np
zeros_like	banded5x5)ytdydts      i/home/alanp/www/video.onchill/myenv/lib/python3.12/site-packages/scipy/integrate/tests/test_odeint_jac.pyrhsr      s'    ==D1d#K    c                     t        |       }t        j                  ||fd      }t        j                  || dd|       |S )NForder   )lenr   zerosr
   banded5x5_jac)r   r   njacs       r   r   r      s:    AA
((Aq6
%CAq!Q,Jr   c                     t        |       }t        j                  d|fd      }t        j                  || dd|       |S )N   r   r   r   )r   r   r   r
   banded5x5_bjac)r   r   r   bjacs       r   r   r      s:    AA88QF#&DQ1a.Kr   r   r   c                    | t         k(  rd }d }t        }n"| t        k(  rd}d}t        }nt	        d|       t        j                  dd      }d}d}d}d	}|t        j                  |dz         z  }	t        t        ||	|||||d
	      \  }
}|
d   }|d   d   }|d   d   }|d   d   }|j                         }t        j                  ||||       \  }}}t        ||d       t        |||f|||f       y )N   r   zinvalid jactype: g      ?g      @gdy=gvIh%<=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+   s                       r   check_odeintr>      s   ,	N	",WK899	3	BDD	BF
RYYvax  AsB$ t?IC WFeRJeRJeRJ	B--b&"gFMCc FBU+*j*5S#Gr   c                  "    t        t               y r   )r>   r,    r   r   test_odeint_full_jacrA   E   s
    r   c                  "    t        t               y r   )r>   r-   r@   r   r   test_odeint_banded_jacrC   I   s
     r   )numpyr   numpy.testingr   r   scipy.integrater   #scipy.integrate._test_odeint_banded	integrate_test_odeint_bandedr
   r   r   r   r,   r-   r>   rA   rC   r@   r   r   <module>rJ      s@     7 " 7 7 #HL!r   