U
    mhʇ                  	   @   s  d dl mZ d dlmZmZmZmZmZ d dl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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d Zdd Z dd Z!dd Z"dd Z#dd Z$dd Z%dd Z&dd Z'dd Z(dd  Z)d!d" Z*d#d$ Z+d%d& Z,d'd( Z-d)d* Z.d+d, Z/d-d. Z0d/d0 Z1d1d2 Z2ej3j4ej35d3d4d5d6gd7d8 Z6d9d: Z7d;d< Z8d=d> Z9d?d@ Z:dAdB Z;dCdD Z<dEdF Z=dGdH Z>dIdJ Z?dKdL Z@dMdN ZAdOdP ZBdQdR ZCdSdT ZDdUdV ZEdWdX ZFej35d3dYdZd[d4d5d6gd\d] ZGd^d_ ZHdS )`    )product)assert_assert_allcloseassert_equalassert_no_warningssuppress_warningsN)raises)group_columns)	solve_ivpRK23RK45DOP853RadauBDFLSODA)OdeSolution)num_jac)ConstantDenseOutput)
coo_matrix
csc_matrixc                 C   s
   t |S N)np
zeros_likety r   G/tmp/pip-unpacked-wheel-9oz00b9h/scipy/integrate/_ivp/tests/test_ivp.pyfun_zero   s    r   c                 C   s,   t |d  d|d   |d |d  gS )Nr         r   arrayr   r   r   r   
fun_linear   s    r#   c                   C   s   t ddgddggS )Nr    r!   r   r   r   r   
jac_linear   s    r&   c                 C   s8   t dt d|   dt d|   t d|   fS )Nr%      )r   vstacksincosr   r   r   r   
sol_linear   s    r,   c                 C   sB   t |d |  |d |d d|d   d  | |d d   gS Nr    r   r'   r!   r   r   r   r   fun_rational    s    .r.   c                 C   sB   t |d |  |d |d d|d   d  | |d d   fS r-   r   r(   r   r   r   r   fun_rational_vectorized%   s    .r0   c                 C   s^   t dd|  gd|d d  | |d d d   |d d|d   d | |d d   ggS Nr   r    r'      r!   r   r   r   r   jac_rational*   s    
"&r4   c                 C   s\   t dd|  gd|d d  | |d d d   |d d|d   d | |d d   ggS r1   )r   r   r   r   r   jac_rational_sparse2   s    
"&r5   c                 C   s&   t | | d  d|  | d d  fS )N
   r'   )r   Zasarrayr+   r   r   r   sol_rational:   s    r7   c                 C   sF  |j d d }d}d}| dkr"dnd}t|d||d f}d| }t|d }d|| d d  |d  }|| d d |d  }	d| d }
d| d }d| }d| d }td| }|||
 ||   d|  |	|| d||   ||
   |d   |||  ||   |d d d< | ||  ||  |dd d< |S )	Nr   r'   d   r3   r   r2   r       )shaper   hstackarangeempty)r   r   nkcphidjalphabetaZj_2_p1Zj_2_m3Zj_2_m1Zj_2fr   r   r   fun_medazko>   s*    & rG   c                 C   s   g }g }t | d }||dd   ||dd  d  || || || ||d  ||d d  ||d d d  t | d d }|| || || ||d  t |}t |}tt |||ffS )Nr'   r    r$   )r   r<   appendr;   r   	ones_like)r>   colsZrowsir   r   r   medazko_sparsityY   s&    







