U
    ?hʇ                  	   @   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   U/var/www/html/venv/lib/python3.8/site-packages/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>   colsrowsir   r   r   medazko_sparsityY   s&    







rM   c                 C   s   | S r   r   r   r   r   r   fun_complexy   s    rN   c                 C   s   t |jd  S )Nr   )r   eyer:   r   r   r   r   jac_complex}   s    rP   c                 C   s   t t| |S r   )r   rP   r   r   r   r   jac_complex_sparse   s    rQ   c                 C   s   dt |   }|dS )N      ?      ?)r    r$   )r   expZreshaper   r   r   r   sol_complex   s    rT   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`)rZ   r[   methoddense_outputjac
vectorizedr   2   (   )r   r   r   r   r9   r6   r$   r'   V瞯<rZ   r[   )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   )rZ   r[   y0rg   rd   t_spanrf   funsupresrY   r\   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_   rR   r   r    r   r   r   r   rc   T)rd   re   rZ   r[   rf   #         r   )r   rv   r   rP   rQ   r   rl   rm   r
   rN   r   r   r   rn   ro   rp   rq   rr   AssertionErrorrs   rt   rT   r]   r   ru   rw   )rZ   r[   rx   ry   r}   rd   rf   r{   r|   rY   r\   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   )rd   Zjac_sparsity)N   r$   gݨ'.?g{Gz?rZ   )O   r$   r^   r[   )   r$   ghen7?)   r$   )   r$   gՊ.?)   r$   ggJ	T>)   r$   )   r$   g`P^?)r   zerosrM   r
   rG   r   r   r   rn   ro   rp   rq   r   r   )r>   ry   rx   sparsityrd   r|   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)rZ   r[   rd   re   rf   r8      r6   +=rk   )r&   r   r   r
   r#   r   r   r   rn   ro   rp   rq   rr   rs   rt   r,   r]   r   r   ru   rv   rw   r   )rZ   r[   rx   ry   JZJ_sparserd   rf   r|   rY   r\   r}   r~   r   r   r   r   test_integration_const_jac  s:      



r   rd   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)rZ   r[   rd   i  r   )r
   rr   r   rs   )rd   rZ   r[   rx   Ztspanr   r|   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`   ra   )rd   eventsr   r    g333333@g@g333333@g@)r    r'   r   r$   )rd   r   re   r'         @r^   r_   rk   gqq?gX<ݚ?)terminalr
   r.   r   rq   rn   sizer   ro   r:   r   iscloser   	directionrv   r   r7   rw   r]   ru   Zallclose)	r   r   r   rd   r|   r}   r~   r   r\   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`   ra   r   rb   r          ?T)rZ   max_stepr[   rd   re   r   r$   g	     ?rj   rk   )r   g#B;)rZ   r[   r   Zfailedzstep size is less)r   r   r   r   r   r   r
   r.   r   r   r   r   ru   rU   diffrn   rp   rq   r7   r]   r   rv   rw   r   assert_raises
ValueErrorstepRuntimeError)rZ   r[   rx   rd   ry   r|   rY   r\   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`   ra   皙?r   rb   r    r   T)rZ   r   r[   rd   re   
first_stepr   r$   rj   rk   )r   )r   r   r   r   r   r   r
   r.   r   r   r   r   rU   r   rn   rp   rq   r7   r]   r   ru   rv   rw   r   r   )rZ   r[   rx   r   rd   ry   r|   rY   r\   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`   ra   r   rb   r    r   r6   rZ   r[   t_evalg
ףp=
@   r   gQ @g(\@r9         ?g?g)\(?r3   r   )r   rv   r
   r.   r   r   r   rn   rp   rq   r7   r]   r   ru   r   r   )rZ   r[   rx   ry   r   r|   rY   r\   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`   ra   r   rb   r   r    r6   r   T)rZ   r[   r   re   )r   rv   r
   r.   r   r   r   rn   rp   rq   r   r7   r]   ru   )	rZ   r[   rx   ry   r   r|   Zres_drY   r\   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`   ra   r   rb   r      r   rc   )rZ   r[   rd   r   r   rf   zA termination event occurred.r    r   r   )r   r   rv   r   rl   rm   r
   r.   r4   rp   r   r   rq   r   r   lenrn   r   )	r   rZ   r[   rx   ry   r   rd   r{   r|   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rd   re   r   r   )r
   r   rw   )rd   rw   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   rq   re   r   infr=   )rd   r   rw   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   rz     s    ztest_empty.<locals>.funr   r   r   r6   Tr   r    r'   r9   r   )r   r   r   r
   r   rw   r   )rz   rx   rd   rw   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=   )rw   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`   ra   r   r'   runningr    r   rj   rk   )r   r   r   r   r   r   r.   r   r   r   r>   rq   Zt_boundr   r   r   r   Z	step_sizerr   rs   rt   r   r   re   r   ru   equalr   )rx   clsr   r   rw   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s2rw   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   rz   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   rf   Y  s
    $ztest_num_jac.<locals>.jacr    r   gh㈵>rk   )r   r"   ravelr   r   )	rz   rf   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   r\   r   r   r   r   rz   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>   ArL   r   r   r   	structures  s    z&test_num_jac_sparse.<locals>.structurer   r   g:0yE>)r   -q=r   rk   )r   )
r   randomseedZrandnr	   r   r   r   Ztoarrayuniform)rz   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   re   argsrd   rf   rZ   r[   r   r   g      ?g      ?   g&.>r   rk   gvIh%,=r   )r   r   r   rS   r
   rn   r   pirv   rw   r)   r*   r   rI   )r   r   r   r   r   r   r?   Ztfinalr   Zz0Zw0tendrw   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   rU   rV   rW   r   rS   pytestZwarnsrm   r   )rF   rw   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   )rd   r   rj   r   )
r
   r   r   Zonesr   rp   r   rq   r   r   )rd   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   rS   )r  r   rw   r   r   r   test_args_single_value  s    r  )I	itertoolsr   Znumpy.testingr   r   r   r   r   r   r   r   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   rM   rN   rP   rQ   rT   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
