+
    /iN                        ^ RI t ^ RIHt ^ RIt^ RIHtHtHtH	t	 ^ RI
Ht ^ RIHt ^ RIHt ^ RIHtHtHtHtHtHt ^ RI
t
R tR	 tR
 tR tR tR tR tR tR t R t!R t"R t#R t$R t%R t&R t'R t(R t)R t*R t+R t,R t-R t.R t/R  t0R! t1R" t2R# t3R$ t4R% t5R& t6R' t7R( t8R) t9R* t:R+ t;R, t<R- t=R. t>R/ t?R0 t@R1 tAR2 tBR3 tCR4 tDR5 tER6 tF]
P                  P                  R7R87      R9 4       tIR# ):    N)StringIO)assert_assert_array_equalassert_allcloseassert_equal)raises)
coo_matrix)erf)modify_meshestimate_fun_jacestimate_bc_jaccompute_jac_indicesconstruct_global_jac	solve_bvpc                 N    \         P                  ! V^,          V^ ,          34      #    npvstackxys   &&\/var/www/html/photoedit/myenv/lib/python3.14/site-packages/scipy/integrate/tests/test_bvp.pyexp_funr      s    99adAaD\""    c                     \         P                  ! ^^V P                  ^ ,          34      p^ VR&   ^VR&   ^VR&   ^ VR&   V# )   r   r   r   r   r   r   r   r   r   emptyshaper   r   df_dys   && r   exp_fun_jacr(      sH    HHaAGGAJ'(EE$KE$KE$KE$KLr   c                 \    \         P                  ! V ^ ,          ^,
          V^ ,          34      # r   r   hstackyaybs   &&r   exp_bcr0      s"    99beaiA'((r   c                 j    \         P                  ! V ^ ,          ^,
          R,
          V^ ,          34      # )r   y              ?r+   r-   s   &&r   exp_bc_complexr2   #   s&    99beai"nbe,--r   c                 x    \         P                  ! ^^ .^ ^ ..4      p\         P                  ! ^ ^ .^^ ..4      pW#3# r   r   arrayr.   r/   dbc_dyadbc_dybs   &&  r   
exp_bc_jacr9   '   Q    hh	
A	
A G hh	
A	
A G r   c                     \         P                  ! V ) 4      \         P                  ! V ^,
          4      ,
          ^\         P                  ! R4      ,
          ,          # )r   )r   expr   s   &r   exp_solr?   3   s4    FFA2JA&1rvvbz>::r   c                 z    \         P                  ! V^,          V^ ,          ^,          ) V^ ,          ,          34      # r   r   r   r   ps   &&&r   sl_funrC   7   s,    99adQqT1WHqtO,--r   c                    VP                   w  r4\        P                  ! V^V34      p^ VR&   ^VR&   V^ ,          ^,          ) VR&   ^ VR&   \        P                  ! V^V34      p^ VR&   RV^ ,          ,          V^ ,          ,          VR&   WV3# )r   r   r    r!   r"   r<   )r%   r   r$   r   r   rB   nmr'   df_dps   &&&    r   
sl_fun_jacrI   ;   s    77DAHHaAYEE$KE$KQ47(E$KE$KHHaAYEE$Kqt)ad"E$K<r   c                 z    \         P                  ! V ^ ,          V^ ,          V ^,          V^ ,          ,
          34      # r*   r+   r.   r/   rB   s   &&&r   sl_bcrL   J   s,    99beRUBqEAaDL122r   c                     \         P                  ! R4      p^VR&   ^VR&   \         P                  ! R4      p^VR&   \         P                  ! R4      pRVR&   W4V3# )   )rN   r   r   )r   r   r!   )rN   r   )r   r   r   zeros)r.   r/   rB   r7   r8   dbc_dps   &&&   r   	sl_bc_jacrS   N   s[    hhvGGDMGDMhhvGGDMXXfFF4LV##r   c                 J    \         P                  ! V^ ,          V ,          4      # r*   )r   sinr   rB   s   &&r   sl_solrW   \   s    66!A$(r   c                 ^    \         P                  ! V^,          V^ ,          ^,          ) 34      # r   r   r   s   &&r   	emden_funrY   `   s$    99adQqT1WH%&&r   c                     \         P                  ! ^^V P                  ^ ,          34      p^ VR&   ^VR&   RV^ ,          ^,          ,          VR&   ^ VR&   V# )r   r   r    r!   r"   r#   r&   s   && r   emden_fun_jacr\   d   sT    HHaAGGAJ'(EE$KE$KqtQw,E$KE$KLr   c                 \    \         P                  ! V ^,          V^ ,          R,
          .4      # )r   LXz?r4   r-   s   &&r   emden_bcr_   m   s#    88RUBqEJ./00r   c                 x    \         P                  ! ^ ^.^ ^ ..4      p\         P                  ! ^ ^ .^^ ..4      pW#3# r*   r4   r6   s   &&  r   emden_bc_jacra   q   r:   r   c                 >    ^V ^,          ^,          ,           R,          # )r         ࿩ r>   s   &r   	emden_solre   }   s    1QJr   c                 .    \         P                  ! V4      # Nr   