rL   c                 C   s   | S r   r   r   r   r   r   fun_complexy   s    rM   c                 C   s   t |jd  S )Nr   )r   Zeyer:   r   r   r   r   jac_complex}   s    rN   c                 C   s   t t| |S r   )r   rN   r   r   r   r   jac_complex_sparse   s    rO   c                 C   s   dt |   }|dS )N      ?      ?)r    r$   )r   expZreshaper   r   r   r   sol_complex   s    rR   c                 C   s:   | | ||t |   }t jj|ddt |jd  S )Nr   )Zaxis)r   abslinalgnormsqrtr:   )r   y_truertolatoler   r   r   compute_error   s    r[   c                  C   s:  d} d}ddg}t ddgddd	d
ddgddgddggd ttgD ]\}}}}|rXt}nt}t ,}|td t|||| ||d||d	}	W 5 Q R X t	|	j
d |d  t|	jd k t|	jd k t|	j t	|	jd |d	krt|	jdk  nt|	jdk  |dkr$t	|	jd t	|	jd n@td|	j  k o<dk n   td|	j  k o\dk n   t|	j
}
t|	j|
| |}tt|dk  tj| }t|}|	|}t||| |}tt|dk  |d |d  d }t|}|	|}t||| |}tt|dk  |dkr@t|	|	j
|	jddd q@d S )NMbP?ư>UUUUUU?qq?FTr   r   r   r   r   r   r   	   r    AThe following arguments have no effect for a chosen solver: `jac`)rX   rY   methoddense_outputjac
vectorizedr   2   (   )r   r   r   r   r9   r6   r$   r'   V瞯<rX   rY   )r   r4   r5   r0   r.   r   filterUserWarningr
   r   r   r   t_eventsy_eventssuccessstatusnfevnjevnlur7   r[   r   r   alllinspacesolr   )rX   rY   y0re   rb   t_spanrd   funsupresrW   rZ   tcyc_trueycr   r   r   test_integration   sf    
   

  



r~   c                  C   s  d} d}dg}ddg}t |d |d }tdddd	gd ttgD ]R\}}t *}|td
 tt	|||d| ||d}W 5 Q R X t
|jd |d  t|jd k t|jd k t|j t
|jd |dkr|jdk stn|jdk st|d	krt
|jd |jdk s6tn |jdks&t|jdks6tt|j}	t|j|	| |}
t |
dk sdtt|}||}t||| |}
t |
dk sBtqBd S )Nr\   r]   rP   r   r    r   r   r   r   ra   T)rb   rc   rX   rY   rd   #         r   )r   rt   r   rN   rO   r   rj   rk   r
   rM   r   r   r   rl   rm   rn   ro   rp   AssertionErrorrq   rr   rR   r[   r   rs   ru   )rX   rY   rv   rw   r{   rb   rd   ry   rz   rW   rZ   r|   r}   r   r   r   test_integration_complex   sL    
   



r   c                  C   s6  d} ddg}t d|  }d|dd d< t| }dD ]}tt||||d}t|jd |d  t|jd k 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 q4d S )N   r      r'   r    )r   r   )rb   Zjac_sparsity)N   r$   gݨ'.?g{Gz?rX   )O   r$   r\   rY   )   r$   ghen7?)   r$   )   r$   gՊ.?)   r$   ggJ	T>)   r$   )   r$   g`P^?)r   zerosrL   r
   rG   r   r   r   rl   rm   rn   ro   r   r   )r>   rw   rv   sparsityrb   rz   r   r   r   "test_integration_sparse_difference   s,    

r   c                  C   s`  d} d}ddg}ddg}t  }t|}tddg||gD ] \}}tt||| ||d|d}t|jd |d  t|jd k t|j	d k t|j
 t|jd t|jd	k  t|jd td|j  k od
k n   t|j}	t|j|	| |}
tt|
dk  tj| }t|}||}t||| |}
tt|
d
k  t||j|jddd q8d S )Nr\   r]   r   r'   r   r   T)rX   rY   rb   rc   rd   r8      r6   +=ri   )r&   r   r   r
   r#   r   r   r   rl   rm   rn   ro   rp   rq   rr   r,   r[   r   r   rs   rt   ru   r   )rX   rY   rv   rw   JZJ_sparserb   rd   rz   rW   rZ   r{   r|   r}   r   r   r   test_integration_const_jac  s:      



r   rb   r   r   r   c                 C   sV   d}d}dddg}ddg}dd }t |||||| d}|jdk sDt|jd	k sRtd S )
Nr]        @r   g    חAc                 S   sH   |\}}}d| d| |  d| d| |  d| |  d| | gS )N{Gzr   {Gz?    8|Ar   )r   statexr   zr   r   r   fun_robertsonE  s
    

z-test_integration_stiff.<locals>.fun_robertson)rX   rY   rb   i  r   )r
   rp   r   rq   )rb   rX   rY   rv   Ztspanr   rz   r   r   r   test_integration_stiff=  s    

 r   c            	   	   C   s
  dd } dd }dd }d|_ dD ]$}ttd	d
