§
    µ³Ùg  ã                   óh   — 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dS )é    N)Úassert_equalÚassert_allclose)Úodeintc                 óZ   — t          j        | ¦  «        }t          j        || |¦  «         |S ©N)ÚnpÚ
zeros_likeÚ	banded5x5)ÚyÚtÚdydts      ú[/granary/edev/quantum/lib/python3.11/site-packages/scipy/integrate/tests/test_odeint_jac.pyÚrhsr      s+   € ÝŒ=˜ÑÔ€DÝÔ˜˜1˜dÑ#Ô#Ð#Ø€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      sC   € ÝˆA‰Œ€AÝ
Œ(�A�q�6 Ð
%Ñ
%Ô
%€CÝÔ˜A˜q ! 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      sC   € ÝˆA‰Œ€AÝŒ8�Q˜�F #Ð&Ñ&Ô&€DÝÔ˜Q  1 a¨Ñ.Ô.Ð.Ø€Kr   r   r   c                 óF  — | 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         }| 	                    ¦   «         }t          j        |||| ¦  «        \  }}}t          ||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+   s                       r   Úcheck_odeintr>      sO  € Ø•,ÒÐØˆØˆÝˆˆØ	•NÒ	"Ð	"ØˆØˆÝˆˆåÐ8¨WÐ8Ð8Ñ9Ô9Ð9å	Œ�3˜Ñ	Ô	€Bà€DØ€DØ	€BØ€FØ
�RŒY�v˜a‘xÑ Ô Ñ €Aå•s˜B Ø$¨°Ø  t¸ð?ñ ?ô ?�I€Cˆð �ŒW€FØ�e”˜R”€JØ�e”˜R”€JØ�e”˜R”€Jà	�Š‰Œ€BåÔ-¨b°&¸"¸gÑFÔF�M€Cˆˆcõ �F˜B UÐ+Ñ+Ô+Ð+Ý�*˜j¨*Ð5¸¸SÀ#°ÑGÔGÐGÐGÐGr   c                  ó.   — t          t          ¦  «         d S r   )r>   r,   © r   r   Útest_odeint_full_jacrA   E   s   € Ý•ÑÔÐÐÐr   c                  ó.   — t          t          ¦  «         d S 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Ð 7Ð 7Ð 7Ð 7Ð 7Ø "Ð "Ð "Ð "Ð "Ð "Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7ðð ð ðð ð ðð ð ð €Ø€ð#Hð #Hð #HðLð ð ð!ð !ð !ð !ð !r   