zeros_liker   s   &&r   undefined_funrj      s    ==r   c                 \    \         P                  ! V ^ ,          V^ ,          ^,
          .4      # r*   r4   r-   s   &&r   undefined_bcrl      s"    88RUBqEAI&''r   c                 J    \         P                  ! V4      pVR ,          VR&   V# )r   Nr   NNr   rh   )r   r   fs   && r   big_funrq      s"    
aAtWAcFHr   c                 \    \         P                  ! V R ,          VR ,          ^,
          34      # ro   r+   r-   s   &&r   big_bcrt      s"    99bgr#w{+,,r   c                 `    \         P                  ! ^V,          V P                  34      pWR&   V # )r   ro   )r   onessize)r   rF   r   s   && r   big_solrx      s(    
Q AcFHr   c                    \         P                  ! V4      pVR,          VR&   V^ ,          ^,          ) VR,          ,          VR&   V^,          ^,          ) VR,          ,          VR&   V# )a  Big version of sl_fun, with two parameters.

The two differential equations represented by sl_fun are broadcast to the
number of rows of y, rotating between the parameters p[0] and p[1].
Here are the differential equations:

    dy[0]/dt = y[1]
    dy[1]/dt = -p[0]**2 * y[0]
    dy[2]/dt = y[3]
    dy[3]/dt = -p[1]**2 * y[2]
    dy[4]/dt = y[5]
    dy[5]/dt = -p[0]**2 * y[4]
    dy[6]/dt = y[7]
    dy[7]/dt = -p[1]**2 * y[6]
    .
    .
    .

rn   ro   :NN   :r   Nrz   :r   Nrz   :rN   Nrz   rh   )r   r   rB   rp   s   &&& r   big_fun_with_parametersr{      s\    ( 	aAtWAcFtQwh3AdGtQwh4 AdGHr   c                 T   VP                   w  r4\        P                  ! W3V34      p^V\        ^ V^4      \        ^V^4      3&   V^ ,          ^,          ) V\        ^V^4      \        ^ V^4      3&   V^,          ^,          ) V\        ^V^4      \        ^V^4      3&   \        P                  ! V^V34      pRV^ ,          ,          V\        ^ V^4      ,          ,          V\        ^V^4      ^ 3&   RV^,          ,          V\        ^V^4      ,          ,          V\        ^V^4      ^3&   WV3# )r   r<   r%   r   rQ   rangerE   s   &&&    r   big_fun_with_parameters_jacr      s   77DAHHaAYE,-E%1a.%1a.
()-.qT1WHE%1a.%1a.
()-.qT1WHE%1a.%1a.
()HHaAYE!AaDy1U1a^+<<E%1a.!
!AaDy1U1a^+<<E%1a.!
<r   c                     \         P                  ! V R ,          VR ,          V ^,          V^ ,          ,
          V ^,          V^,          ,
          34      # rs   r+   rK   s   &&&r   big_bc_with_parametersr      s:    99bgr#w1!beadlCDDr   c                    V P                   ^ ,          p\        P                  ! V^,           V34      p\        P                  ! V^,           V34      p^V\        V^,          4      \        ^ V^4      3&   ^V\        V^,          V4      \        ^ V^4      3&   \        P                  ! V^,           ^34      pRWc^ 3&   ^WC^3&   RWc^,           ^3&   ^WC^,           ^3&   WEV3# )r   rO   r}   )r.   r/   rB   rF   r7   r8   rR   s   &&&    r   big_bc_with_parameters_jacr      s    