gddg|| |fd}t|jd t|jd jd t|jd jd td|jd d   k odk n   td|jd d   k odk n   t|jd j	d t|jd j	d t
| |jd d |jd d dstt
||jd d |jd d ds>td| _d|_ttd	d
gddg|| |fd}t|jd t|jd jd t|jd jd td|jd d   k odk n   t|jd j	d t|jd j	d t
| |jd d |jd d dstd| _d|_ttd	d
gddg|| |fd}t|jd t|jd jd t|jd jd td|jd d   k odk n   t|jd j	d t|jd j	d t
||jd d |jd d dstd| _d|_ttd	d
gddg|| ||fdd}t|jd t|jd jd t|jd jd t|jd jd td|jd d   k ordk n   td|jd d   k odk n   t|jd j	d t|jd j	d t|jd j	d t
| |jd d |jd d dstt
||jd d |jd d ds0tttd	d
gddg|| dd}t|jd t|jd jd td|jd d   k odk n   t|jd j	d t
| |jd d |jd d dstt
|jd |jd }t|}||}t||dd}tt
|d	k  t
jt|jd d |jd d ddds"tq"d| _d|_dD ]}ttd
d	gddg|| |fd}t|jd t|jd jd t|jd jd td|jd d   k odk n   td|jd d   k odk n   t|jd j	d t|jd j	d t
| |jd d |jd d dsNtt
||jd d |jd d dsztd| _d|_ttd
d	gddg|| |fd}t|jd t|jd jd t|jd jd td|jd d   k odk n   t|jd j	d t|jd j	d t
| |jd d |jd d dsLtd| _d|_ttd
d	gddg|| |fd}t|jd t|jd jd t|jd jd td|jd d   k odk n   t|jd j	d t|jd j	d t
||jd d |jd d dstd| _d|_ttd
d	gddg|| ||fdd}t|jd t|jd jd t|jd jd t|jd jd td|jd d   k odk n   td|jd d   k odk n   t|jd j	d t|jd j	d t|jd j	d t
||jd d |jd d d	s@tt
||jd d |jd d d	sltt
|jd |jd }t|}||}t||dd}tt
|d	k  t
jt|jd d |jd d ddd	stt
jt|jd d |jd d dddsZtqZd S )Nc                 S   s   |d |d d  S )Nr   r    gffffff?r   r   r   r   r   event_rational_1V  s    z%test_events.<locals>.event_rational_1c                 S   s   |d d |d  S )Nr    g333333?r   r   r   r   r   r   event_rational_2Y  s    z%test_events.<locals>.event_rational_2c                 S   s   | d S )Ng@r   r   r   r   r   event_rational_3\  s    z%test_events.<locals>.event_rational_3Tr   r   r   r   r   r   r      r^   r_   )rb   eventsr   r    g333333@g@g333333@g@)r    r'   r   r$   )rb   r   rc   r'         @r\   r]   ri   gqq?gX<ݚ?)terminalr
   r.   r   ro   rl   sizer   rm   r:   r   iscloser   	directionrt   r   r7   ru   r[   rs   Zallclose)	r   r   r   rb   rz   r{   r|   r}   rZ   r   r   r   test_eventsU  sf   
&& 
 
( 
( 
(( 
 
 ( 

0
(( 
 
( 
( 
(( 
 

0r   c                  C   s  d} d}ddg}t tttttfD ]}ddgddgfD ]}tt||| d||d	d
}t|j	d |d  t|j	d |d  t
ttt|j	dk t
|jd k t
|j t|jd t|j	}t|j|| |}t
t|dk  tj| }t|}	||}
t|
|	| |}t
t|dk  |tk	rLt||j	|jddd tt|t|d ||d dd |tk	r6|t|d ||d | |dd}| }t|jd t
d|k tt|j q6q d S )Nr\   r]   r^   r_   r   r`   r          ?T)rX   max_steprY   rb   rc   r   r$   g	     ?rh   ri   )r   g#B;)rX   rY   r   failedzstep size is less)r   r   r   r   r   r   r
   r.   r   r   r   r   rs   rS   Zdiffrl   rn   ro   r7   r[   r   rt   ru   r   assert_raises
ValueErrorstepRuntimeError)rX   rY   rv   rb   rw   rz   rW   rZ   r{   r|   r}   solvermessager   r   r   test_max_step  sR    
   




   r   c                  C   s  d} d}ddg}d}t tttttfD ]d}ddgddgfD ]L}tt||| d	||d
|d	}t|j	d |d  t|j	d |d  t
|t|j	d d  t|jd k t|j t|jd t|j	}t|j|| |}tt|dk  tj| }	t|	}
||	}t||
| |}tt|dk  |tk	rLt
||j	|jddd tt|t|d ||d dd tt|t|d ||d dd q:q$d S )Nr\   r]   r^   r_   皙?r   r`   r    r   T)rX   r   rY   rb   rc   
first_stepr   r$   rh   ri   )r   )r   r   r   r   r   r   r
   r.   r   r   r   r   rS   r   rl   rn   ro   r7   r[   r   rs   rt   ru   r   r   )rX   rY   rv   r   rb   rw   rz   rW   rZ   r{   r|   r}   r   r   r   test_first_step.  sJ    
   




  r   c               
   C   s  d} d}ddg}ddgddgfD ]}t |d |d d	}tt||| ||d
}t|j| t|jd k t|j t|j	d t
|j}t|j|| |}tt |dk  q ddddddg}ttddg|| ||d
}t|j| t|jd k t|j t|j	d t
|j}t|j|| |}tt |dk  dddddddg}ttddg|| ||d
}t|j| t|jd k t|j t|j	d ddddg}ttddg|| ||d
}t|j| t|jd k t|j t|j	d t
|j}t|j|| |}tt |dk  dddddg}ttddg|| ||d
}t|j| t|jd k t|j t|j	d ddg}ttttddg|| ||d
 d S )Nr\   r]   r^   r_   r   r`   r    r   r6   rX   rY   t_evalg
ףp=
@   r   gQ @g(\@r9         ?g?g)\(?r3   r   )r   rt   r
   r.   r   r   r   rl   rn   ro   r7   r[   r   rs   r   r   )rX   rY   rv   rw   r   rz   rW   rZ   r   r   r   test_t_evalU  sv    







  r   c            	   	   C   s   d} d}ddg}ddg}t |d |d d	}tt||| ||d
}tt||| ||dd}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 |dk  d S )Nr\   r]   r^   r_   r   r`   r   r    r6   r   T)rX   rY   r   rc   )r   rt   r
   r.   r   r   r   rl   rn   ro   r   r7   r[   rs   )	rX   rY   rv   rw   r   rz   Zres_drW   rZ   r   r   r   test_t_eval_dense_output  s0     