AhhAqz"GhhAqz"G-.GE!q&M5Aq>)*01GE!q&!eAq!n,-XXq1uaj!FFa4LGqDMFq5!8GE1HV##r   c                     \         P                  ! \         P                  ! V^ ,          V ,          4      \         P                  ! V^,          V ,          4      34      # r*   )r   r   rU   rV   s   &&r   big_sol_with_parametersr      s8    99bffQqTAX&qtax(89::r   c           	         R p\         P                  ! V^,          W^,          ,          V\         P                  ^,          ,          \         P                  ! \         P                  V ,          4      ,          ,           \         P                  V ,          \         P                  ! \         P                  V ,          4      ,          ,           ) V,          34      # MbP?)r   r   picosrU   )r   r   epss   && r   	shock_funr      s    
C99	!
d(S255!8^bffRUUQY&77
7
%%!)bffRUUQY'
'( 	)+.	/  r   c                 \    \         P                  ! V ^ ,          ^,           V^ ,          .4      # r*   r4   r-   s   &&r   shock_bcr      s"    88RUQY1&''r   c                     R p\         P                  ! ^V,          4      p\         P                  ! \         P                  V ,          4      \	        W,          4      \	        ^V,          4      ,          ,           # r   )r   sqrtr   r   r
   )r   r   ks   &  r   	shock_solr      sH    
C
CA66"%%!)s15zCAJ666r   c                 h    \         P                  ! V^,          \         P                  ! V 4      .4      # r   )r   stackri   r   s   &&r   nonlin_bc_funr      s#    88QqT2==+,--r   c                    V w  r#Vw  rERw  rgrp
RV,
          R,
          pV\         P                  ! W,          4      \         P                  ! V
) V,          4      ,
          ,          pWV,          ,           pW,
          R,
          pV\         P                  ! W,          4      \         P                  ! V
) V,          4      ,
          ,          pWV,          ,
          p\         P                  ! VV.4      # )=
ףp=?              ?)r   {Gz?-C6?      ?g33333sC@)r   r=   r5   )r.   r/   phiAphipAphiCphipCkappaioAioCVrp   hAiAres0hCiCres1s   &&               r   nonlin_bc_bcr      s    KDKD9E 
T#B	qtrvvqbe},	-BD 
CB	qtrvvqbe},	-BeD88T4L!!r   c                 "    RRV ,          ,
          # )g/?g)?g/rd   r>   s   &r   nonlin_bc_solr   
  s    )a-//r   c                     \         P                  ! . RO\        R7      p \        V \         P                  ! ^ .4      \         P                  ! ^.4      4      p\	        V\         P                  ! . RO4      4       \         P                  ! . RO\        R7      p \        V \         P                  ! ^.\
        R7      \         P                  ! . RO4      4      p\	        V. RO4       R# )r   dtypeN)r   r   rN   	   )r   r   r   rN         r   )r   rN      )r   r   rN   )r   r[   r   g      r   r   r   rN   rz   r   r   )r   r5   floatr   r   int)r   x_news     r   test_modify_meshr     s    
U+A288QC="((A3-8Eubhh'>?@
"%0A288QCs3RXXi5HIEuIJr   c                     \         P                  ! ^ ^^4      p \         P                  ! ^V P                  ^ ,          34      pRV^ &   RV^&   \         P                  ! . 4      p\        R WV4      w  r4\        W4      p\        W54       \        VRJ 4       \         P                  ! ^ \         P                  ^4      p \         P                  ! ^V P                  ^ ,          34      p\         P                  ! V 4      V^ &   \         P                  ! V 4      V^&   \         P                  ! R.4      p\        \        WV4      w  r4\        WV4      w  rV\        W54       \        WF4       \         P                  ! ^ ^^
4      p \         P                  ! ^V P                  ^ ,          34      pRV^ &   RV^&   \         P                  ! . 4      p\        R WV4      w  r4\        W4      p\        W54       \        VRJ 4       R# )	r   r   g{Gz?c                     \        W4      # rg   r   rA   s   &&&r   <lambda>&test_compute_fun_jac.<locals>.<lambda>  s    GAMr   Nr   r   c                     \        W4      # rg   )rY   rA   s   &&&r   r   r   2  s    IaOr   r^   )r   linspacer$   r%   r5   r   r(   r   r   r   rU   r   rC   rI   r\   )r   r   rB   r'   rH   df_dy_andf_dp_ans          r   test_compute_fun_jacr     s   
Aq!A
!QWWQZ!AAaDAaD
A#$A1KLE1 HE$ETM
Aruua A
!QWWQZ!A66!9AaD66!9AaD
#A#FA!4LE#A!,HE$E$
Aq"A
!QWWQZ!AAaDAaD
A#$CQ1MLEQ"HE$ETMr   c                  8   \         P                  ! R^.4      p \         P                  ! R^.4      p\         P                  ! . 4      p\        R WV4      w  r4p\        W4      w  rg\	        W64       \	        WG4       \        VRJ 4       \         P                  ! R^.4      p \         P                  ! RR.4      p\         P                  ! R.4      p\        \        WV4      w  r4p\        WV4      w  rgp\	        W64       \	        WG4       \	        WX4       \         P                  ! R^d.4      p \         P                  ! R	R.4      p\         P                  ! . 4      p\        R WV4      w  r4p\        W4      w  rg\	        W64       \	        WG4       \        VRJ 4       R# )
r   r   c                     \        W4      # rg   r0   rK   s   &&&r   r   %test_compute_bc_jac.<locals>.<lambda>=  s    &.r   Nr   g      %@c                     \        W4      # rg   )r_   rK   s   &&&r   r   r   P  s	    (2*r   g      rO   i)	r   r5   r   r9   r   r   rL   rS   ra   )	r.   r/   rB   r7   r8   rR   
dbc_dya_an
dbc_dyb_an	dbc_dp_ans	            r   test_compute_bc_jacr   8  sQ   	4)	B	3(	B
A.("! 5Gf'/JG(G(FdN	3(	B	3)	B
#A.uba@Gf(1"!(<%JIG(G(F&	3*	B	5$-	 B
A.*BA 7Gf)"1JG(G(FdNr   c                     ^p ^p^p\        WV4      w  r4\        \        P                  ! V4      W4334      P	                  4       p\        P
                  ! . RO. RO. RO. RO. RO. RO. RO. RO. RO. RO.
4      p\        WV4       R# )r   N)
r   r   r   r   r   r   r   r   r   r   )
r   r   r   r   r   r   r   r   r   r   )
r   r   r   r   r   r   r   r   r   r   )
r   r   r   r   r   r   r   r   r   r   )r   r	   r   	ones_liketoarrayr5   r   )rF   rG   r   ijss_trues          r   test_compute_jac_indicesr   W  s|    	A	A	AqQ'DABLLOaV,-557AXX&&&&&&&&&& F q!r   c                  8   ^p ^p^p\        ^^^4      w  r4\        P                  ! ^ ^^4      p\        P                  ! V4      p\        P                  ! \        P
                  ! \        P                  V,          4      \        P                  \        P                  ! \        P                  V,          4      ,          34      p\        P                  ! R.4      p\        WWV4      p	VRR
 RV,          ,           p
RVRRR
13,          VR,          ,           ,          V^,          V	R,          V	RRR
13,          ,
          ,          ,
          p\        WWV4      w  r\        WV4      w  r\        VR,          VR,          V4      w  ppp\        WW#WFWWVVV4      pVP                  4       pR p\        P                  ! W,          V,           W,          V,           34      p\        V^,
          4       FM  pV! VV,          V^ ,          4      VVV ,          V^,           V ,          1VV ,          V^,           V ,          13&   KO  	  W^,          ,          ^,          V^ RR
13,          VR,          ,
          ,          VRV^,
          V ,          ^1R
3&   WV^ RR
13,          VR,          ,           ,          V^,          ^,          V^RR
13,          VR,          ,
          ,          ,           ,          V^V^,
          V ,          ^1R