r   c            	      C   s   dd } d| _ d}d}ddg}dd	g}td
d	d}dD ]}t ,}|td tt||||||| td	}W 5 Q R X |j	s~t
|jdkst
|jdkst
|js|jrt
t|jdkst
|jd jdkst
|jd d dks8t
q8d S )Nc                 S   s   | d S )Nr   r   r   r   r   r   early_event  s    z,test_t_eval_early_event.<locals>.early_eventTr\   r]   r^   r_   r   r`   r      r   ra   )rX   rY   rb   r   r   rd   zA termination event occurred.r    r   r   )r   r   rt   r   rj   rk   r
   r.   r4   rn   r   r   ro   r   r   lenrl   r   )	r   rX   rY   rv   rw   r   rb   ry   rz   r   r   r   test_t_eval_early_event  s2      
r   c                  C   sf   dD ]\} t dd ddgddg| dd}t|dddg t|dd	d
gdddgdddgg qd S )Nr   c                 S   s   | S r   r   r   r   r   r   <lambda>      z%test_no_integration.<locals>.<lambda>r3   r'   r9   Trb   rc   r   r   )r
   r   ru   )rb   ru   r   r   r   test_no_integration  s     r   c                  C   s   t tttttfD ]} | dd dddgd}|  t|jd |	 }t|dddg t|dddgd	d	d	gdddgg | d
d dg t
j}|  t|jd |	 }t|dg  t|dddgt
d qd S )Nc                 S   s   | S r   r   r   r   r   r   r     r   z+test_no_integration_class.<locals>.<lambda>g        g      $@finishedr   r    r'   r6   c                 S   s   | S r   r   r   r   r   r   r     r   g      Y@r   r9   )r   r   r   r   r   r   r   r   ro   rc   r   infr=   )rb   r   ru   r   r   r   test_no_integration_class  s    $r   c               	   C   s   dd } t d}dD ]N}tt| ddg||dd}t|dt d t|d	d
dgt d qdD ]P}tt| dt jg||dd}t|dt d t|d	d
dgt d qjd S )Nc                 S   s
   t dS )Nr   )r   r   r   r   r   r   rx     s    ztest_empty.<locals>.funr   r   r   r6   Tr   r    r'   r9   r   )r   r   r   r
   r   ru   r   )rx   rv   rb   ru   r   r   r   
test_empty  s     
  r   c                  C   s   t ddt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g } t| dtd t| dddgtd d S )Nr   r    r'   r   r   )r   r   r"   r   r=   )ru   r   r   r   test_ConstantDenseOutput  s    $r   c                  C   s  ddg} t tttttf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	rt|jdk t|jdk t	|jd n$t	|jd t	|jd t	|jd tt|j | }t	|jd t	|d  t	|j
d t	|jtj t	|jd t|jdk ttt|j|   t|jdk t|jdk t|jdk t|jdk | }t|d| ddd	 qd S )
Nr^   r_   r   r'   Zrunningr    r   rh   ri   )r   r   r   r   r   r   r.   r   r   r   r>   ro   Zt_boundr   r   r   r   Z	step_sizerp   rq   rr   r   r   rc   r   rs   equalr   )rv   clsr   r   ru   r   r   r   test_classes   s@    
r   c                  C   sp  t jdddgtd} t| d | d t dg}t| d | d t 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 dddddddddg	g t dddg} t| d | d t dg}t| d | d t 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 dddddddgg t ddg} tddt dg}t| |g}t|ddg t|ddg t|ddg t|dddgt dddgg d S )Nr   r'   r   Zdtyper    r$   r9   r   r2   r   g      @g      @g      @r6   r3         r%   )r   r"   floatr   r   r   )tss1s2ru   sr   r   r   test_OdeSolution&  sD    r   c            	      C   s   dd } dd }d}t dddg}|||}d}| || }t| ||||d \}}t||ddd t| |||||\}}t||ddd d S )	Nc                 S   sd   t d|d  d|d  |d   d|d  d|d  |d   d|d d   d|d d  gS )Nr   r   r   r    r'   r   r   r/   r   r   r   r   rx   R  s
    .ztest_num_jac.<locals>.func                 S   sV   t dd|d  d|d  gdd|d  d|d   d|d  gdd|d  dggS )	Nr   r   r'   r    r   g     g    8Ar   r!   r   r   r   r   rd   Y  s
    $ztest_num_jac.<locals>.jacr    r   gh㈵>ri   )r   r"   ravelr   r   )	rx   rd   r   r   ZJ_true	thresholdrF   ZJ_numfactorr   r   r   test_num_jacQ  s    
r   c               	   C   s,  dd } dd }t jd d}t j|}||}t|}| d|d d d f  }t| d| |dd ||fd\}}t| d| |dd \}	}
t|	| d	d
d t|
|d	d
d t jj	dd	|d}t| d| |d|||fd\}}t| d| |d|\}	}
t|	| d	d
d t|
|d	d
d d S )Nc                 S   sT   |dd  d |d d d  }t |jd }t |d| ft d| |f S )Nr    r9   r$   r'   )r   r   r:   r(   )r   r   rZ   r   r   r   r   rx   n  s     z test_num_jac_sparse.<locals>.func                 S   sb   t j| | ftd}d|d< d|d< td| d D ]}d|||d |d f< q0d|d< d|d< |S )Nr   r    )r   r   r   r    r'   )r$   r$   )r$   r2   )r   r   intrange)r>   ArK   r   r   r   	structures  s    z&test_num_jac_sparse.<locals>.structurer   r   g:0yE>)r   -q=r   ri   )r   )
r   randomseedZrandnr	   r   r   r   Ztoarrayuniform)rx   r   r>   r   r   groupsrF   ZJ_num_sparseZfactor_sparseZJ_num_denseZfactor_denser   r   r   r   test_num_jac_sparsem  s6    

 

 r   c                  C   s:  dd } dd }dd }dd }d	d
 }d|_ d|_ d|_d}d}d}d}t| | d| | t| |   }	dd|	g}
d| }t| d|g|
|||gd|||fd|ddd
}|jd }|jd }|jd }t|dtj dtj g t|dtj dtj g t||g td|d d}|	|}t|d t
|| ddd t|d t||  ddd t|d dd|	 |	 t| |  d  ddd |	|}|	|}|	|}t|d t|d dd  t|d t|d  t|d t|d  t|d t|d dd  t|d |g d S )!Nc                 S   s*   |\}}}| | || || d|  gS )Nr    r   r   womegar?   zfinalr   r   r   r   r   r   sys3  s    
ztest_args.<locals>.sys3c           	   
   S   s>   |\}}}t d| dg|ddgdd|dd|   gg}|S )Nr   r    r'   r!   )	r   r   r   r?   r   r   r   r   r   r   r   r   sys3_jac  s    
ztest_args.<locals>.sys3_jacc                 S   s   |\}}}|S r   r   r   r   r   r   sys3_x0decreasing  s    
z$test_args.<locals>.sys3_x0decreasingc                 S   s   |\}}}|S r   r   r   r   r   r   sys3_y0increasing  s    
z$test_args.<locals>.sys3_y0increasingc                 S   s   |\}}}|| S r   r   r   r   r   r   sys3_zfinal  s    
ztest_args.<locals>.sys3_zfinalr$   r    Tr'   r3   r   gGz?r   r   g|=gvIh%<=)r   rc   argsrb   rd   rX   rY   r   r   g      ?g      ?   g&.>r   ri   gvIh%,=r   )r   r   r   rQ   r
   rl   r   pirt   ru   r)   r*   r   rI   )r   r   r   r   r   r   r?   Ztfinalr   Zz0Zw0tendru   Z
x0events_tZ
y0events_tZzfinalevents_tr   r   Zx0eventsZy0eventsZzfinaleventsr   r   r   	test_args  s\    ,
   



 * 


r   c               	   C   s   dd } t | dddgddgd}ttj|jd d df td }tjt	d	d
H t | dddgddgd}ttj|jd d df td }W 5 Q R X ||k st
d S )Nc                 S   s   |d |d fS )Nr   r    r   r   r   r   r   rF     s    ztest_array_rtol.<locals>.fr         ?r   r   r$   r    zAt least one element...matchgؗҜ<)r
   r   rS   rT   rU   r   rQ   pytestZwarnsrk   r   )rF   ru   Zerr1Zerr2r   r   r   test_array_rtol  s    *4r   r   r   r   c                 C   sD   t tddgtd| d}t|j t|jd t|j	ddd d S )Nr   r6   r9   )rb   r   rh   r   )
r
   r   r   Zonesr   rn   r   ro   r   r   )rb   resultr   r   r   test_integration_zero_rhs  s    
r   c               	   C   sd   dd } d}t jt|d t| ddgdd W 5 Q R X t| ddgd	d}t|jd
 td d S )Nc                 S   s   || S r   r   )r   r   ar   r   r   fun_with_arg  s    z,test_args_single_value.<locals>.fun_with_argz#Supplied 'args' cannot be unpacked.r   )r   r   r    r$   )r   )r$   )r   r$   g)r   r   	TypeErrorr
   r   r   r   rQ   )r  r   ru   r   r   r   test_args_single_value  s    r  )I	itertoolsr   Znumpy.testingr   r   r   r   r   r   r   r   Znumpyr   Zscipy.optimize._numdiffr	   Zscipy.integrater
   r   r   r   r   r   r   r   Zscipy.integrate._ivp.commonr   Zscipy.integrate._ivp.baser   Zscipy.sparser   r   r   r#   r&   r,   r.   r0   r4   r5   r7   rG   rL   rM   rN   rO   rR   r[   r~   r   r   r   markZslowZparametrizer   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r   r   r   <module>   sj   $ D,# .,'>
&+-S