3&   ^VR&   ^VR&   ^VR&   R
VR&   \!        VVRR7       \#        \        WWV4      w  r\#        \        WV4      w  r\%        \&        VR,          VR,          V4      w  ppp\        WW#WFWWVVV4      pVP                  4       p\!        VVRRR	7       R# )r   g      @Nr   NNNc           
         \         P                  ! V ^,          V^,          ,          ^,          ^,
          RV ,          V ^,          ) V^,          ,          ^,          ^,           RV ,          .RV ,          V^,          ,          V ^,          V^,          ,          ^,          ^,
          RV ,          V^,          ,          ^V ^,          V^,          ,          ^,          ,
          ..4      # )r   r   rc   r4   )hrB   s   &&r   J_block(test_compute_global_jac.<locals>.J_block  s    xxT!Q$Yr\AtAv1uQTz"}q'8$q&AU1a4ZAad2)3q5A:q1a419R<7GH
  	r   绽|=rtolg:0yU>r   atolrO   )r   r   NN)r   r   )r   rO   )r   r   )r   r   )   r   )r   r   )
   r   )r   r   )r   r   r   diffr   rU   r   r   r5   rC   rI   rS   r   r   rQ   r~   r   r   r   rL   )rF   rG   r   i_jacj_jacr   r   r   rB   rp   x_middley_middler'   rH   df_dy_middledf_dp_middler7   r8   rR   Jr   J_truer   s                          r   test_compute_global_jacr   l  s   	A	A	A&q!Q/LE
Aq!A

A
		266"%%!)$beebffRUUQY.?&?@AA
#AqQA"vaHa3B3i!E(*+acQuX!SbS&	5I.JJHaA&LE!+H!BL(4!E(A>GWfQ1Uu"'7F	LA			A XXquqy!%!),-F1q5\9@1qt9Lq1uq1uk!1q51q5A+#556  "#T!qCRCy1U8/C!DF>QUaK>2"#Aa"fI%,@'A'(!tAv1crc6QuX1E'F(G #HF1a!eq[?B F4LF4LF5MF6NAvE*#FA!4LE!1&(a!PL.uagqxKGWfQ1Uu"'7F	LA			AAvDt4r   c            
      H   . ROp \         P                  ! R4      p\        \        \        \
        \        W4       \         P                  ! ^ ^^4      p \         P                  ! R	4      p\        \        \        \
        \        W4       R pR p\         P                  ! ^V P                  ^ ,          34      p\        \        \        W#W^.R7       R p\        \        \        WCW4       \         P                  ! ^ ^ ..4      p\        \        \        \
        \        WVR7       R# )
r   c                     \        W4      # rg   r   rA   s   &&&r   fun&test_parameter_validation.<locals>.fun  s    q}r   c                     \        W4      # rg   r   rK   s   &&&r   bc%test_parameter_validation.<locals>.bc  s    b~r   )rB   c                 .    \         P                  ! ^4      # )rN   rP   r   s   &&r   wrong_shape_fun2test_parameter_validation.<locals>.wrong_shape_fun  s    xx{r   )SN)r   r   r   )r   rN   )r   rz   )
r   rQ   assert_raises
ValueErrorr   r   r0   r   r%   r5   )r   r   r   r   r   r   s         r   test_parameter_validationr     s    A
A*i&!?
Aq!A
A*i&!? 	!QWWQZ!A*i!1#> *iaC
1a&A*i&!!Dr   c                  b   \         P                  ! ^ ^^4      p \         P                  ! ^ ^^d4      p\         P                  ! ^V P                  ^ ,          34      pR\        3 EF  pR\
        3 EF  p\        \        \        WVVR7      p\        VP                  ^ 4       \        VP                  4       \        VP                  P                  ^4       VP                  V4      p\!        V^ ,          \#        V4      RR7       \        W4      pVP                  V^4      V,
          pV^\         P$                  ! V4      ,           ,          p	\         P&                  ! V	^,          ^ R7      R,          p
\        \         P(                  ! V
R8  4      4       \        \         P(                  ! VP*                  R8  4      4       \!        VP                  VP                  4      VP,                  RRR	7       \!        VP                  VP                  ^4      VP.                  RRR	7       EK  	  EK  	  R# )
r   Nfun_jacbc_jach㈵>r   axisr   r   r   r   )r   r   rQ   r%   r(   r9   r   r   r0   r   statusr   successr   rw   solr   r?   abssumallrms_residualsr   ypr   x_testr   r   r   r  sol_testf_testrrel_resnorm_ress              r   test_no_paramsr    s   
Aq!A[[As#F
!QWWQZ!A+&Z(FGVQ7#)+C Q'CKK Q'wwvHHQKtDV.F"V+A1rvvf~-.Gvvgqjq136HBFF8d?+,BFF3,,t345CGGCEENCEEEJCGGCEE1-svvENN+ ) 'r   c                     \         P                  ! ^ \         P                  ^4      p \         P                  ! ^ \         P                  ^d4      p\         P                  ! ^V P                  ^ ,          34      pR\
        3 EF  pR\        3 EF  p\        \        \        WR.VVR7      p\        VP                  ^ 4       \        VP                  4       \        VP                  P                  ^
8  4       \!        VP"                  ^.RR7       VP%                  V4      p\!        V^ ,          \'        V^.4      RRR7       \        W^.4      pVP%                  V^4      V,
          pV^\         P(                  ! V4      ,           ,          p	\         P*                  ! V	^,          ^ R7      R,          p
\        \         P,                  ! V
R8  4      4       \        \         P,                  ! VP.                  R8  4      4       \!        VP%                  VP                  4      VP0                  R	R	R7       \!        VP%                  VP                  ^4      VP2                  R	R	R7       EK  	  EK  	  R# )
r   Nr   rB   r   r   r   r   r   r  r   r   )r   r   r   rv   r%   rI   rS   r   rC   rL   r   r  r   r  r   rw   r   rB   r  rW   r  r	  r
  r  r   r  r  s              r   test_with_paramsr    s   
Aruua A[[BEE3'F
AGGAJ A*%Y'FFE1C5'#)+C Q'CKK CEEJJO$CEEA3T2wwvHHQK)<!%D2 Fqc2F"V+A1rvvf~-.Gvvgl3s:HBFF8d?+,BFF3,,t345CGGCEENCEEEJCGGCEE1-svvENN1 ( &r   c                  j   \         P                  ! ^ ^^
4      p \         P                  ! R^^d4      p\         P                  ! R4      pRV^ &   RV^&   \         P                  ! ^ ^ .^ R..4      pR\        3 EF  pR\
        3 EF  p\        \        \        WW4VR7      p\        VP                  ^ 4       \        VP                  4       \        VP                  P                  ^
4       VP                  V4      p\!        V^ ,          \#        V4      RR7       \        W4      VP%                  V4      V,          ,           pVP                  V^4      V,
          p	V	^\         P&                  ! V4      ,           ,          p
\         P(                  ! V
^,          ^ R7      R,          p\        \         P*                  ! VR	8  4      4       \!        VP                  VP                  4      VP,                  R
R
R7       \!        VP                  VP                  ^4      VP.                  R
R
R7       EK  	  EK  	  R# )r   g?r   r   N)r   r   r   r  r  r  r   r   r   )r   r   r^   r<   )r   r   r$   r5   r\   ra   r   rY   r_   r   r  r   r  r   rw   r  r   re   dotr  r	  r
  r   r  )r   r  r   r   r   r   r  r  r  r  r  r  s               r   test_singular_termr    s   
Aq"A[[q#&F
AAaDAaD
1a&1b'"#A-(\*FIx#)+C Q'CKK R(wwvHHQK6):Fv0155?V3KKF"V+A1rvvf~-.Gvvgl3s:HBFF8d?+,CGGCEENCEEEJCGGCEE1-svvENN' + )r   c                     \         P                  ! ^ ^^4      p \         P                  ! ^ ^^d4      p\         P                  ! ^V P                  ^ ,          3\        R7      pR\
        3 EF  pR\        3 EF  p\        \        \        WVVR7      p\        VP                  ^ 4       \        VP                  4       VP                  V4      p\        V^ ,          P                   \#        V4      RR7       \        V^ ,          P$                  \#        V4      RR7       \        W4      pVP                  V^4      V,
          pV^\         P&                  ! V4      ,           ,          p	\         P(                  ! \         P                   ! V	\         P*                  ! V	4      ,          4      ^ R7      R,          p
\        \         P,                  ! V
R8  4      4       \        \         P,                  ! VP.                  R8  4      4       \        VP                  VP0                  4      VP2                  R	R	R
7       \        VP                  VP0                  ^4      VP4                  R	R	R
7       EK  	  EK  	  R# )r   r   Nr   r  r  r  r   r   r   r   )r   r   rQ   r%   complexr(   r9   r   r   r2   r   r  r   r  r  r   realr?   imagr  r	  conjr
  r  r   r   r  r  s              r   test_complexr     s    	Aq!A[[As#F
!QWWQZ0A+&Z(FG^Q7#)+C Q'CKK wwvHHQK,,gfoDIHQK,,gfoDIV.F"V+A1rvvf~-.Gvvbggg0@&@A#$&),-HBFF8d?+,BFF3,,t345CGGCEENCEEEJCGGCEE1-svvENN+ ) 'r   c            	         \         P                  ! ^ ^^4      p \         P                  ! ^V P                  34      p\	        \
        \        WR^R7      p\        VP                  ^4       \        VP                  '       * 4       \         P                  ! ^ ^^4      p \         P                  ! ^V P                  34      p\	        \        \        W4      p\        VP                  ^4       \        VP                  '       * 4       R# )r   r  )tol	max_nodesN)r   r   rQ   rw   r   r   r0   r   r  r   r  rj   rl   )r   r   ress      r   test_failuresr%  7  s    
Aq!A
!QVVA
GVQtq
ACQO
Aq!A
!QVVA
M<
6CQOr   c                     ^p \         P                  ! ^ ^^4      p\         P                  ! ^V ,          VP                  34      p\	        \
        \        W4      p\        VP                  ^ 4       \        VP                  4       VP                  V4      p\        V^ ,          \        W4      4       \        W4      pVP                  V^4      V,
          pV^\         P                  ! V4      ,           ,          p\         P                  ! \         P                   ! V\         P"                  ! V4      ,          4      ^ R7      R,          p\        \         P$                  ! VR8  4      4       \        \         P$                  ! VP&                  R8  4      4       \        VP                  VP(                  4      VP*                  RRR7       \        VP                  VP(                  ^4      VP,                  RRR7       R# )   r  r   r   r   r   N)r   r   rQ   rw   r   rq   rt   r   r  r   r  r  r   rx   r  r	  r  r  r
  r  r   r   r  )	rF   r   r   r  r  r  r  r  r  s	            r   test_big_problemr(  E  sK   
A
Aq!A
!a%!A
GVQ
*CQCKKwwqzHHQK/Q!F1A1rvvf~%&Gvvbggg(889BcIHBFF8d?#$BFF3$$t+,-CGGCEENCEEEBCGGCEE1%svvEFr   c                  8   ^p \         P                  ! ^ \         P                  ^4      p\         P                  ! ^ \         P                  ^d4      p\         P                  ! ^V ,          VP                  34      pR\
        3 EF  pR\        3 EF  p\        \        \        VVRR.WER7      p\        VP                  ^ 4       \        VP                  4       \        VP                  ^^.RR7       VP!                  V4      p\#        ^ V ^4       FZ  p\        Wx,          \%        V^^.4      ^ ,          RRR7       \        Wx^,           ,          \%        V^^.4      ^,          RRR7       K\  	  \        W'^^.4      p	VP!                  V^4      V	,
          p
V
^\         P&                  ! V	4      ,           ,          p\         P(                  ! V^,          ^ R7      R,          p\        \         P*                  ! VR8  4      4       \        \         P*                  ! VP,                  R8  4      4       \        VP!                  VP.                  4      VP0                  R	R	R7       \        VP!                  VP.                  ^4      VP2                  R	R	R7       EK  	  EK  	  R# )
r'  Nr   r  r   r   r   r  r   r   )r   r   r   rv   rw   r   r   r   r{   r   r   r  r   r  r   rB   r  r~   r   r  r	  r
  r  r   r   r  )rF   r   r  r   r   r   r  r  isolr  r  r  r  s                r    test_big_problem_with_parametersr+  ]  s   
A
Aruua A[[BEE3'F
Q A5678F35KQ#sWMC Q'CKK CEEAq65wwvHaA 7A G J%)6   2 7A G J%)6	 ' -V1vFF"V+A1rvvf~-.Gvvgl3s:HBFF8d?+,BFF3,,t345CGGCEENCEEEJCGGCEE1-svvENN7 9 7r   c                     \         P                  ! R^^4      p \         P                  ! R^^d4      p\         P                  ! ^V P                  34      p\	        \
        \        W4      p\        VP                  ^ 4       \        VP                  4       \        VP                  P                  ^n8  4       VP                  V4      p\        V^ ,          \        V4      RRR7       \        W4      pVP                  V^4      V,
          pV^\         P                  ! V4      ,           ,          p\         P                   ! V^,          ^ R7      R,          p\        \         P"                  ! VR8  4      4       \        VP                  VP                  4      VP$                  RRR7       \        VP                  VP                  ^4      VP&                  RRR7       R# )	r   r  r   r  r   r   r   NrO   )r   r   rQ   rw   r   r   r   r   r  r   r  r   r  r   r   r  r	  r
  r   r  	r   r  r   r  r  r  r  r  r  s	            r   test_shock_layerr.    s@   
B1A[[Q$F
!QVVA
Ix
.CQCKKCEEJJwwvHHQK6!2DIv(FV#A1rvvf~%&Gvvgl+s2HBFF8d?#$CGGCEENCEEEBCGGCEE1%svvEFr   c                     \         P                  ! ^ R^4      p T p\         P                  ! ^V P                  .4      p\	        \
        \        W4      p\        VP                  ^ 4       \        VP                  4       \        VP                  P                  ^8  4       VP                  V4      p\        V^ ,          \        V4      RRR7       \        W4      pVP                  V^4      V,
          pV^\         P                  ! V4      ,           ,          p\         P                   ! V^,          ^ R7      R,          p\        \         P"                  ! VR8  4      4       \        VP                  VP                  4      VP$                  RRR7       \        VP                  VP                  ^4      VP&                  RRR7       R# )	r   g?r  r   r  r   r   r   N)r   r   rQ   rw   r   r   r   r   r  r   r  r   r  r   r   r  r	  r
  r   r  r-  s	            r   test_nonlin_bcr0    s2   
AsAAF
!QVVA
M<
6CQCKKCEEJJNwwvHHQKv!6TM6,FV#A1rvvf~%&Gvvgl+s2HBFF8d?#$CGGCEENCEEEBCGGCEE1%svvEFr   z3multithreaded sys.stdout parsing is not thread-safe)reasonc            	      8   \         P                  ! ^ ^^4      p \         P                  ! ^V P                  ^ ,          34      pR F  p\        P
                  p\        4       \        n         \        \        \        WVR7      p\        P
                  P                  4       pV\        n        \        VP                  4       V^ 8X  d   \        V'       * V4       V^8  d   \        RV9   V4       V^8  g   K  \        RV9   V4       K  	  R#   T\        n        i ; i)r   )verbosez	Solved inzMax residualN)r   r   r   )r   r   rQ   r%   sysstdoutr   r   r   r0   getvaluer   r  )r   r   r3  
old_stdoutr  texts         r   test_verboser9    s     	Aq!A
!QWWQZ!AZZ
Z
	$GVQ7CC::&&(D#CJa<Hd#a<K4'.a<Nd*D1  $CJs   +5DD)Jr4  ior   numpyr   numpy.testingr   r   r   r   pytestr   r   scipy.sparser	   scipy.specialr
   scipy.integrate._bvpr   r   r   r   r   r   r   r(   r0   r2   r9   r?   rC   rI   rL   rS   rW   rY   r\   r_   ra   re   rj   rl   rq   rt   rx   r{   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r   r%  r(  r+  r.  r0  markthread_unsafer9  rd   r   r   <module>rC     sT   
  ) ) * # C C #).	;.3$'1	(-6E
$$;
(7.
"&0K@>"*25jE4O:OBO>O>G0"OJG0G0 "WX2 Y2r   