
    \hh             
       2   S r SSKJrJr  SSKJr  SSKJrJrJ	r	J
r
  SSKJrJr  SSKJr  SSKJrJr  SSKJrJr  SS	KJrJrJr  SS
KJrJrJrJr  SSKJ r J!r!  SSK"J#r#  SSK$J%r%J&r&J'r'J(r(J)r)J*r*J+r+  SSK,J-r-J.r.  SSK/J0r0  SSK1J2r2J3r3  SSK4J5r5  SSK6J7r7J8r8  SSK9J:r:J;r;J<r<J=r=J>r>  SSK?J@r@  SSKAJBrBJCrC  SSKDJErEJFrF  SSKGJHrHJIrIJJrJJKrKJLrL  SSKMJNrN  SSKOJPrPJQrQ  SSKRrR\8" S5      rS\8" S5      rT\" S5      rU\8" S5      rV\7" S5      rW\7" S5      rX\" S 5      u
  rYrZr[r\r]r^r_r`rarb\" S!5      u  rcrdreS"rfS#rgS$rhS%riS&rjS'rkS( rlSqS) jrmSqS* jrnS+ roS, rpSqS- jrq/ S4S. jrrS/ rsS0 rt\QS1 5       ru\QS2 5       rv\QS3 5       rw\QS4 5       rxS5 ry\QS6 5       rz\QS7 5       r{\QS8 5       r|\QS9 5       r}S: r~\QS; 5       rS< r\QS= 5       r\QS> 5       r\QS? 5       rS@ r\QSA 5       r\QSB 5       r\QSC 5       rSD r\QSE 5       r\QSF 5       r\QSG 5       r\QSH 5       rSI r\QSJ 5       r\QSK 5       r\QSL 5       rSM r\QSN 5       rSO rSP rSQ r\QSR 5       rSS rST r\QSU 5       r\lSV 5       r\lSW 5       r\lSX 5       r\lSY 5       r\lSZ 5       r\lS[ 5       r\lS\ 5       r\lS] 5       r\lS^ 5       r\lS_ 5       r\lS` 5       r\lSa 5       r\lSb 5       r\lSc 5       r\lSd 5       r\lSe 5       r\lSf 5       r\lSg 5       r\lSh 5       r\lSi 5       r\lSj 5       r\lSk 5       r\lSl 5       r\lSm 5       r\lSn 5       r\lSo 5       rSp rg)ra  
This File contains test functions for the individual hints used for solving ODEs.

Examples of each solver will be returned by _get_examples_ode_sol_name_of_solver.

Examples should have a key 'XFAIL' which stores the list of hints if they are
expected to fail for that hint.

Functions that are for internal use:

1) _ode_solver_test(ode_examples) - It takes a dictionary of examples returned by
   _get_examples method and tests them with their respective hints.

2) _test_particular_example(our_hint, example_name) - It tests the ODE example corresponding
   to the hint provided.

3) _test_all_hints(runxfail=False) - It is used to test all the examples with all the hints
  currently implemented. It calls _test_all_examples_for_one_hint() which outputs whether the
  given hint functions properly if it classifies the ODE example.
  If runxfail flag is set to True then it will only test the examples which are expected to fail.

  Everytime the ODE of a particular solver is added, _test_all_hints() is to be executed to find
  the possible failures of different solver hints.

4) _test_all_examples_for_one_hint(our_hint, all_examples) - It takes hint as argument and checks
   this hint against all the ODE examples and gives output as the number of ODEs matched, number
   of ODEs which were solved correctly, list of ODEs which gives incorrect solution and list of
   ODEs which raises exception.

    )
Derivativediff)Mul)EIRationalpi)EqNe)S)Dummysymbols)imre)LambertWexplog)asinhcoshsinhtanh)cbrtsqrt)	Piecewise)acosasinatancossecsintan)Eierfi)hyper)Integral	integrate)rootof)FunctionSymbol)airyaiairybibesseljbessely
lowergamma)NonElementaryIntegral)classify_odedsolve)allhints_remove_redundant_solutions)FirstLinearODEMatchErrorSingleODEProblemSingleODESolverNthOrderReducible)checkodesol)raisesslowNxuyfgzC1:11a b cz^Hint did not match the example {example}.

The ODE is:
{eq}.

The expected hint was
{our_hint}zDifferent solution found from dsolve for example {example}.

The ODE is:
{eq}

The expected solution was
{sol}

What dsolve returned is:
{dsolve_sol}zFsolution found is not correct for example {example}.

The ODE is:
{eq}a  solution returned by dsolve is incorrect when using {hint}.

The ODE is:
{eq}

The expected solution was
{sol}

what dsolve returned is:
{dsolve_sol}

You can test this with:

eq = {eq}
sol = dsolve(eq, hint='{hint}')
print(sol)
print(checkodesol(eq, sol))

zdsolve raised exception : {e}

when using {hint} for the example {example}

You can test this with:

from sympy.solvers.ode.tests.test_single import _test_an_example

_test_an_example('{hint}', example_name = '{example}')

The ODE is:
{eq}

zTested hint was : {hint}

Total of {matched} examples matched with this hint.

Out of which {solve} gave correct results.

Examples which gave incorrect results are {unsolve}.

Examples which raised exceptions are {exceptions}
c                    ^  U 4S jnU" 5       $ )Nc                    > T" 5       n / nU S    H  nU S   U   S   U S   U   S   U S   U   R                  S/ 5      U S   U   R                  SU S   5      UU S   U   R                  SS5      U S   U   R                  SS	5      U S   U   R                  S
S5      U S   U   R                  SS5      U S   U   R                  SS5      U S   S.nUR                  U5        M     U$ )NexampleseqsolXFAILfuncr;   Fsimplify_flagTcheckodesol_XFAILdsolve_too_slowcheckodesol_too_slowhint)rE   rF   rG   rH   example_namer;   rI   rJ   rK   rL   rM   )getappend)solverrD   exampletemprH   s       [/var/www/auris/envauris/lib/python3.13/site-packages/sympy/solvers/ode/tests/test_single.pyinner _add_example_keys.<locals>.inner   s)   vj)GZ(1$7j)'259
+G488"Ez*7377vf~N 'z*7377F &z 27 ; ? ?PT U%+J%7%@%D%DEXZ_%`"("4W"="A"ABSTY"Z'-j'9''B'F'FG]^c'dvD OOD! *      )rH   rU   s   ` rT   _add_example_keysrY      s    & 7NrW   c                     U  HN  nU(       d
  US   (       d  U(       a  US   (       d  M'  [        US   USS9nUS   S:w  d  M@  [        US   5        MP     g )Nr;   rM   T)solver_flag	xpass_msg )_test_particular_exampleprint)ode_examplesrun_slow_testrR   results       rT   _ode_solver_testrc      sP    GFOPWX^P_)'&/7PTU+"$&%&  rW   c                     [        [        5      S/-   n[        5       nU H-  nUR                  S5      (       d  SU;   a  M!  [	        X2U 5        M/     g )Ndefault	_Integralseries)listr2   _get_all_examplesendswith_test_all_examples_for_one_hint)runxfail	all_hintsall_examplesour_hints       rT   _test_all_hintsrp      sI    X	{*I$&L[))X-A'I rW   c                 v   ^  [        U5      [        :X  a  [        U 4S jU 5       5      $ T R                  U5      $ )Nc              3   F   >#    U  H  nTR                  U5      v   M     g 7fN)dummy_eq).0sub_dsolexpected_sols     rT   	<genexpr>"_test_dummy_sol.<locals>.<genexpr>   s     N:x<((22:s   !)typerh   anyrt   )rw   
dsolve_sols   ` rT   _test_dummy_solr}      s2    JN:NNN$$Z00rW   c                 V    [        5       nU H  nUS   U:X  d  M  [        X5        M     g )NrN   )ri   r^   )ro   rN   rn   rR   s       rT   _test_an_exampler      s)    $&L>"l2$X7  rW   c                 L   US   nUS   nUS   nXS   ;   nUS   nSSS.nUS   n	US	   n
US
   nUS   nSnU(       a.  U [        X75      ;  a  [        R                  XSU S9n[        U5      eU [        X75      ;   Ga  XXS'    U(       d  [	        X7XS9nO[        U5      S:X  a  US   nOUn U(       GaY  U/ :w  GaR  Sn[        U5      [        :X  aD  U H=  nUR                  [        5      (       a  [!        UU5      (       + nOUU;  nU(       d  M=    O=   O:X;  nU H0  nUR                  [        5      (       d  M  [!        UU5      (       + nM2     U(       a  ["        R                  XSXOS9n[        U5      e[%        [        U5      5       Vs/ s H  nSPM     nn[        U5      S:X  a  SnU(       d]  U
(       dV  ['        X?USS9U:w  aG  XXS'   Sn[(        R                  XXOS9nU(       a  [*        R                  XSS9n[        U5      eSU-   US'   U(       a  U(       a  US-   U -   US'   U$ ! [         am  n/ nXXS'   U(       d  [        R                  " 5         [        R                  [        U5      XUS9US'   U(       a  U(       d  [        US   5        e Sn S nAGNS nAff = fs  snf )NrE   rF   rN   rG   rH   r]   )msgr\   rI   rJ   rK   rL   T)rR   rE   ro   
match_listsimplifyrM      r   exception_list)erM   rR   rE   r   F)rR   rE   rF   r|   Tr   )solve_for_funcunsolve_list)rM   rE   rF   r|   )rR   rE   zAssertionError: zis now passing for the hintr\   )r0   hint_messageformatAssertionErrorr1   len	Exception	traceback	print_excexception_msgstrr_   rz   rh   hasr   r}   expected_sol_messageranger9   dsol_incorrect_msgcheckodesol_msg)ro   ode_exampler[   rE   rw   rR   xfailrH   rb   rI   rJ   rK   rL   xpassmessager|   r   expect_sol_checksub_soliexpected_checkodesols                        rT   r^   r^      s   	T	Bu%L.)GG,,EvDb)Fo.M#$78!"34O&'=>E<11"))'8)TG ))<))&|	##B}S
|$a'!-aJ!-J :r>$J%+G{{5))/>w
/S+S(+2*+D(''  , $.#A +G{{5))/>w
/S+S(  ,  .55gR^5v$W--7<S=N7O#P7O!I7O #P< A%'0$'("24NRff18~. %"4";";Vb";"y&&5&<&<W&<&TG"0"99,>,HF5MU"),I"IH"TF;Mc  		J'.#$##%)003q6^`0aF5M5fUm$E		> $Qs+   H' H' (H' 	J!'
J1A"JJc                    U/ :X  a
  [        5       n/ / / pTnU H  nXS   ;   nU(       a	  U(       d  M  U(       a  M#  [        X5      nX8R                  S/ 5      -  nXHR                  S/ 5      -  nXXR                  S/ 5      -  nUc  Mo  US   n	U	S:w  d  M|  [        US   5        M     UcO  [	        U5      n
[	        U5      [	        U5      -
  [	        U5      -
  n[
        R                  X
XUS9n	[        U	5        g g )NrG   r   r   r   r   r]   )rM   matchedsolveunsolve
exceptions)ri   r^   rO   r_   r   check_hint_msgr   )ro   rn   rl   r   r   r   r   r   rb   r   match_countsolveds               rT   rk   rk   '  s   r(*/12rnJ#00E)(@jjb11


>"55**%5b99-CBwfUm$ $ *oZ\!223~3FF##f  xF#  Gc
	 rW   c                    ^ [        [        [        5      R                  [        5      [        [        5      [        5      n [	        U 5      m[        [        U4S j5        [        [        U4S j5        [        [        U4S j5        [        [        U4S j5        [        [        [        5      R                  [        5      [        [        5      [        [        5      -  -   [        [        5      [        5      n [        U 5      m[        [        U4S j5        [        U 5      mTR                  5       SL d   e[        [        [        5      R                  [        5      [        [        5      -   [        [        5      [        5      n U R                  S:X  d   e[        [        [        5      R                  [        S5      [        [        5      R                  [        S	5      -   [        [        5      R                  [        S
5      -
  [        [        5      [        5      n U R                  S:X  d   e[        [        [        5      R                  [        S
5      [        [        5      R                  [        S	5      -   [        [        5      S	-  -
  [        [        5      [        5      n U R                  S:X  d   e[        [        [        5      R                  [        S
5      [        [        [        5      R                  [        S	5      -  -   [        [        5      S	-  -
  [        [        5      [        5      n U R                  S:X  d   eg )Nc                  $   > T R                  5       $ rs   )matchesrQ   s   rT   <lambda>&test_SingleODESolver.<locals>.<lambda>F  s    (8rW   c                  $   > T R                  5       $ rs   get_general_solutionr   s   rT   r   r   G  s    (C(C(ErW   c                  $   > T R                  5       $ rs   )_matchesr   s   rT   r   r   H  s    (9rW   c                  $   > T R                  5       $ rs   )_get_general_solutionr   s   rT   r   r   I  s    (D(D(FrW   c                  $   > T R                  5       $ rs   r   r   s   rT   r   r   R  s    &"="="?rW   Fr            T)r6   r?   r<   r   r7   r:   NotImplementedErrorr4   r5   r   orderis_autonomous)problemrQ   s    @rT   test_SingleODESolverr   A  s	    qtyy|QqT15GW%F
 89
 EF
 9:
 FG qtyy|ad1Q4i71qAG!F
=?@!F>>u$$$ qtyy|ad2AaD!<G==Aqtyy1~!		!A>11QOQRSTQUWXYG==AqtyyA11a@1Q47JAaDRSTG  D(((qtyyA1Q499Q?1BBQqT1WLaPQdTUVG  E)))rW   c                  "    [        [        5        g rs   )rc   )_get_examples_ode_sol_linear_coefficientsrX   rW   rT   test_linear_coefficientsr   f  s    >?rW   c                     [        [        5      R                  [        5      [        [        5      [        -  -
  n [        U [        [        5      5      n[        [        [        5      R                  [        5      -  [        [        5      -
  n[        U[        [        5      5      nSnSnXQ;  a  XA;  d   eXS;  a  XC;  d   e[	        [
        5        [	        [        5        g )N(1st_homogeneous_coeff_subs_dep_div_indep(1st_homogeneous_coeff_subs_indep_div_dep)r?   r<   r   r0   rc   >_get_examples_ode_sol_1st_homogeneous_coeff_subs_dep_div_indep0_get_examples_ode_sol_1st_homogeneous_coeff_best)eq1c1eq2c2sdisids         rT   test_1st_homogeneous_coeff_oder   j  s     A$))A,1a
C	c1Q4	 B
AaDIIaL.1Q4
C	c1Q4	 B
4C
4C=S]**=S]**STEFrW   c                  <    [        [        SS9  [        [        SS9  g NT)ra   )rc   r   r   rX   rW   rT   ,test_slow_examples_1st_homogeneous_coeff_oder   y  s    ScghEUYZrW   c                  "    [        [        5        g rs   rc   ;_get_examples_ode_sol_nth_linear_constant_coeff_homogeneousrX   rW   rT   *test_nth_linear_constant_coeff_homogeneousr     s    PQrW   c                       [        [        SS9  g r   r   rX   rW   rT   8test_slow_examples_nth_linear_constant_coeff_homogeneousr     s    P`derW   c                  "    [        [        5        g rs   )rc   %_get_examples_ode_sol_2nd_linear_airyrX   rW   rT   test_Airy_equationr     s    :;rW   c                  "    [        [        5        g rs   )rc   _get_examples_ode_sol_lie_grouprX   rW   rT   test_lie_groupr         45rW   c                  :   [        [        5      R                  [        5      n [        [        [        5      -  U -  [        [        S-  [        [        5      -  [        S-  [        [        5      -  S-
  -  5      -   n[	        U5      S:X  d   e[        [        5        g )Nr   r   )
factorableseparable_reduced	lie_groupseparable_reduced_Integral)r?   r<   r   r!   r0   rc   '_get_examples_ode_sol_separable_reduced)dfrE   s     rT   test_separable_reducedr     st    	
11B
ad(B#ad1Q4i1a4!9q=9:	:B  & & & &<=rW   c                       [        [        SS9  g r   )rc   r   rX   rW   rT   $test_slow_examples_separable_reducedr     s    <DQrW   c                  "    [        [        5        g rs   )rc   ,_get_examples_ode_sol_2nd_2F1_hypergeometricrX   rW   rT   test_2nd_2F1_hypergeometricr     s    ABrW   c                     [         [         S-
  -  [        [         5      R                  [         S5      -  S[        S5      S-  [         -  -   [        [         5      R                  [         5      -  -   [        [         5      -   n [	        [        [         5      [
        [        [        [        [        S[         S-  -
  [         [         S-
  -  -  [         5      5      S[         S-  -
  S-  -  [         5      -  -   [        [        S[         S-
  -  [         5      S-  5      -  [        [        S[         S-
  -  [         5      * S-  5      -  [        [        S5      S-  S4S[         5      -  5      nU[        U SS9:X  d   e[        X5      S	:X  d   eg )
Nr   r      r   )r   2nd_hypergeometric_Integral)rM   r   )r<   r?   r   r   r
   C1C2r%   r   r$   r1   r9   rE   rF   s     rT   $test_2nd_2F1_hypergeometric_integralr     sY   	
AaC11a	 B!QqL!A$))A,#>	>1	EB
QqTBHS1qs7QAY2G)K%La
A#ON &  8Aq1uIq1!34558(1a
G D; :: 61Q462,a01 2C &"?@@@@r9,,,rW   c                  "    [        [        5        g rs   )rc   8_get_examples_ode_sol_2nd_nonlinear_autonomous_conservedrX   rW   rT   'test_2nd_nonlinear_autonomous_conservedr     s    MNrW   c                     [        [        5      R                  [        S5      [        [        [        5      5      -   n [	        [        S[        [        S[        [        [        5      [        5      -  -
  5      -  [        [        [        5      45      [        [        -   5      [	        [        S[        [        S[        [        [        5      [        5      -  -
  5      -  [        [        [        5      45      [        [        -
  5      /n[        U SSS9n[        X5       H  u  p4UR                  U5      (       a  M   e   [        X Vs/ s H  oDR                  5       PM     sn5      SS/:X  d   eg s  snf )Nr   r   +2nd_nonlinear_autonomous_conserved_IntegralFrM   r   r   )r?   r<   r   r   r
   r%   r   r   _ur   r1   ziprt   r9   doit)rE   actualr   ass        rT   0test_2nd_nonlinear_autonomous_conserved_integralr     s   	
11a4!:	%B!Dab2(>&>!>??"adLbSTfUx$rAhtBx44455AaDzBBFKMFBJUZ[F6"zz!}}} # rf5fFFHf569i:PPPP5s   E0
c                  "    [        [        5        g rs   )rc   '_get_examples_ode_sol_2nd_linear_besselrX   rW   rT   test_2nd_linear_bessel_equationr    s    <=rW   c            	         [        [        5      [        [        5      [        [        5      R                  [        5      -  -   n [        [        [        5      [	        [        5      5      [        [        [        5      [
        [	        [        [        -  5      -  5      /n[        XS[        5      nU[        [        [        5      [
        [	        [        [        -  5      -  5      /:X  d   e[        [        5        g Nr   )
r?   r<   r   r
   r   r   r   r3   rc   #_get_examples_ode_sol_nth_algebraic)eqnsolnssolns_finals      rT   test_nth_algebraicr	    s    
A$1adiil"
"C!c!f!bRTl#%E.s1a@K2adBs2a4yL1222289rW   c                       [        [        SS9  g r   rc   2_get_examples_ode_sol_nth_linear_var_of_parametersrX   rW   rT   >test_slow_examples_nth_linear_constant_coeff_var_of_parametersr    s    GW[\rW   c                  "    [        [        5        g rs   r  rX   rW   rT   0test_nth_linear_constant_coeff_var_of_parametersr    s    GHrW   c                     Sn [        [        5      R                  [        S5      S[        [        5      R                  [        S5      -  -   [        [        5      R                  [        5      -   S[        -  -
  [        [        [        -  5      -
  n[        U[        [        5      U SS9n[        U[        [        5      U SS9nX#:w  d   e[        XSSS9S	:X  d   e[        XSSS9S	:X  d   eg )
N:nth_linear_constant_coeff_variation_of_parameters_Integral   r   r   Tr   Fr   r   r   )r?   r<   r   r   r   r1   r9   )ro   rE   sol_simp	sol_nsimps       rT   @test_nth_linear_constant_coeff_variation_of_parameters__integralr    s    
 LH	
11a1QqTYYq!_,	,qtyy|	;ac	AC!H	LBb!A$X=Hr1Q4h?I   r1UCyPPPr1UCyPPPrW   c                       [        [        SS9  g r   rc   _get_examples_ode_sol_1st_exactrX   rW   rT   test_slow_examples_1st_exactr        4DIrW   c                  "    [        [        5        g rs   r  rX   rW   rT   test_1st_exactr    r   rW   c                  6   [        [        [        5      5      [        [        [        [        5      5      -  [        [        5      S-  -
  [        [        5      R	                  [        5      -  -
  n [        U [        [        5      SSS9n[        XSSS9(       d   eg )Nr   F1st_exact_Integralr   r   r  )r   r?   r<   r    r   r1   r9   )rE   sol_1s     rT   test_1st_exact_integralr!    se    	QqTaAaD	kAaD!G+QqTYYq\9	9B2qte2FGEr%@@@rW   c                       [        [        SS9  g r   )rc   )_get_examples_ode_sol_nth_order_reduciblerX   rW   rT   &test_slow_examples_nth_order_reducibler$    s    >dSrW   c                       [        [        SS9  g r   )rc   :_get_examples_ode_sol_nth_linear_undetermined_coefficientsrX   rW   rT   Ftest_slow_examples_nth_linear_constant_coeff_undetermined_coefficientsr'    s    O_cdrW   c                       [        [        SS9  g r   rc   _get_examples_ode_sol_separablerX   rW   rT   test_slow_examples_separabler+    r  rW   c                      [        [        [        [        5      [        5      [        [        [        5      -  [
        R                  -   [        -
  5      n SnU[        U 5      ;   d   e[        [        5        g )N3nth_linear_constant_coeff_undetermined_coefficients)
r
   r   r?   r<   r   r   Halfr0   rc   r&  )rE   ro   s     rT   8test_nth_linear_constant_coeff_undetermined_coefficientsr/    sP    
 
D1qM1QqT6AFF?Q.	/BDH|B''''OPrW   c            	          S n [         nU " U" [        [        [        5      -  [        [        5      U" [        [        5      [        5      -   5      S:X  d   eU " U" [        [        [        5      -  [        [        5      U" [        [        5      [        5      -   5      S:X  d   eU " [        [        5      U" [        [        5      [        5      -  U" [        [        5      [        S5      -   5      S:X  d   eU " U" [        [        [        5      -  [        S5      U" [        [        -  [        [        5      -  [        S5      -   5      S:X  d   eU " U" [        [        5      [        S5      U" [        [        5      [        S5      -   U" [        [        5      [        S5      -   5      S:X  d   eU " U" [        [        5      [        S5      U" [        [        5      [        S5      -   5      S:X  d   e[        [        5        g )Nc                 l    [        [        U [        [        5      [        5      5      R	                  5       $ rs   )r8   r6   r?   r<   r   )rE   s    rT   r   *test_nth_order_reducible.<locals>.<lambda>  s!    $%5b!A$%BCLLNrW   Fr   r   r   T)r   r>   r?   r<   r=   rc   r#  )FDs     rT   test_nth_order_reducibler5    s]   NAAQq1vq!_q1qz)*e333Qq1vq!_q1qz)*e333QqT!AaD!*_q1q!},-555Qq1vq!_q1QqT1a001U:::QqtQ]QqtQ]*QqtQ]:;uDDDQqtQ]QqtQ]*+t333>?rW   c                  "    [        [        5        g rs   r)  rX   rW   rT   test_separabler7    r   rW   c            
          [        [        [        S[        -  5      [        -   5      * [        5      [        [        [        [        S[        -  5      -   5      [        5      * :X  d   e[        [        5        g r  )r&   r   r?   r<   r	   r%   rc    _get_examples_ode_sol_factorablerX   rW   rT   test_factorabler:     sN    d1QqS6"9o%q)htB1Q3K7H!.L-LLLL56rW   c                       [        [        SS9  g r   )rc   r9  rX   rW   rT   test_slow_examples_factorabler<  &  s    5TJrW   c                  "    [        [        5        g rs   )rc   _get_examples_ode_sol_riccatirX   rW   rT   test_Riccati_special_minus2r?  +  s    23rW   c                  "    [        [        5        g rs   )rc   *_get_examples_ode_sol_1st_rational_riccatirX   rW   rT   test_1st_rational_riccatirB  /  s    ?@rW   c                  "    [        [        5        g rs   )rc   _get_examples_ode_sol_bernoullirX   rW   rT   test_BernoullirE  4  s    45rW   c                  "    [        [        5        g rs   )rc    _get_examples_ode_sol_1st_linearrX   rW   rT   test_1st_linearrH  8  s    56rW   c                  "    [        [        5        g rs   )rc   #_get_examples_ode_sol_almost_linearrX   rW   rT   test_almost_linearrK  <  s    89rW   c            	         Sn [        [        [        [        5      [        5      [        -  [        [        5      [        [        [        5      [        [        5      -  S-  -   [        [        [        5      [        5      S-  S-  -
  [        [        5      5      n[        [        [        [        5      [        5      [        -  [        [        [        5      [        [        5      S-  -   [        [        [        [        5      [        5      S-  -  S-  -
  [        [        5      5      nX;  d   eX;  d   eU S-   U;  d   eU S-   U;  d   e[	        [
        5        g )N	Liouviller   rf   )r0   r   r?   r<   rc   _get_examples_ode_sol_liouville)rM   not_Liouville1not_Liouville2s      rT   test_Liouville_ODErQ  @  s   D!$qtQ-/AaDadAq9I4I!4K"KQqT1q#aD"N!$qtQ-/D1q!4DQ4F"F	$qtQ-
1#d$N%%%%%%+^333+^33345rW   c                     [        S5      u  pp#n[        S5      nSn[        [        U5      US5      US-  -  S[        [        U5      US5      -  US-  -  -
  S[        U5      -  -   nU[	        U5      ;   d   eX%" U5      -  X1-  [        U" U5      U5      -  -   XAS-  -  [        U" U5      US5      -  -   nU[	        U5      ;   d   e[        [        5        g )Nz	x t a b cr>   nth_linear_euler_eq_homogeneousr      r   $   )r   r(   r   r?   r0   rc   '_get_examples_ode_sol_euler_homogeneous)r<   tr   bcr>   ro   rE   s           rT   *test_nth_order_linear_euler_eq_homogeneousrZ  O  s    K(MA!A0H	adAq	!Q$	D1q!$4!4QT!9	9BqtG	CB|B''''	
1Q4!#d1Q4m#	#a1fT!A$1-=&=	=B|B''''<=rW   c                     [        S5      u  p[        SSS9u  p#pESnU S-  [        [        U 5      U S5      -  SU S-  -  [        [        U 5      U S5      -  -
  S	[        U 5      -  -   U -   nU[        U[        U 5      5      ;   d   eX S-  -  [        [        U 5      U S5      -  X0-  [        [        U 5      U 5      -  -   U[        U 5      -  -   U[	        U 5      -  -   nU[        U[        U 5      5      ;   d   e[        [        5        g )
Nzx tza b c dTinteger<nth_linear_euler_eq_nonhomogeneous_undetermined_coefficientsr   rT  r   rU  )r   r   r?   r0   r   rc   ._get_examples_ode_sol_euler_undetermined_coeffr<   rW  r   rX  rY  dro   rE   s           rT   Gtest_nth_order_linear_euler_eq_nonhomogeneous_undetermined_coefficientsrb  ]  s    5>DAD1JA!MH	
Ad1Q4A	AqDadAq)9!9	9BqtG	Ca	GB|B!----	
a4QqT1a 	 13tAaD!}#4	4q1v	=#a&	HB|B!----CDrW   c            	      h   [        S5      u  p[        SSS9u  p#pESn[        U S-  [        [        U 5      U S5      -  SU -  [        [        U 5      U 5      -  -
  S[        U 5      -  -   U S-  5      nU[	        U[        U 5      5      ;   d   e[        X S	-  -  [        [        U 5      U S	5      -  X0S-  -  [        [        U 5      U S5      -  -   X@-  [        [        U 5      U 5      -  -   U[        U 5      -  -   U [        U 5      -  5      nU[	        U[        U 5      5      ;   d   e[        [        5        g )
Nzx, tz
a, b, c, dTr\  :nth_linear_euler_eq_nonhomogeneous_variation_of_parametersr         r   )r   r
   r   r?   r0   r   rc   $_get_examples_ode_sol_euler_var_parar`  s           rT   Etest_nth_order_linear_euler_eq_nonhomogeneous_variation_of_parametersrh  k  s   6?DAt4JA!KH	AqDad1Q!A#d1Q4l"22R!W<ad	CB|B!----	AdF4!Qq>!AdF4!Qq>$99ACQqT!<LLqQRSTQUvUWXY\]^Y_W_	`B|B!----9:rW   c                  x   [        S5       V s/ s HJ  n [        [        S-  S[        S-  -  -
  S[        S-  -  -   S[        S-  -  -
  S[        -  -   S	-
  U 5      PML     sn u  pp4nS
[        [        5      [	        S[        [        [        5      [        5      -  [        -  S[        S-  -  [        [        [        5      [        [        5      -  -   S5      [	        [        [        5      [        [        [        [        SS5      -  -  -   5      /S.[	        S[        [        5      -  S[        [        [        5      [        5      -  [        -  -
  S[        S-  -  [        [        [        5      [        [        5      -  -   S5      [	        [        [        5      [        [        [        5      -  [        [        S-  -  -   5      /S.[	        S[        [        5      -  S[        [        [        5      [        5      -  [        -  -   [        S-  [        [        [        5      [        [        5      -  -   S5      [	        [        [        5      [        [        [        [        5      -  -   [        S-  -  5      /S.[	        S[        [        5      -  S[        [        [        5      [        5      -  [        -  -
  S	[        S-  -  [        [        [        5      [        [        5      -  -   [        S-  [        [        [        5      [        [        [        5      -  -   S5      [	        [        [        5      [        [        S-  -  [        [        -  -   [        [        S-  -  -   5      /S.[	        S[        [        5      -  S[        [        [        5      [        5      -  [        -  -   S[        S-  -  [        [        [        5      [        [        5      -  -
  [        S-  [        [        [        5      [        [        [        5      -  -   S5      [	        [        [        5      [        S-  [        [        [        [        5      -  -   [        [        [        5      S-  -  -   -  5      /S.[        S-  [        [        [        5      [        S5      -  [        [        [        [        5      [        5      -  -   S[        [        5      -  -
  [	        [        [        5      [        [        S-  -  [        [        S-  -  -   5      /S.[        [        5      [        S-  -  [        [        5      R                  [        S5      -  [        [        5      [        -  [        [        5      R                  [        5      -  -   [        [        5      [        [        5      -  -   [	        [        [        5      [        [        [        [        5      5      -  [        [        [        [        5      5      -  -   5      /SS/S.[        S-  [        [        5      R                  [        S5      -  [        [        [        5      R                  [        5      -  -
  [        [        5      -   [	        [        [        5      [        [        -  [        [        U-  -  -   [        [        U-  -  -   [        [        U-  -  -   [        [        U-  -  -   [         [        U-  -  -   5      /SS.[#        [        [        [        5      -  [        [        [        5      [	        [        [        5      [        [        [        -  -   [        [        -  -   5      /S.S.	S.$ s  sn f )Nr     r   G   r      r   x   r   rS  r   r      i=   rf  	   2nd_power_series_regularr^  rE   rF   rG   TrE   rF   rJ   )	euler_hom_01euler_hom_02euler_hom_03euler_hom_04euler_hom_05euler_hom_06euler_hom_07euler_hom_08euler_hom_09rM   rH   rD   )r   r'   r<   r?   r
   r   r   r   r   r   r   C3r    r   C4C5C6r   )nr1r2r3r4r5s         rT   rV  rV  z  s   ^cde^fg^fYZ&A1a4"QT'!9C1H!Ds1u!Lq!PRST^fgBBB5aD D1qM!!#a1fT!A$1-=&==qA1Q4bHQN!22234 1Q4!D1qM/!++a1fT!A$15E.EEqI1Q4DGbAg-./ 1Q4!D1qM/!++ad4!a3C.CCQG1Q4"r#a&y.!Q$./0 1Q4!D1qM/!++a1fT!A$15E.EE1TRSTURVXY[\^_M`H``bcd1Q4AqD2a4"QT'123 adRQqT1-a//"QT'$qtQ:J2JJQPQTRVWXYZW[]^`acdReMeeghi1Q4ArBs1vI~3q619<=>? d4!a##aQqT1o5!A$>1Q4ArEBq!tG+,- !fQTk!A$))Aq/)CF1HQqTYYq\,AACF1Q4KO1Q4CAK"SQ[.89:,-kl dQqTYYq!_$q11~5!<1Q4A1b52ae83bBh>ArEIBqRTuHTUV  1Q4Aq)1Q4bdRT)*+[15 5 hs   A\7c                     S[        [        5      [        [        S-  [        [        [        5      [        [        5      -  [        [        [        [        5      [        5      -  -   S5      [        [        [        5      [        [
        [        [        5      -  -   [        [        5      S-  S-  -   5      /S.[        [        S-  [        [        [        5      [        [        5      -  S[        -  [        [        [        5      [        5      -  -
  S[        [        5      -  -   [        S-  5      [        [        [        5      [        [        [
        [        -  -   [        SS5      [        S-  -  -   -  5      /S.[        [        S-  [        [        [        5      [        [        5      -  [        [        [        [        5      [        5      -  -
  S[        [        5      -  -
  [        [        5      [        -  5      [        [        [        5      [        [
        [        S-  -  -   [        [        5      S-  S-  -
  [        [        5      S-  -
  [        -  5      /S.[        [        S-  [        [        [        5      [        [        5      -  S[        -  [        [        [        5      [        5      -  -   S[        [        5      -  -
  [        [        5      S-  [        [        5      -
  5      [        [        [        5      [        [        S-  -  [
        [        S-  -  -   [        SS5      [        [        5      S-  -  -
  [        SS	5      [        [        5      S-  -  -
  [        SS
5      [        [        5      -  -
  [        SS5      -
  5      /S.[        [        S-  [        [        [        5      [        [        [        5      -  S[        S-  -  [        [        [        5      [        [        5      -  -
  S[        -  [        [        [        5      [        5      -  -   S[        [        5      -  -
  [        [        5      5      [        [        [        5      [        [        -  [
        [        S-  -  -   [        [        S-  -  -   [        SS5      [        [        5      -  -
  [        SS5      -
  5      /S.S[        S-  -  [        [        5      R                  [        S5      -  [        [        5      -   [        S[        -  5      [        [        S[        -  5      S-  5      -  -   [        [        [        5      [        [        5      [        [        [        [        5      S-  5      -  [
        [        [        [        5      S-  5      -  -   [        S5      [        [        5      -  [        [        S[        -  5      S-  5      -  S-  -   -  5      /S.S[        S-  -  [        [        5      R                  [        S5      -  [        [        5      -   [        [        S[        -  5      S-  5      -   [        [        [        5      [        [        [        5      -  [        [        [        5      S-  5      -  [
        [        [        5      -  [        [        [        5      S-  5      -  -   S[        [        S[        -  5      S-  5      -  S-  -
  S[        [        S[        -  5      S-  5      -  S-  -
  5      /S.S.S.$ )Nr^  r   r   r   r   r   re         @   r      ro     rU  r  )euler_undet_01euler_undet_02euler_undet_03euler_undet_04euler_undet_05euler_undet_06euler_undet_07r~  )r?   r<   r
   r   r   r   r   r   r  r   r    r   rX   rW   rT   r_  r_    s
    SaD Ad1Q4A&&4!a=8!<1Q4bQi#a&!)A+567 Ad1Q4A&&1T!A$])::QqtVCQTJ1Q4BAIAq!t(;;<=> Ad1Q4A&&4!a=81QqT6A3q6!8L1Q4"r!Q$w,Q14s1vby@!CDE Ad1Q4A&&1T!A$])::QqtVCSVQYQTUVQWEWX1Q4AqD2ad7*Xa]3q619-DDxPQRT~VYZ[V\^_V_G__bjklmobpqtuvqwbww  {C  DE  GJ  {K  K  L  M Ad1Q4Aq))AadF4!a3C,CCac$qQRtUV-FWWZ[\]^_\`Z``befgbhi1Q4A1a4"QT'1HQN3q64IIHUWY[L\\]^ 1fQqTYYq!_$qt+d1Q3iC!HQJ.GG1Q4a"SQ]"2RCF1H5E"EQPSTUPVWZ[^_`ab_b[cde[eWfHfghHh"hijk 1fQqTYYq!_$qt+c#ac(1*o=1Q4DGCAqM1BtAwJs3q6!8}4LLqQTUXYZ[\Y\U]^_U_Q`O`abObbefgjknopqrorkstukugvevwxexxyzA$( (rW   c                  x
   S[        [        5      [        [        S-  [        [        [        5      [        [        5      -  S[        -  [        [        [        5      [        5      -  -
  S[        [        5      -  -   [        S-  5      [        [        [        5      [        [        [
        [        -  -   [        S-  S-  -   -  5      /S.[        S[        S-  -  [        [        [        5      [        [        5      -  S[        -  [        [        [        5      [        5      -  -   S[        [        5      -  -
  [        S-  [        [        5      -  5      [        [        [        5      [        [        S-  -  [
        [        -  -   [        [        [        5      -  S-  -   S[        [        5      -  S-  -
  S[        [        5      -  S[        -  -  -   S[        [        5      -  S[        S-  -  -  -
  5      /S.[        [        S-  [        [        [        5      [        [        5      -  S[        -  [        [        [        5      [        5      -  -
  S[        [        5      -  -   [        S-  [        [        5      -  5      [        [        [        5      [        [        [
        [        -  -   [        [        [        5      -  -   S[        [        5      -  -
  -  5      /S.[        S-  [        [        [        5      [        [        5      -  S[        -  [        [        [        5      [        5      -  -
  S[        [        5      -  -   [        [        5      -
  [        [        [        5      [        [        -  [
        [        S-  -  -   [        [        5      S-  -   [        SS5      -   5      /S.[        [        5      * [        [        [        [        5      [        S45      -  [        [        [        5      [        5      -   [        -  -   [        [        [        5      [        [
        [        [        5      -  -   [        [        5      -   [        [        5      -
  5      /S.[        S-  [        [        5      R                  [        S5      -  [        [        [        5      R                  [        5      -  -   S[        [        5      -  -   S[        -  -
  [        [        [        5      [        [        S[        [        5      -  5      -  [
        [        S[        [        5      -  5      -  -   SS	[        -  -  -   5      /S.S
.S.$ )Nrd  r   r   r   ro  r   re  r   r  )euler_var_01euler_var_02euler_var_03euler_var_04euler_var_05euler_var_06r~  )r?   r<   r
   r   r   r   r   r   r   r   r"   r    r   rX   rW   rT   rg  rg    s    QaD Aj1q!,,qs:adA3F/FF1Q4OQRTUQUV1Q4BAI1Q./01 1a4QqT1a((1Q3tAaD!}+<<q1vEq!tCPQF{S1Q4AqD2a4!CF(1*4qQxzAAc!fHaPQcNRUVWZ[\W]U]_`abdeae_eUffgh Aj1q!,,qs:adA3F/FF1Q4OQRTUQUVYZ[V\Q\]AaD!R"Q$Y3q61Ac!fH<=>? d:adAq))AaC
1Q40C,CCa!fLsSTvU1Q4A1a4#a&(2Xa^CDE 1vg:adQF33j1q6II1LL1Q4bQi#a&02a589: dQqTYYq!_$q1Q499Q<'77!ad(BQqSH1Q4C#a&M)Bs1SV8},<<q!A#wFGH5" "rW   c                  8   S[        [        5      [        [        [        [        5      R                  [        5      -  [        [        5      -   [        [        5      S-  -
  S5      [        [        [        5      S[        [        -  S-   -  5      /S/S.[        [        5      R                  [        5      [
        [        [        5      -  -
  [        [        [        5      [        [        [        [
        -  5      -  5      /S.[        [        5      [        [        5      R                  [        5      -  S-
  [        [        [        5      [        [        S[        -  -   5      * 5      [        [        [        5      [        [        S[        -  -   5      5      /S.S.S	.$ )
N	Bernoullir   r   r   r   rs  r   )bernoulli_01bernoulli_02bernoulli_03r~  )r?   r<   r
   r   r   r>   r   r   rX   rW   rT   rD  rD  	  s     aD 1Q499Q<!A$&1q0!41Q4BqD1H&'%& diilQqtV#1Q4C!H%& d1Q499Q<!#1Q4$rAaCx.)2adDacN+CD rW   c                     S[        [        5      SS[        [        5      R                  [        5      -  [        [        5      S-  -   [        [        5      [        -  -
  S[        S-  -  -   [        [        [        5      [	        S5      * [        [        [	        S5      [        [        5      -  S-  -   5      -  S-   S[        -  -  5      /S.0S.$ )	NRiccati_special_minus2
riccati_01r   r   r   r   r~  )r?   r<   r   r
   r   r!   r   r   rX   rW   rT   r>  r>  #  s     -aD!		!nqtQw&1a/!AG);1Q447(3rDGCFN1,<'<#==AAaCHIJ	 	rW   c                  B   S[        [        5      [        [        [        5      R                  [        5      [        [        5      S-  -   S-
  S5      [        [        [        5      [	        S5      [
        * [        S[	        S5      -  [        -  5      -
  -  [
        [        S[	        S5      -  [        -  5      -
  -  5      /S.[        [        5      S-  [        [        [        5      [        5      -   S[        [        5      -  [        -  -   S[        S-  -  -   [        [        [        5      S[
        -  [        -
  [        [
        [        -   -  -  5      /S.S[        S-  -  [        [        [        5      [        5      -  [        S[        [        5      -  [        [        [        5      [        5      -   S-
  -  -
  [        [        5      S-
  [        [        5      -  -   [        [        [        5      [
        S[        S-  -  -   [
        [        -   -  5      /S.[        [        5      R                  [        5      S-
  S	[        [        5      -  -
  [        [        5      S-  -
  [        [        [        5      S[
        -  S
[        [        5      -  -   [
        [        [        5      -
  -  5      /S.[        S-  S[        -  S[        -  -   [        [        5      -  -
  [        [        5      S-  -   [        [        [        5      [        5      -   [        [        [        5      [        [
        [        S-  -   S-   -  [
        [        S-  -   S-
  -  5      /S.[        S-  [        [        [        5      [        5      -  [        S-  -   [        S[        [        5      S-  -  [        [        [        5      [        5      -   -  -
  [        [        5      -   [        [        [        5      [        [
        [        -  [        -
  S-   -  [
        [        S-  -   S-
  -  5      /S.[        [        5      S-  * [        [        [        5      [        5      -   S[        S-  -  S[        -  -
  S-   [        S-
  S-  S[        -  S-
  S-  -  -  -   [        [        [        5      S[
        -  [        -  S[
        -  -
  S[        S	-  -  -
  S[        S-  -  -   S[        S
-  -  -
  S[        S-  -  -   S[        -  -
  S-   S[
        -  [        S-  -  S[
        -  [        -  -
  S
[
        -  -   S[        S-  -  -   S[        S	-  -  -
  S[        S-  -  -   S[        S
-  -  -
  S[        S-  -  -   S
[        -  -
  S-
  -  5      /S.[        [        [        5      [        5      S
[        S-  -  S-   [        [        5      S-  -  [        -  -   S[        S-  -  [        -
  S
-   [        [        5      -  [        [        S-
  -  -  -   S
[        S-  -  S[        -  -
  S-   [        [        S-
  S-  -  -  -   [        [        [        5      [
        * [        S
-  -
  [        S-  -   S[        -  -
  S-   [
        [        -  [
        -
  [        S-  -   [        S
-  -
  [        S-  -   S[        -  -
  S-   -  5      /S.[        [        [        5      [        5      S[        -  [        [        5      S-  S-   -  [        -  -
  [        [        [        5      [        * [
        -  [        [        S-  -  -   [        -   [
        [        S-  -   S-
  -  5      /S.[        [        [        [        5      [        5      [        [        [        5      -  [        S
5      S-  S[        -  -
  -  [        S-  [        S5      S
-  -
  [        [        5      S-  -  S[        -  S
-  [        S5      S-  -
  -  -   [        S	5      S-  -
  S[        S-  -  S[        -  -
  S-   S[        S
-  -  S[        S-  -  -
  -  -   5      [        [        [        5      S[
        -  [        S-  -  S[
        -  [        S-  -  -   S [
        -  [        S-  -  -   S![
        -  [        S"-  -  -   S#[
        -  [        S$-  -  -   S%[
        -  [        S-  -  -   S&[
        -  [        S-  -  -   S'[
        -  [        S-  -  -   S([
        -  [        S-  -  -   S)[
        -  [        S	-  -  -   S*[
        -  [        S-  -  -   S+[
        -  [        S
-  -  -   S,[
        -  [        S-  -  -   S-[
        -  [        -  -   S.[
        -  -   [        [        S[        -  5      -  -   S[        S[        -  5      -  -
  [        S/[
        -  [        S-  -  S0[
        -  [        S-  -  -   S1[
        -  [        S"-  -  -   S2[
        -  [        S$-  -  -   S3[
        -  [        S-  -  -   S%[
        -  [        S-  -  -   S4[
        -  [        S-  -  -   S5[
        -  [        S-  -  -   S6[
        -  [        S	-  -  -   S7[
        -  [        S-  -  -   S8[
        -  [        S
-  -  -   S9[
        -  [        S-  -  -   S9[
        -  [        -  -   S:[
        -  -   [        S[        -  5      -
  -  -  5      /S.S;.
S<.$ )=N1st_rational_riccatir   r   r   r   r  r   ro  r  r         r   rq  <   ^   H   !   re     9   :      i  i  i  r  rf  (   rj  rT  i  i|  r  i0H  
   i iF i4" i< ii2ҍi"0	iimi^      iH  i  i<Z  i8X i4 iLB i i|Mi:i )
rational_riccati_01rational_riccati_02rational_riccati_03rational_riccati_04rational_riccati_05rational_riccati_06rational_riccati_07rational_riccati_08rational_riccati_09rational_riccati_10r~  )
r?   r<   r
   r   r   r   r   r   r   r   rX   rW   rT   rA  rA  2  s@	   
 +aD 11!a'!+Q/1Q4a2#Ad1gIaK(8"892Ad1gIaK@P;PQRS dAg
1Q4++a!fQh61a4?1Q4"R%!)aaj123 1fZ!a((1a!fz!A$7J.JQ.N+OOSTUVSWZ[S[]^_`]aRaa1Q4"qAv+Q/01 diilQ1Q4'!A$'11Q4"R%!CF(*R#a&[9:; dacAaCi1%%!a/*QqT12EE1Q4BAIM*BAIM:;< d:adA&&A-1QqT1W9z!A$PQ?R3R0SSVWXYVZZ1Q4BqD1HqL)219q=9:; tQwhAaD!,,1a4"Q$0Ba!eaZQRSTQTRQ F 0 1Q4!B$q&1R4-"QT'1Bq!tG;bAgE1a4OqDtAqDy1R46)AbD01QT69Bq!tGCbAgMq!tGAg !!$&'() * + 1q!Qq!tVaZ1q$8$::a1fqj1naPQd=RTUWXX U > q!tVac\A%1q51*561Q42#1*q!t+ac1A51r	AqD8H1a48ORSUVRV8VaC99    1q!AaC1q1$5a$771Q41"R%!AqD&.1,rAqDy1}=>? AaD!$a!fad1fqsl&;qsQqT!V|QqTSTW>TqSUQqT!V^? ' tAv'&),QTDF):S)@2ad7RPQSTPTWCT(U'V W1Q4"R%2+2ae3c"fQUlBT"WQPRU]R"HQUN#BYq!t^,.4Ri1n=?Frz!Q$OBJq!tO&rk!Q$./19"QT1ABDMbLQRTUQUDUV l1a4  #,B,q.1 4=R<@ CDC!H*M PQQTUVWXUXQYzZ "R%2+Bq"u,s2vae|;d2gaemKeTVhWXZ[W[m[Ri1n%byA~.07
1a4@BI"*QPQT/RRK1'{1a4/02:2+ad2BCEMb[QR]S RK ac(# $	% & 'kAE ErW   c                     S[        [        5      S[        [        [        5      R                  [        5      [        [        [        5      -  -   [        S-  5      [        [        [        5      [        [        [        [        S-  S-  5      -  -   [        S5      [        [        5      -  [        [        S5      [        -  S-  5      -  S-  -
  [        [        S-  * S-  5      -  5      /S.0S.$ )N
1st_linear	linear_01r   r   r~  )	r?   r<   r
   r   r   r   r   r	   r#   rX   rW   rT   rG  rG    s     !aD11!A$&1-1Q4"qQT!V},d1gd2h.>tDGAIaK?P.PQR.RRTWYZ\]Y]X]^_X_T``ab	 	rW   c                  %   [        S5      n [        S5      u  pp4nS[        [        5      0 S[        [        5      [        [        5      [        [        5      R	                  [        5      -  -   [        [        [        5      S5      [        [        [        5      [        [        -
  5      // SQS._S[        [        5      [        [        5      R	                  [        5      [        [        5      [        -  -   S	-   -  [        [        [        5      [        [        S	5      [        [        5      -  [        [        S	5      [        -  S	-  5      -  -
  [        [        S	-  * S	-  5      -  5      [        [        [        5      S5      // S
QS._S[        [        5      R	                  [        5      [        [        5      [        S	-  -  -   [        [        5      R	                  [        S	5      [        [        [        5      -  -   -  [        [        [        5      [        [        [        * 5      -  [        [        [        * 5      -  -   5      [        [        [        5      [        [        [        S-  * S-  5      -  5      /S._S[        [        5      R	                  [        5      [        [        5      [        S	-  -  -   [        [        5      R	                  [        S	5      [        [        5      -   -  [        [        [        5      [        [        [        S-  * S-  5      -  5      [        [        [        5      [        [        [        5      -  [        [        [        5      -  -   5      /S._S[        [        5      R	                  [        5      S	-  S-
  [        [        5      R	                  [        5      S	-  S-
  -  [        [        [        5      [        [        -
  5      [        [        [        5      [        [        -   5      [        [        [        5      [        S	[        -  -   5      [        [        [        5      [        S	[        -  -
  5      /S._S[        [        5      R	                  [        S	5      [        [        [        5      5      -
  [        [        5      R	                  [        5      -  [        [        [        5      [!        [        * [        [        [        * 5      [        [        -   -  5      S-   -  5      5      [        [        [        5      [!        [        * [        [        [        * 5      [        [        -
  -  5      S-   -  5      5      [        [        [        5      [        5      /SS._S[        [        5      R	                  [        5      S	-  S-
  [        [        5      [        [        5      R	                  [        5      -  S-
  -  [        [        [        5      [        [        -
  5      [        [        [        5      [        [        S	[        -  -   5      * 5      [        [        [        5      [        [        S	[        -  -   5      5      [        [        [        5      [        [        -   5      /S._S[#        [        [        5      [        5      S-  S	[#        [        [        5      [        5      S	-  -  -
  S-   [        [        [        5      [        [        -
  5      [        [        [        5      [        [        -   5      /S._S[        [        5      S	-  [#        [        [        5      [        5      S-  -  S	[        [        5      S	-  -  [#        [        [        5      [        5      S-  -  -
  [        [        5      S	-  [#        [        [        5      [        5      S	-  -  -   S	[        [        5      -  [#        [        [        5      [        5      S-  -  -
  S[        [        5      -  [#        [        [        5      [        5      S-  -  -   S	[        [        5      -  [#        [        [        5      [        5      -  -
  [#        [        [        5      [        5      S-  -   S	[#        [        [        5      [        5      S	-  -  -
  S-   [        [        [        5      [        [        -
  5      [        [        [        5      [        [        S	[        -  -   5      * 5      [        [        [        5      [        [        S	[        -  -   5      5      [        [        [        5      [        [        -   5      /S._S[        S-  [        [        5      S	-  -  S	[        S-  -  [        [        5      -  [#        [        [        5      [        S	45      -  -   [        S-  [#        [        [        5      [        S	45      S	-  -  -   S	[        S-  -  [        [        5      -  [#        [        [        5      [        5      -  -   S	[        S-  -  [#        [        [        5      [        5      -  [#        [        [        5      [        S	45      -  -   S[        S	-  -  [        [        5      S	-  -  -
  S[        S	-  -  [        [        5      -  [#        [        [        5      [        S	45      -  -
  [        S	-  [#        [        [        5      [        5      S	-  -  -   S[        -  [        [        5      -  [#        [        [        5      [        5      -  -
  S[        [        5      S	-  -  -   [        [        [        5      [        [%        S	[        5      -  [        ['        S	[        5      -  -   5      [        [        [        5      [        [%        [        S5      [        5      -  [        ['        [        S5      [        5      -  -   5      /SS._S[        [        5      R	                  [        S	5      [        [        [        5      5      -
  [        [        5      R	                  [        S	5      [        [        [        5      5      -   -  [        [        [        5      [!        [        [        [        [        S[        -  5      -  [        [        -   -  5      S-
  -  5      5      [        [        [        5      [!        [        [        [        [        S[        -  5      -  [        [        -
  -  5      S-
  -  5      5      [        [        [        5      [!        [        S[        [        [        S[        -  5      -  [        [        -   -  5      -
  -  5      5      [        [        [        5      [!        [        S[        [        [        S[        -  5      -  [        [        -
  -  5      -
  -  5      5      /SS._S [        [        [        5      R	                  [        5      5      [        [        5      S	-  -
  [        [)        S[!        U S	-  5      -  U [        [        5      45      [        [        -   5      /S!/S._S"[        [        5      R	                  [        5      S	-  [        [        5      S-  -
  [        [        [        5      S[        S	-  S	[        -  [        -  -
  [        S	-  -   -  5      /S!/S._S#[        [        5      R	                  [        5      S	-  [        [        5      -
  [        [        [        5      [        S	-  S-  [        [        -  S	-  -
  [        S	-  S-  -   5      /S._S$[        [        5      R	                  [        5      S	-  [        [        5      S	-  -
  [        [        [        5      [        [        [        5      -  5      [        [        [        5      [        [        [        * 5      -  5      /S._S%[        [        5      R	                  [        5      S	-  [        [        5      S-  -
  [        [        [        5      S[        S	-  S	[        -  [        -  -
  [        S	-  -   -  5      /S._S&[        [        5      R	                  [        5      U[        S-  -  U[        S-  -  -   U[        S	-  -  -   U[        -  -   U-   S'-  -
  [        [        [        5      [        [+        S[        X[        -  -   U[        S	-  -  -   U[        S-  -  -   U[        S-  -  -   5      -  [        5      -   5      /SS._[        [        S	[        -  5      [        [#        [        [        5      5      5      5      [        [        [        5      [        [+        [        [-        [        S	[        -  5      5      -
  [        5      -   5      [        [        [        5      [        [+        [-        [        S	[        -  5      5      [        5      -   5      /SS(.[#        [        [        5      [        5      S	-  [        S-  -
  [        [        [        5      [        S	[        [/        SS	5      -  -  S-  -
  5      [        [        [        5      [        S	[        [/        SS	5      -  -  S-  -   5      /S.[        [        [        5      R	                  [        S	5      -  [        [        [        5      -  -
  [        [        [        5      [        [        [        * 5      -  [        [        [        5      -  -   5      /S.S).ES*.$ )+zsome hints are marked as xfail for examples because they missed additional algebraic solution
which could be found by Factorable hint. Fact_01 raise exception for
nth_linear_constant_coeff_undetermined_coefficientsr>   za0, a1, a2, a3, a4r   fact_01r   )	separable	1st_exactr  r  1st_homogeneous_coeff_bestr   r   r   r^  1nth_linear_constant_coeff_variation_of_parametersrd  r-  rs  fact_02r   )r  r  r   fact_03r   r   fact_04fact_05r   r   fact_06TrE   rF   r;   fact_07fact_08fact_09ro  r  fact_10r   rf  fact_11r   rE   rF   rK   fact_12r   fact_13fact_14fact_15fact_16fact_17g      rt  )fact_18fact_19fact_20r~  )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>   a0a1a2a3a4s         rT   r9  r9    s    	c
A12NB" aDKdQqT!A$))A,&&1Q4R!b1f-.?	K dAaDIIaL1a')*1Q4"tAwtBx/T!WQYq[0AAA31uQw<OPRTUVWXUY[\R]^9K$ tyy|AaDAI%!		!Q!AaD&(@AAaD"VQBZ-"VQBZ-78AaD"S!Q$q\/9RS%K. tyy|AaDAI%!		!Q!A$(>?1Q4CAaL)2adBs1vI3q6	4I+JK/K8 tyy|Qq 1Q499Q<?1#451Q4a "QqT26"2BqtR!A#X4F1Q4QSVWXYVYQYHZ[9KB tyyAs1Q4y(!A$))A,6qtS"c$s)R!V"459:;<qtS"c$s)R!V"459:;<qtRL

 CKV tyy|Qq 1Q4!		!#4Q#671Q4a "QqTDacN?";BqtT"qQRs(^<TVXYZ[\Y]_ade_eVfgWK` 1q!1$qAaD!)<a)?'??!C1Q4a "QqT26"23aKj dAgj1q)1,,q1qyAaD	
:: 0 1qAaD!,a//023AaD&AaD	
:: 31Q4
1Q4+Q../121Q4
1Q4	
9 2 1q!1$% ()AaD!)<a)?'?@ CDD
 qtR!Vb1R!A#X7qtT"qs(^$b1rAv&6
	kK@ d1Q47lQq!tVAaD[AaD1a&)AAAAqDTUVWTX
QJJ E Avad{:adA#6679:1a4
1Q4	
A :qtaV$:%%'(AvadAg~689!Q$qtJqQRt
QE 9 a4
1Q4+Q../ 231QqT*QqT1:M1MN QSSTUVSWYZSZPZ[
 qtR1%71a=(889qtRQ++ba!1D.DDE
 
AKX tyyAs1Q4y(1Q499Q?3qt9+DEqtSSDBKa!89A=>?@qtSSDBKa!89A=>?@qtSQRRU^R!V%<!==>?@qtSQRRU^R!V%<!==>?@	
  	YKp !A$))A,!a'(3q!t9q!A$i@"q&IJqK| diilAo!a'1Q4BEAbDFNQT1234}KH diilAo!$1Q4Qq2a46)AqDF234IKR diilAo!a'1Q4CF#R!baRj%9:SK\ diilAo!a'1Q4BEAbDFNQT1234]Kh diilBq!tGbAg-1a47"Q$>CtLL1Q4hqba4i"QT'.ABq!tG.KbQRTUQUg.U)V'VXYZZ[\iKx 1q53z!A$/011Q4hrD1Q3L'8!<<=r!A$XVZ[\]^_`]`[aVbdeMfHf?gh  1q!1$q!t+1Q4a8Aa= 00223R!b1QQRSTEUCUVWCW>W5XY !		!Q!AaD&(1Q4CGbQi/01OKO OrW   c                     SSK Jn   [        SSS9n[        S5      nU" [        5      R                  [        5      nSU" [        5      [        S-  U" [        5      S-  -  U-  U" [        5      S	-  -   S
-   [        U" [        5      [        [        S	[        -  5      -  S
-
  [        S
S	5      -  5      [        U" [        5      S[        S	5      [        -  -
  [        [        S	[        -  5      -  S
-
  [        S
S	5      -  -  S-  5      [        U" [        5      S[        S	5      [        -  -   [        [        S	[        -  5      -  S
-
  [        S
S	5      -  -  S-  5      /S.[        U" [        5      -  U-  S[        -  U" [        5      S-  -  -   S
-   [        U" [        5      [        [        SU " S[        -  5      -  -
  [        S[        -  5      -  5      * 5      [        U" [        5      [        [        SU " S[        -  5      -  -
  [        S[        -  5      -  5      5      /S.[        U-  [        U" [        5      -  -   S
-   [        U" [        5      [        U " [        5      -
  [        [        * 5      -  5      /S.[        [        U" [        5      5      -  U-  [        U" [        5      5      -   S	[        -  -   [        U" [        5      [        [        [        -  [        [        S	S5      -  -
  5      5      /S.[        U[        [        U" [        5      [        5      -   U" [        5      -   -  -   [        U" [        5      [        5      -   U" [        5      -   S-   [        U" [        5      [        [        [        [        US
-   S5      4U* [        -  U-   [        -
  S
-
  [        [        5      -  US
-   -  S45      -   [        [        * 5      -  5      /S.S.S.$ )Nr   )r"   ATpositiver?   almost_linearr   r   r   r   r   r   )almost_lin_01almost_lin_02almost_lin_03almost_lin_04almost_lin_05r~  )'sympy.functions.special.error_functionsr"   r)   r(   r<   r   r
   r   r   r   r   r   r   r   )r"   r  r?   ra  s       rT   rJ  rJ  )  s   :sT"AA	!		!A $aD d1Q47l1nqtQw&*1Q4"S1X+/HQN:;
1Q4"tAwqy.2c!A#h;?Xa^"CCAEF
1Q4"tAwqy.2c!A#h;?Xa^"CCAEFH !fQh1QqT1W$q(1Q4$Qr!A#wYBqD	9::;R!dBQRSUVWXYVYSZQZN\_`bcd`d\eKeFf=gh sQqtV|a1Q4"r!u*c1"g-./ AaD	k!mc!A$i'!A#-1Q4RTAhq!n$44567 !QadA&1-..adA>1EI1Q4"y	
Bq1uaLaRTAX\A-s1v5q1u=tD F FGJA2wO P Q1! !rW   c                  
   [        S5      n [        S5      nS[        [        5      [	        [        [        5      [        5      [        -  [	        [        [        5      [        [        5      S-  -   [	        [        [        5      [        5      S-  S-  -
  [        [        [        5      [        [        [        [        [        -  -   -  5      5      /S.[	        [        [        [        [        5      * 5      -  [        [        5      [        [        [        5      [        [        [        [        [        -  -   -  5      5      /S.[	        [        [        5      [        5      [        -  [	        [        [        5      [        [        5      S-  -   [	        [        [        5      [        5      S-  S-  -
  [        [        [        5      * 5      -  [        [        [        5      5      -  R                  5       [        [        [        5      [        [        [        [        [        -  -   -  5      5      /S.[	        [        [        5      [        [        5      S[        [        5      -  [	        [        [        5      [        5      S-  -  -   S[        -  [	        [        [        5      [        5      -  -   [        [        [        5      [        [        [        [        [        5      -  -   5      * 5      [        [        [        5      [        [        [        [        [        5      -  -   5      5      /S.[        [	        [        [        5      [        [        5      -  [        [        [        5      -  [	        [        [        5      [        5      S-  -  -   [        [	        [        [        5      [        5      -  -   [        [        [        5      [        [        [        [        [        * 5      -  -   5      * 5      [        [        [        5      [        [        [        [        [        * 5      -  -   5      5      /S.[        [        [        [        [        5      5      -  R	                  [        [        5      S5      [        [        [        5      [        [        [        [        -  -   5      5      /S.[	        [        [        5      [        5      [        -  [	        [        [        5      [        [        5      S-  -   [	        [        [        5      [        5      S-  S-  -
  [        [        [        5      * 5      -  [        [        [        5      5      -  [        [        [        5      [        [        [        [        [        -  -   -  5      5      /S.[        S-  [	        [        [        5      [        5      -  U [        [        5      -  [        [        5      S-  -   [	        [        [        5      [        5      S-  -  -   [	        [        [        5      [        S45      -   [        [        [        [        [        SS5      [        S-  S-  5      -  -   [        [        US-  S-  5      [        US-  U -  S-  5      -  U[        [        5      45      -   S5      /S.S	.S
.$ )Nr  r>   rM  r   r   r   r   r   )liouville_01liouville_02liouville_03liouville_04liouville_05liouville_06liouville_07liouville_08r~  )r)   r   r?   r<   r   r
   r   r   r   r   expandr   r.   r   r/   )r  _ys     rT   rN  rN  T  sS   sA	sBaD 1Q4mAoQqT1a 0 22T!A$]A5Ea5GG1Q4QRT	]+,- 1S!A$Z<A&1Q4QRT	]+,- adAq4!a#3A#55QqT1q8H8JJCQRSTQUPUJVWZ[\]^[_W``hhj1Q4QRT	]+,- 1Q4A1Q4adA(:!::QqSadA=NN1Q4$rBs1vI~../AaD$rBs1vI~:N1OP QqT1a  1QqT6$qtQ-*:#::QtAaD!}_L1Q4$rBsA2wJ//0"QqT4RQBZ;P2QR !C!I+##Aq)1-1Q4R"Q$Y() AaD!}QadAq!1!!33d1Q4mQ6Fq6HH#qQRte*TUXYZ[\Y]U^^1Q4QRT	]+,- d4!Q<1QqT6AaD!G#3T!A$q\1_"DDtAaDSTVWRXGYY2:hqmQT!V<<<?TUXY[]^Y^_`Y`UabefhjkfklmfmnofobpUpsuwxyzw{r|?}}  @A  B  CK)- -rW   c                     [        S5      u  pp#[        S5      n[        S5      nS[        [        5      0 S[        [        5      [        [        5      R                  [        5      -  [        [        5      R                  [        [        5      -  [        [        5      S-
  -  [        [        5      R                  [        5      [        -
  -  [        [        [        5      [        [        S-  S-  -   5      [        [        [        5      [        [        [        -  -   5      /S._S	[        [        5      [        [        5      R                  [        5      -  [        [        5      R                  [        [        5      -  [        [        5      S-
  -  [        [        [        5      [        [        [        -  -   5      /S._S
[        [        5      [        [        5      R                  [        5      -  [        [        5      R                  [        [        5      -  [        [        [        5      [        [        [        -  -   5      /S._S[        U * U" U5      R                  U5      -  [        SS5      U-  US-  -  U" U5      R                  U5      -  U" U5      R                  X35      -  5      [        U" U5      [        5      [        U" U5      [        [        U-  -   XS-  -  SU-  US-  -  -  -
  5      /U" U5      S._SS[        [        [        5      5      -
  [        [        5      R                  [        5      -  [        [        [        5      [        5      /S/S._S[        [        [        5      5      [        -
  [        [        [        5      5      [        -   -  [        [        [        5      [        [        S-  S-  -
  5      [        [        [        5      [        [        S-  S-  -   5      /S._S[        [        [        [        5      [        5      [        [        [        5      [        5      5      [        [        [        5      [        [        [        5      -   5      /S._S[        [        5      R                  [        5      [        -
  [        [        [        5      [        [        -  [        -   5      /S._S[        [        5      [        [        5      R                  [        5      -  [        [        [        5      [        5      /S._S[        [        [        5      5      [        -
  [        [        [        5      5      [        -   -  [        [        [        5      [        [        S-  S-  -
  5      [        [        [        5      [        [        S-  S-  -   5      /S._S[        [        5      [        [        5      [        [        5      R                  [        5      -  -   [        [        [        5      S5      [        [        [        5      [        [        -
  5      // SQS._S[        [        [        [        5      -  [        [        [        5      [        [        [        5      [        [        [        -  -   [        [        S-  -  -   [        -  5      /S/S._S[        [        [        [        [        [        5      [        5      -  [        5      [        -  [        [        5      5      [        [        [        5      [        [        [        [        5      -  -   [        [        5      -   [!        [        5      -
  5      /S/S._S[        [        [        5      R                  [        5      S5      [        [        [        5      [        5      /S._S[        S[        [        5      R                  [        5      -  S-
  S5      [        [        [        5      [        [        [        SS5      -  -   5      /S._S[        S[        [        5      R                  [        5      -  S5      [        [        [        5      [        [        [        SS5      -  -   5      /S._S[        S[        [        5      R                  [        5      -  S-
  S5      [        [        [        5      [        [        S-  -   5      /S._[        [        [        [        5      R                  [        5      -  S-
  S5      [        [        [        5      [        [        [        5      -   5      /S.[        [        5      R                  [        5      [        [        U* [        -  5      -  -
  [        [        [        5      [        [#        U* [        -  S-
  [        U* [        -  5      -  US-  -  [%        US-  S5      4[        S-  S-  S 45      -   5      /S.[        [        5      R                  [        5      * [        [        U* [        -  5      -  -   [        [        [        5      [        [#        U* [        -  S-
  [        U* [        -  5      -  US-  -  [%        US-  S5      4[        S-  S-  S 45      -   5      /S.[        [        [        5      R                  [        5      R                  [        5      [        S-
  S-  [        S-
  S-  -   5      [        [        [        5      [        [        [        -  -   [        S-  S!-  -   S[        S"-  -  S-  -
  S#[        S-  -  S$-  -   S#[        S-  -  S-  -
  5      /[        [        5      S.[        [        5      R                  [        5      [        [        [        5      R                  [        5      -  -
  [        [        [        5      [        [        [        [        5      -  -   5      /[        [        5      S.[        [        5      R                  [        5      S[        -  -
  S[        S-  -  -
  [        [        [        5      [        S[        -  [        -  -   [        S-  -   5      /S.S%.ES&.$ )'NzM m r tphiknth_algebraicalgeb_01r   r   r   algeb_02algeb_03algeb_04r   rE   rF   rH   algeb_05r  rs  algeb_06algeb_07algeb_08algeb_09algeb_10algeb_11r   )r  r  r  r  r  r   r   r   r-  r^  r  rd  algeb_12algeb_13algeb_14algeb_15r  algeb_16algeb_17Tr  r      ro  )algeb_18algeb_19algeb_20algeb_21algeb_22algeb_23r~  )r   r(   r)   r?   r<   r   r
   r   r   r   r    r   r@   r  r   r   r"   r   r   )MmrrW  r  r  s         rT   r  r    s   #JA!
5/CsA $aDGdQqTYYq\!AaDIIaO3qtax@AaDIIaLSTDTU1Q4ad1f%r!A$RT	':;G dQqTYYq\!AaDIIaO3qtax@1Q4bd#$G dQqTYYq\!AaDIIaO31Q4bd#$G  !c!fkk!n$	!Q!	ad	"SV[[^	3c!fkk!6F	FH3q623q6219qAvqs1a4x7H+H IJA	!G. 3qt9}!		!,1Q4~/G: AaDzA~QqT
Q/1Q4ad1f%r!A$QT!V'<=;GD AaD!$j1q&9:1Q4ad#$EGN diilR1Q4A#$OGX d1Q499Q<1Q4~YGb AaDzA~QqT
Q/1Q4ad1f%r!A$QT!V'<=cGl dQqT!A$))A,&&1Q4R!b1f-.G
mGD 1Q4Aq)1Q4"r!t)bAg-234!"EGP Aj1q1115a7Q@1Q4bQi#a&02a589:!"QG^ 11q!1Q4~_Gh 1Q499Q<!#Q'1Q4aA../0iGr 1Q499Q<#1Q4aA../0sG~ 1Q499Q<!#Q'1Q4ac"#GJ 1Q499Q<!#Q'1Q4c!f%& diilQsA2a4y[(1Q4i1"Q$(C1I)=ad)BBq!tQK(PRSUVRVWXRXZ^Q_``ab tyy|maQBqD	k)1Q4i1"Q$(C1I)=ad)BBq!tQK(PRSUVRVWXRXZ^Q_``ab 11""1%!ax1Q3(':;1Q4bdQT"W,qAvax7"QT'!)CbAgaiOPQ! diilR!		!_,1Q4b1g&'! diilQrT!AadF*1Q4ad1fq!t+,-GGK KrW   c                  h   S[        [        5      [        [        [        [        [        5      [        5      S-  -  [        [        [        5      [        S5      -   S5      [        [        [        5      [        [        S[        -  5      [        [        * [        S[        -  5      -  [        -   5      -  -
  [        S[        -  5      [        [        [        S[        -  5      -  [        -   5      -  -   5      /SS.[        [        5      * [        [        [        [        5      [        S45      -  [        [        [        5      [        5      -   [        -  -   [        [        [        5      [        [        [        [        5      -  -   [        [        5      -   [        [        5      -
  5      /SS.[        [        S5      [        [        5      R                  [        [        [        5      -  [        [        5      R                  [        5      -   S5      [        [        [        5      [        [        [        S[        SS5      -  [        -  S-  5      -  -   [        [        S[        SS5      -  [        -  S-  5      -  -   5      /SS.[        [        5      R                  [        S5      S[        [        5      R                  [        5      -  -   [        [        [        5      [        [        [        S	[        -  5      -  -   5      /S
.[        [        5      R                  [        S5      [        [        5      R                  [        S5      -   S[        [        5      R                  [        5      -  -
  [        [        [        5      [        [        [        S[        -  5      -  -   [        [        S[        -  5      -  -   5      /SS.[        [        5      R                  [        S5      [        [        5      R                  [        S5      -
  S[        [        5      R                  [        S5      -  -
  S[        [        5      R                  [        5      -  -   [        [        [        5      [        [        [        S	[        -  5      -  -   [        [        [        5      -  -   [        [        S[        -  5      -  -   5      /SS.[        [        5      R                  [        S5      S[        [        5      R                  [        S5      -  -   [        [        [        5      [        [        [        -  -   [        [        S-  -  -   [        [        S[        -  5      -  -   5      /SS.[        [        5      R                  [        S5      S[        [        5      R                  [        S5      -  -
  [        [        [        5      [        [        [        -  -   [        [        [        S5      * [        -  5      -  -   [        [        [        S5      [        -  5      -  -   5      /SS.[        [        5      R                  [        S5      S[        [        5      R                  [        S5      -  -   [        [        [        5      [        [        [        -  -   [        [        S[        -  5      -  -   [        [        S[        -  5      -  -   5      /SS.[        [        5      R                  [        S5      S[        [        5      R                  [        S5      -  -   [        [        5      R                  [        5      -   [        [        [        5      [        [        [        -  [        [        5      -  -   [        [        [        5      -  -   [        [        -  [        [        5      -  -
  [        [        [        5      -  -   [        [        [        5      -  -   [         [        [        5      -  -   5      /SS.[        [        5      R                  [        S5      [        [        5      R                  [        5      S-  -
  [        [        [        5      [        [        S5      [        S[        [        -   -  5      -  [        [        -   -  -
  5      [        [        [        5      [        [        S5      [        S[        [        -   -  5      -  [        [        -   -  -   5      /SS.[        [        [        [        5      -  [        [        [        5      [        [        [        5      [        [        [        5      -   [        [        [        5      [        [        [#        S[        S-  S[        -  -   S-   SS9-  -   [        [        [        [#        S[        S-  S[        -  -   S-   SS9-  -   -  -   5      /SS.S.S.$ )Nnth_order_reducibler   r   r   Tr  r   r   r  r   ro  rn  r  r   F)evaluate)reducible_01reducible_02reducible_03reducible_04reducible_05reducible_06reducible_07reducible_08reducible_09reducible_10reducible_11reducible_12r~  )r?   r<   r
   r   r   r   r   r   r   r"   r   r    r   r  r   r  r  r   rX   rW   rT   r#  r#     sq    *aD :adA&))JqtQ,BBAF1Q4T"R%[bSbe_q-@)AAARUC42;*++, - .	 1vg:adQF33j1q6II1LL1Q4bQi#a&02a589: a1Q499Qq++adiil:A>1Q4bQA%6q%8%:!;;;bQQRTUEVWXEXYZEZA[>[[\] dii1o!A$))A,.1Q4bRTl*+, dii1o!		!Q/!AaDIIaL.@1Q4bRTl*RAaC[89: dii1o!		!Q/!AaDIIaO2CC	!A$))A,1Q4bRTl*RAY6C!HDEF	 dii1o!A$))Aq/ 111Q4bdR1W,r#bd)|;<= dii1o!A$))Aq/ 111Q4bdRT!WHQJ%77"Sa^:KKLM dii1o!A$))Aq/ 111Q4bdRAaC[02c!A#h;>?@ dii1o!A$))Aq/ 11AaDIIaL@1Q4bd3q6k)Bs1vI51SVCbQiORTUXYZU[R[[^`adefag^gghi dii1o!		!a/1Q4d1gd2rAv;&77a@@A
1Q4d1gd2rAv;//a889;	 1Q4Aq)JqtQ1,EE1Q4bQA!a5!III	23q1a4!A#:>U;;;<= > ?	MLP PrW   c                  >   [        [        * 5      n [        [        5      R                  [        S5      nS[        [        5      R                  [        S5      -  SU-  -   [        [        5      R                  [        5      -   [        [        5      -
  [        -
  n[	        S5      n[	        S[
        S9n[	        SSS	9u  pVpxn	[        S
5      n
S[        [        5      0 SU[        U -  -
  [        [        [        5      [        [        [        S-  5      -  [        -
  [        [        [        [        S-  S-  -
  S[        -  S-  -
  -  -   [        [        * 5      -  -   S-
  5      /SS._SX -
  [        [        [        5      [        [        [        S-  5      -  [        -
  [        [        [        [        S-  -
  -  -   [        [        * 5      -  -   S-
  5      /SS._SUS[        [        5      R                  [        5      -  -   S[        [        5      -  -   S-
  [        [        [        5      [        [        S[        -  5      -  [        [        [        * 5      -  -   S-   5      /SS._SUS[        [        5      R                  [        5      -  -   S[        [        5      -  -   S[        [        5      -  -
  [        [        [        5      [        [        S[        -  5      -  [        [        [        * 5      -  -   S[        [        5      -  -   5      /SS._SUS[        [        5      R                  [        5      -  -   S[        [        5      -  -   [        [        [        -  5      -
  [        [        [        5      [        S5      S-  [        S-  -   [        [        S[        -  5      -  [        [        [        * 5      -  -   [        [        [        [        -  5      -  -
  -  5      /SS._SUS[        [        5      R                  [        5      -  -   S[        [        5      -  -   [        [        5      -
  [        [        [        5      [        [        S[        -  5      -  [        [        [        * 5      -  -   [        [        5      S-  -   S[        [        5      -  S-  -
  5      /SS._SUS[        [        5      R                  [        5      -  -   S[        [        5      -  -   [        [        5      -
  [        [        [        5      [        [        S[        -  5      -  [        [        [        * 5      -  -   S[        [        5      -  S-  -   [        [        5      S-  -   5      /SS._SUS[        [        5      R                  [        5      -  -   S[        [        5      -  -   SS[        [        5      -  -   S[        [        5      -  -   -
  [        [        [        5      [        [        S[        -  5      -  [        [        [        * 5      -  -   [        [        5      -   [        [        5      S-  -   S[        [        5      -  S-  -
  S-   5      /SS._SU[        [        5      R                  [        5      -   [        [        5      -   [        S-  -
  [        [        [        5      S[        -  [        S-  -   [        [        [        [        S5      -  S-  5      -  [        [        [        [        S5      -  S-  5      -  -   [        [        * S-  5      -  -   5      /SS._SUS[        [        5      R                  [        5      -  -
  S[        [        5      -  -
  S [        -  [        [        5      -  -
  S[        [        * 5      -  -
  [        [        [        5      [        * [        [        5      -  S[        [        * 5      -  -
  [        [        S[        -  5      -  -   [        [        S[        -  5      -  -   5      /SS._S!US[        [        5      R                  [        5      -  -
  S[        S[        -  5      -  [        [        5      -  -
  [        [        [        5      [        [        [        S[        -  5      -  -   S[        S[        -  5      -  [        [        5      -  S-  -
  [        S[        -  5      [        [        5      -  S-  -
  5      /SS._S"[        [        5      R                  [        S5      SU-  -
  [        [        5      -   [        -
  [        [        5      -   [        [        [        5      [        [        [        5      S-  -
  [        [        [        -  -   [        [        * 5      -  -   [        [         [        -  -   [        [        5      -  -   5      /SS._S#U[        [        5      R                  [        5      -   [        S-  -
  S[        -  -
  [        [        [        5      [        [        S-  S-  -   [        [        [        * 5      -  -   5      /SS._S$U[        [        5      R                  [        5      -   [        -
  [        S[        -  5      -
  [        [        [        5      [        [        -
  [        S[        -  5      S-  -
  [        S[        -  5      S-  -
  [        S-  S-  -   [        [        [        * 5      -  -   5      /SS._S%U[        [        5      -   S[        -  [        [        5      -  -
  [        [        [        5      [        [        S-  -
  [        [        5      -  [        [        -   [        [        5      -  -   5      /SS._S&US[        [        5      -  -   [        [        S[        -  5      -  -
  [        [        [        5      [        [        S-  S-  -
  [        S[        -  5      -  [        [        S'-  -   [        S[        -  5      -  -   5      /SS._S(US[        [        5      R                  [        5      -  -   [        [        5      -   [        S-  [        [        * 5      -  -
  [        [        [        5      [        [        [        [        S-  S-  -   -  -   [        [        * 5      -  5      /SS._0 S)[        [        5      R                  [        S5      SU-  -   S[        [        5      R                  [        5      -  -   [        [        5      -   S[        [        * 5      -  -
  [        S-  [        [        * 5      -  -   [        [        [        5      [        [        [        [        [        [        S-  S*-  -
  [        S-  -   -  -   -  -   [        [        * 5      -  5      /SS._S+US[        [        5      R                  [        5      -  -   S[        [        5      -  -   [        S[        -  5      -
  [        S-  -
  [        [        [        5      [        [        [        * 5      -  [        S-  S-  -   [        [#        SS5      -  -
  [        [        -
  [        S[        -  5      -  -   [#        S,S5      -   5      /SS._S-US[        [        5      R                  [        5      -  -
  S[        [        5      -  -   [        [        [        * 5      -  -
  [        [        [        5      [        [        [        5      -  [        [        S[        -  5      -  -   S[        -  S-   [        [        * 5      -  S.-  -   5      /SS._S/U[        [        5      R                  [        5      -   S[        [        5      -  -
  [        -
  [        S[        -  5      -
  [        [        [        5      [#        S0S.5      [        S-  -
  [        [        S1[        -  5      -  -   [        [        S-  -   [        S[        -  5      -  -   5      /SS._S2U[        [        5      -   [        [        5      -
  [        [        * 5      -
  [        [        [        5      [        [        [        5      -  [        [        S-  -
  [        [        5      -  -   [        [        * 5      S-  -   5      /SS._S3[        [        5      R                  [        S5      SU-  -
  S[        [        5      R                  [        5      -  -   [        [        5      -
  [        [        5      -
  [        [        [        5      [        [        [        [        [        [        S-  -   -  -   -  -   [        [        5      -  5      /SS._S4U[        [        5      -   [        R$                  -
  [        S[        -  5      S-  -
  [        [        [        5      [        R$                  [        S[        -  5      S-  -
  [        [        [        5      -  -   [        [        [        5      -  -   5      /SS._S5[        [        5      R                  [        S5      [        [        5      R                  [        5      -
  [        S[        -  5      [        R$                  [        S[        -  5      S-  -
  -  -
  [        [        [        5      [        [        [        [        * 5      -  -   [        [        [        5      -  -   S6[        S[        -  5      -  S7[        S[        -  5      -  -   S8-   [        S[        -  5      -  S9-  -   5      /SS._S:[        [        5      R                  [        S5      S[        [        5      R                  [        S5      -  -   [        [        5      R                  [        5      -   S[        -  -
  [        [        5      -
  [        [        5      -
  [        [        [        5      [        [        S-  -   [        [        [        [        S-  -
  -  -   [        [        5      -  -   [         [        [&        [        S-  -   -  -   [        [        5      -  -   5      /SS._S;U[        [        5      -   [        [        5      S-  -
  [        S[        -  5      S-  -   [        [        [        5      [        S[        -  5      S'-  [        [        [        5      -  -   [        [        S-  -   [        [        5      -  -   5      /SS._S<[        [        5      R                  [        5      S-
  [        [        [        5      [        [        -   5      /SS._S=U[        [        5      R                  [        5      -   [        [        [        -
  5      -   [        [        [        5      [        [        [        [        * 5      -  -   [        [        * [        -   5      S-  -
  5      /SS._S>[        [        5      R                  [        S5      [        [        5      R                  [        5      -
  [)        [        5      -
  [        [        [        5      [        [        [        [        * 5      -  -   [        [        [        5      -  -   [        [)        [        5      -  S-  -   5      /S?._S@[        [        5      R                  [        S5      SA[        [        5      -  -
  [)        S[        -  5      -
  [        [        [        5      [        [        SB[        -  5      -  [        [        S,[        -  5      -  -   [)        S[        -  5      SC-  -
  5      /S?._SD[        [        5      R                  [        S5      [        [        5      R                  [        5      -
  [)        [        5      -
  [        [        5      -
  [        [        [        5      [        [        [        [        * 5      -  -   [        [)        [        5      -  S-  -   [        [        S-  -   [        [        5      -  -   5      /S?._SE[        [        5      R                  [        [        5      [        [        5      -   [        [        [        S-
  5      -  -
  [        [        [        5      [        [        [        5      -  [        [        [        5      -  -   [        S-  [        [        S-
  5      -  S-  -
  [        [        [        S-
  5      -  S-  -   5      /S?._SF[        [        5      R                  [        S5      [        [        5      -   [        S-  [        [        S-
  5      -  -
  [        [        [        5      [        [        [        5      -  [        [        [        5      -  -   [        S-  [        [        S-
  5      -  S-  -
  [        S-  [        [        S-
  5      -  S-  -   [        S-  [        [        S-
  5      -  S-  -   S[        S-  -  [        [        S-
  5      -  S-  -
  S[        -  [        [        S-
  5      -  S-  -
  5      /S?._E[        [        5      R                  [        S5      [        [        5      -
  [        [        S-
  5      -
  [        [        [        5      [        [        [        * 5      -  [        [        [        S05      -  S-  -   [        [        5      -  -   5      /S?.[        [        5      R                  [        S5      [        [        5      -   [        [        S-
  5      S-   -
  [        [        [        5      [        [        [        5      -  [        [        [        5      -  -   [        [        [        S-
  5      -  S-  -
  S-   5      /S?.[        [        5      R                  [        S5      S[        [        5      R                  [        S5      -  -   [        [        5      R                  [        5      -   S[        -  -
  [        [        [        -  5      -
  [        [        [        5      [        [        S-  [        [        [        [        -  5      -  S-  S-   -  -   [        [        [        -  -   [        [        5      -  -   [         [&        [        -  -   [        [        5      -  -   5      /S?.[        U" U5      R                  X35      XV-  U" U5      R                  U5      -  -   SXg-  -  U" U5      -  -   U	5      [        U" U5      Xv-  U	-  [        [        U* U[        XuS-  -  SU-  -
  5      [        U5      -  -   -  SU-  -  5      -  -   [        [        X5* [        XuS-  -  SU-  -
  5      [        U5      -  -   -  SU-  -  5      -  -   5      /U" U5      SG.[        Xg-  U" U5      R                  X35      -  XW-  U" U5      R                  U5      -  -   U" U5      -   U[        [        U
-  U-  5      -  5      [        U" U5      [        [        U* U[        XuS-  -  SU-  -
  5      [        U5      -  -   -  SU-  -  5      -  [        [        X5* [        XuS-  -  SU-  -
  5      [        U5      -  -   -  SU-  -  5      -  -   U[        [        U
-  U-  5      -  Xv-  U
S-  -  [        U-  U-  U
-  -
  S-
  -  -
  5      /U" U5      SG.[        [+        [        [        5      [        S5      S[+        [        [        5      [        5      -  -
  [        [        5      -   [        [        5      5      [        [        [        5      [        [        [        -  -   [        [        5      -  [        [        5      S-  -   5      /S?.SH.ESI.$ )JNr   r   r  rW  r=   )clszR L C E_0 alphaTr  omegar-  undet_01r  r  r   r  undet_02re  undet_03r   r  undet_04rf  undet_05r  undet_06undet_07undet_08ro  undet_09undet_10rq  undet_11undet_12undet_13undet_14undet_15undet_16r  undet_17undet_18r  undet_19r   undet_20rU  undet_21r   rn  undet_22undet_23undet_24undet_25i      i  undet_26undet_27undet_28undet_29undet_30r   undet_311   ir  undet_32undet_33undet_34r  )undet_35undet_36undet_37undet_38undet_39undet_40r~  )r   r<   r?   r   r   r(   r)   r
   r  r   r   r   r   r    r   r   r  r   r.  r  r   r   )r@   f2rY  rW  r=   RLCE_0alphar+  s              rT   r&  r&  v  s    	QBA	
11aB	!A$))Aq/AbD 1Q499Q</!A$6:AA!A!"3TBA!%7OEIaDv!A#g1Q4C!HqBBAbL1Q3r64I1J,JCQRPRG+SSVWWXYv e1Q4C!HqBB1H,=sA2w+FFJKLv 1QqTYYq\>!AadF*Q.1Q4C1I3r7
2Q678v& 1QqTYYq\>!AadF*RAY61Q4C1I3r7
2Qs1vX=>?'v2 1QqTYYq\>!AadF*S1X51Q4!A$r'AbD.2c"Q$i<"S!W*+DqQqSz+QRST3v> 1QqTYYq\>!AadF*SV31Q4C1I3r7
2SVBY>3q6"LMN?vJ 1QqTYYq\>!AadF*SV31Q4C1I3r7
2Qs1vXb[@3q6"9LMNKvV 1QqTYYq\>!AadF*a!CF(lQs1vX.EF1Q4C1I3r7
2SV;c!fQhF3q6RSSVWWXYWvb 1Q499Q<!A$&A-1Q4A13qay{+;(;bQtAwYq[AQ>Q(QSVXYWYZ[W[S\'\\]^cvn 1QqTYYq\>!AadF*QqSQZ7"S!W*D1Q4!CFQsA2wY.C1I=3qs8KLMovz 1QqTYYq\>!Ac!A#hJs1v$551Q4bQqSk)Ac!A#hJs1v,=a,??#ac(3q6/RSBSSTU{vF dii1o"$qt+a/#a&81Q4SVAXbdCG(;;rBqDy#a&>PPQRGvR 1Q499Q<!Q$&1,1Q4ad1fr#qb'z123Sv^ 1Q499Q<!#c!A#h.1Q4a#ac(1*,s1Q3x{:QT!VCbaRjPQR_vj 1Q4i!A#c!f*$1Q4"q!t)SV+rAvs1vo=>?kvv 1QqT6kAc!A#hJ&1Q4"q!tAv+s1Q3x/2"9c!A#h2FFGHwvB 1QqTYYq\>!AaD(1a4QB<71Q4"q"q!tBw,//aR89:CvN dii1o"$q11~5!<qaRyH	1S!W1Q4"q"q"q!tBw,1*<'="=>>QBGHI	Ov\ 1QqTYYq\>!AadF*SAY6A=1Q4CGad1f,q!A>"q&#bQRd)ASSV^_`abVccde]vh 1QqTYYq\>!AadF*QsA2wY61Q4CFRAaC[0AaC!GS!W3DR3GGHIivt 1Q499Q<!AaD&(1,s1Q3x71Q4"b)AaC/"SAY,>"qs(CPQRSPSHATTUVuv@ 1Q4i#a& 3r7*1Q4CFb1Q3hA%66aRBCDAvL dii1o"$q11~5!<s1vE1Q4"q"q"qs(|"344c!f<=>MvX 1Q4i!&& 3qs8A:-1Q4#ac(1*,r#a&y82c!f9DEFYvd dii1o!		!,s1Q3x#ac(1*9L/MM1Q4baRj2c!f94C!Hr#aPQc({8RUX8XZ]^_`a^aZb7bcg7gghievr tyyA1Q499Q?!22QqTYYq\AAaCGAQ1Q4adb1b1Q3h<&7Q%??22PQRSPS8CTVYZ[V\B\\]^	sv@ 1Q4i#a&("S1XaZ/1Q4QqS"r#a&y0B1Hc!f3DDEFAvL diilQ1Q4a !MvZ 1Q499Q<#ad)+1Q4baRj3sQw<>9:;[vh dii1o!		!,tAw61Q4baRj2c!f94qay{BCDivr dii1o1Q4'$qs)31Q4C1I3qs83d1Q3ilBCDsv| dii1o!		!,tAw6Q?1Q4baRj1T!W9Q;6"qs(CF9JJKL}vH dii1o!$qQU|31Q4CFRAY.Ac!a%j1BBQs1q5z\RS^STUIvR dii1o!$q!tC!H}4AaD"SV)bQi/!Q$s1q5z/"2DDq!tCPQTUPUJWXGXX[\^_[_`cdehidi`j[jkl[llopqrtuquouvyz{~z  wA  pA  BC  pC  C  FG  HI  FI  JM  NO  RS  NS  JT  FT  UV  FV  V  W  XSv^ dii1o!$s1q5z11Q4CGrAc"gIaK'7Q&??@A dii1oad"C!HQJ/1Q4CFRAY.3q1u:a?!CDE dii1o!A$))Aq/ 11AaDIIaL@1Q3FQqSQ1Q4adAc!A#hJqL1$455bdCF8JJbSUVWSWiY\]^Y_M__`a !A$))A.14!		!#44q!#wqt|CUK1Q4URQBDa4!A#4FtAw4N0N,OQRSTQT,U(V%VV
SBa1fqsl+DG334ac:;
;< = >!	 !#adiin$qs1Q499Q<'77!A$>C%PQ	N@RT1Q4CAQ!tVac\(:47(B$B CQqS IJJ
SBa1fqsl+DG334ac:;
;<
c!E'!)n
ac%(lQqSU5[81<
=> ? @ ! AaD!Q'!JqtQ,?*??!A$FAO1Q4"r!t)SV+c!fQh678evz zrW   c                  $#   [        S5      u  pSnSnSnX2-  n[        S5      nS[        [        5      0 S[        [        5      R	                  [        5      [        [        5      -
  [        [        [        5      [        [        [        5      -  5      /S._S	[        [        [        5      R	                  [        5      -  [        [        5      -
  [        [        [        5      [        [        -  5      /S._S
[        [        5      R	                  [        5      [        [        5      -   [        [        [        5      [        [        [        5      -   5      /S._S[        [        5      S-  S-   [        S-  S-   [        [        5      R	                  [        5      -  -
  [        [        [        5      [        [        [        [        5      -   5      5      /S._S[        [        5      R	                  [        5      [        [        5      -  [        [        5      -
  S-
  [        [        [        5      [        [        [        5      -  S-
  5      /S._S[        [        5      R	                  [        5      S[        [        [        5      5      -
  -  S-
  [        [        * [        [        5      -   [        [        [        5      5      -   [        5      /S._S[        [        5      [        S-  -  [        [        5      R	                  [        5      -  [        [        5      S-  -
  S[        S-  -  [        [        5      R	                  [        5      -  -
  [        [        [        5      [        * [        [        S[        -  [        -  [        -   S-
  -  5      -
  [        [        -  S-
  -  S-  5      [        [        [        5      [        * [        [        S[        -  [        -  [        -   S-
  -  5      -   [        [        -  S-
  -  S-  5      /SS._S[        [        5      S-  S-
  S[        [        5      -  [        [        [        5      -  -   [        [        5      R	                  [        5      -  -
  [        [        [        5      [        [        [        S-  -  S[        -  [        -  -   S[        -  -   S-   5      * 5      [        [        [        5      [        [        [        S-  -  S[        -  [        -  -   S[        -  -   S-   5      5      /SS._S[        [        [        5      -  [        [        5      R	                  [        5      -  [        S[        [        5      S-  -   5      -   [        [        [        5      [        [        [        [        [        5      5      -
  5      5      /SSS._S[        [        S-   5      [        [        [        5      5      -  [        [        [        5      5      [        [        5      R	                  [        5      -  -   [        [        [        [        5      -  [        [        [        [        5      5      S-
  5      S-  -   [        [        [        [        5      5      S-   5      S-  -
  [        [        [        5      5      -   [        5      /SS._S[        [        [        [        5      5      -  [        S-  [        [        [        5      5      -  [        [        5      R	                  [        5      -  -   US-  [        [        [        5      5      -  [        [        5      R	                  [        5      -  -
  [        [        [        5      [!        [        [        US-  * [        S-  -   5      -  5      * S["        -  -   5      [        [        [        5      [!        [        [        US-  * [        S-  -   5      -  5      5      /SS._S[        [        5      R	                  [        5      [        [        5      [        [        5      -  -
  [        [        [        5      [        [        [        5      -  5      /S._S[        S-
  [        [        [        5      5      -  [        [        5      R	                  [        5      -  S[        -  [        [        [        5      5      -  -
  [        [        [        5      ["        [%        [        [        S-  S[        -  -
  S-   -  [        S[        -  5      -  5      -
  5      [        [        [        5      [%        [        [        S-  S[        -  -
  S-   -  [        S[        -  5      -  5      5      /S._S[        [        5      R	                  [        5      [        [        5      [        [        [        5      5      -  [        [        5      -  -
  [        [        [        5      [        [        [        [        5      -  5      5      /S._S[        [        [        5      R	                  [        5      -  S[        [        5      S-  -   [        [        [        5      5      -  -   [        [        [        5      [        [        [        -  5      5      /SSS._S[        [        5      R	                  [        5      [        [        [        5      S-   -  -   [        [        [        5      S[        [        [        S-  * S-  5      -  -   5      /S._S [        [        [        5      S-  5      [        S-  S[        -  -   S-   -  [        [        [        5      -  [        [        5      -   [        [        5      R	                  [        5      -  -   [        [        [        5      [        [        S[        [        S-  -   S[        -  -   -  5      5      * 5      [        [        [        5      [        [        S[        [        S-  -   S[        -  -   -  5      5      5      /S._[        [        5      R	                  [        5      [        [        5      -   [        [        [        5      [        [        [        * 5      -  5      /S.[        [        5      [        S[        [        5      -  5      -  [        [        5      [        S[        [        5      -  5      -  [        [        5      R	                  [        5      -  -   [        [        [        5      ["        [!        [        [        [        5      S-  -  5      S-  -
  5      [        [        [        5      [!        [        [        [        5      S-  -  5      S-  5      /S.S[        -
  [        [        5      R	                  [        5      -  [        [        [        5      S-   -  -
  [        [        [        5      [        [        [        * 5      -  [        -
  S-   [        S-
  -  5      /S.[        [        5      [	        [        [        5      [        5      -  [        -   S[        -  [        [        5      S-  -  -
  [        [        [        5      [        S5      * [        [        [        S[        S-  -  5      -  S-   5      -  S-  5      [        [        [        5      [        S5      [        [        [        S[        S-  -  5      -  S-   5      -  S-  5      /S.[        [        5      R	                  [        5      [        [        [        [        5      -   5      -
  [        [        [        5      [        S[        [        [        5      -   -  5      5      /S!/S".[        [        [        5      R	                  [        5      -  S-   [        [        5      S-  -
  [        [        [        5      [        * [        S-  -
  [        * [        S-  -   -  5      /S.[        U 5      R	                  U 5      SS#[&        -  [        U 5      -  -
  -
  [        [        U 5      S$[        [&        [        S#U -  -
  -  5      -  S$-   [&        -  5      /[        U 5      S%.[        [        5      R	                  [        5      [        [        [        5      -  -
  [        [        [        5      [(        [        [        [        -  5      -  5      /S.XTU" U 5      S-  -  -
  U[+        U" U 5      5      -  -
  [        U" U 5      S&[-        [        S'U -  -
  5      -  5      /U" U 5      SS(.[        [        5      R	                  [        5      [        [        [        5      [        -
  5      -
  [        [        [        5      [        [        [        5      * [        [        [        5      -  S-
  -  5      5      /S.S).
ES*.$ )+Nza,t`   g#@g?vr  separable_01r   separable_02separable_03separable_04r   r   separable_05separable_06separable_07r   r   Tr  separable_08separable_09)rE   rF   r;   rJ   separable_10separable_11separable_12separable_13separable_14separable_15separable_16r   separable_17r   rs  gfffffI@gXvH?r  g	Q|%Qg+R4J?)rE   rF   rH   rJ   )
separable_18separable_19separable_20separable_21separable_22separable_23separable_24separable_25separable_26separable_27r~  )r   r(   r?   r<   r   r
   r   r   r    r   r!   r   r   r   r   r   r   r	   r   r>   r   r   r   )rW  r   r  r@   r  f1r_  s          rT   r*  r*  ~  sl    %.CA
AA
A	
BAaDcdiilQqT!1Q4CF#$c !		!nqt#1Q4Ac diilSV#1Q4c!f%&c  dAgkQTAXqtyy|331Q4R$q'\*+,!c* diil3q6!AaD(1,1Q4CFQ'(+c4 diila#ad)m,q0A2!9s1Q4y("-.5c> d1a4i!		!$qtQw.1a4!		!1DD1Q41"tAqtAvzA~$677"Q$(CAEF1Q41"tAqtAvzA~$677"Q$(CAEFH	?cL dAgkQqtVa!f_adiil::1Q4$r!Q$w2a/!B$6:;;<
1Q4bAg"Q&2-1235	McZ Ahqtyy|#d1qtQw;&771Q4b3s1v;./01!	[ch !a%jQqT"S1Yqtyy|%;;1SV8c#ad)a-022SQqTQ5G5IICPQRSPTIUWYZ[ict QqT{QT#ad)^AaDIIaL881a4AaD	>!A$))TU,;VVqtd2dAqD51a4<0011AbD89qtT"T1a4%!Q$,//01
 ucF diilQqT#a&[(1Q4CF#$GcP 1uc!A$i!		!,qs3qt9}<qtR$r1a4!A#:>23qs8;<<=qtT"adQqSj1n-c!A#h678
Qc` diilQqT#ad)^CF221Q4RAY()acj !		!nAaD!GT!A$Z771Q4RT#$!	kcx diilQ!q\)1Q4badU1Wo-./ycB !A$'lAqD1Q3JN+q1v!}adiil.JJqtd3q"q!t)ac/23445qtT#aadQqS1234
CcT diilQqT!1Q4CG$% !fS1Q4[ 3q6#a!f+#5adiil#BB1Q4d2c!fai<0223R!d2c!fai<>PQR>R5ST 1uadiil"Q!q\11Q4"S!W*q.1,q1u567 d4!a= 1$qs1Q47{21Q4$q'$r#a1f+~'9"::1<=
1Q4abQq!tVnq011!346 diilSQqT]*1Q4Rc!f-./0 11"QqT1W,1Q42#1*sQTz234 diilAeAgadlN+1Q4.s1b;Ma;O6O3P/QQThhjkklm! diilR!W$1Q4C1I&' !	?"QAaD)9%991Q4,T"7J17L2L-MMNO!!	 diilS1]*1Q4c!fWbQi!m4567cg grW   c                     S[        [        5      [        [        5      [        [        [        5      5      -  [        [        5      [        [        [        5      5      -  [        [        5      R	                  [        5      -  -   [        [        [        5      [        [        [        [        5      -  5      * S[        -  -   5      [        [        [        5      [        [        [        [        5      -  5      5      /SS.S[        -  [        [        5      -  S-   [        [        5      -  [        [        5      [        -
  [        [        5      S-  -  [        [        5      R	                  [        5      -  -   [        [        [        5      [        [        [        S-  -
  [        [        * [        [        * [        S-  -   5      -  5      -   5      5      /S/SSS.S[        -  [        [        5      [        [        5      -  -   S[        [        5      -  [        [        5      -   [        [        [        5      5      -
  [        [        5      R	                  [        5      -  -   [        [        [        5      [        [        5      -  [        [        [        5      5      -   [        S-  -   [        [        5      S-  -   [        5      /S/SS.[        [        [        5      5      [        [        [        [        5      5      -  [        [        5      S-  -
  [        [        5      R	                  [        5      -  -
  [        [        [        [        [        5      5      -  [        [        5      S	-  S	-  -   [        5      /SS.S[        -  [        [        5      -  [        S-  [        [        5      S-  -   [        [        5      R	                  [        5      -  -   [        [        S-  [        [        5      -  [        [        5      S	-  S	-  -   [        5      /SS
S.[        [        [        5      5      [        [        [        [        5      5      -  [        [        5      S-  -
  [        [        5      R	                  [        5      -  -
  [        [        [        [        [        5      5      -  [        [        5      S	-  S	-  -   [        5      /S
S.[        [        [        S-  [        [        5      S-  -   5      -  [        S-  [        [        5      -  [        [        5      [        [        S-  [        [        5      S-  -   5      -
  -  [        [        5      R	                  [        5      -  -
  [        [        [        5      [        S[        S[        [        5      S-  [        S-  -  -   5      -  [        [        [        5      [        -  5      -  S[        [        5      -  [        -  S[        S[        [        5      S-  [        S-  -  -   5      -  -   -  -
  S[        S[        [        5      S-  [        S-  -  -   5      -  [        S[        S[        [        5      S-  [        S-  -  -   5      [        [        5      -  [        -  -
  S[        [        5      S-  -  [        S-  -  -   5      -  S[        [        5      -  [        -  S[        S[        [        5      S-  [        S-  -  -   5      -  -   -  -
  S[        [        [        5      [        -  5      -  [        [        5      -  [        S[        [        5      -  [        -  S[        S[        [        5      S-  [        S-  -  -   5      -  -   -  -  -   S[        [        5      -  [        S[        S[        [        5      S-  [        S-  -  -   5      [        [        5      -  [        -  -
  S[        [        5      S-  -  [        S-  -  -   5      -  [        S[        [        5      -  [        -  S[        S[        [        5      S-  [        S-  -  -   5      -  -   -  -  -   5      /SSS.[        [        S-  [        [        5      R	                  [        5      -  S	[        -  [        [        5      -  -   [        [        5      [        -  -
  S5      [        [        [        5      [        [        [        5      -
  [        S	-  -  5      /S.[        [        5      [        S-  -  [        [        5      [        -  S-
  [        -  [        [        5      R	                  [        5      -  -   S V s/ s HC  n [        [        [        5      U [        [        [        S-  -  S-   5      -  S-   [        -  5      PME     sn S.[        [        [        5      -  S-
  [        [        5      R	                  [        5      [        S-  [        [        [        5      -  -
  -  -   [        [        [        5      [        [        [        [        S-  -   S[        [        5      -  -
  5      -
  5      [        [        [        5      [        [        [        [        S-  -   S[        [        5      -  -
  5      -   5      /S.[        S-   [        [        [        5      5      -  [        [        5      R	                  [        5      [        -  [        [        [        5      5      -  -   [        [        [        5      [        [        [        [        * 5      -  [        S-  -  5      * [        -   5      [        [        [        5      [        [        [        [        * 5      -  [        S-  -  5      5      /S.S.S.$ s  sn f )a  
Example 7 is an exact equation that fails under the exact engine. It is caught
by first order homogeneous albeit with a much contorted solution.  The
exact engine fails because of a poorly simplified integral of q(0,y)dy,
where q is the function multiplying f'.  The solutions should be
Eq(sqrt(x**2+f(x)**2)**3+y**3, C1).  The equation below is
equivalent, but it is so complex that checkodesol fails, and takes a long
time to do so.
r  r   Tr  r   r   )rE   rF   rG   r;   rJ   )rE   rF   rG   r;   r   F)rE   rF   r;   rI   rE   rF   rI   rq  irE  )rE   rF   r;   rK   r   r   )r   r   )1st_exact_011st_exact_021st_exact_031st_exact_041st_exact_051st_exact_061st_exact_071st_exact_081st_exact_091st_exact_101st_exact_11r~  )r?   r<   r    r   r   r
   r   r   r	   r   r   r   r   r   r   )r   s    rT   r  r  2  s     aD !fS1YQAaD	!1!A$))A,!>>1Q4$r#a&y/)AbD012adDCFO3LM s1Q4x!|QqT!QqTAXqtQw$6qtyy|$CC1Q4R!Q$Y1"S"q!t_2D)EEFGH  cAaDQK1QqT6CF?S1Y#>!		!"LL1Q4A;QqT*QT1AaD!G;R@A	 !A$i1S1Y;1q0!A$))A,>>1S1Y;1q*B/0 c!A$h!Q$1q.!A$))A,661a4!9qtQwqy("-.	 !A$i1S1Y;1q0!A$))A,>>1S1Y;1q*B/0 QTAaD!G^$$1QqT	1Q4$q!tadAg~:N3N(OQRSTQUQZQZ[\Q]']]3q6
QtA!a1$%%eAaDFm3S1XaZ
4AaD!GAqDL !!6" # 	#%&tA!a1,<'=%=AQ1qA%&qt+A--!A$'	!Q$>?&@	QqT!ba!A$'!Q$,.//	/&1	1 	
%!Q-!aQqT!ba!A$'!Q$,6F1G.G!GHI		J
 	
!A$s1tA!a1,-ad2144q1qyA~EFF	
C!HQJDQqT1WQT\!1222	3	5	56 7   Aadiil"QqS1X-Aq8!<1Q4"s1v+q!t+,- d1a4iAaDFQJ>1Q499Q<77?FGw!1Q4!DAqD1--1145wG 1vzQqTYYq\1a4!AaD&=991Q4T"q!t)aAh"6778"QqT1tBQRTUQUIXYZ]^_Z`X`L`GaCa:bc 1uc!A$i!A$))A,q.QqT"::1Q4$r#qb'z!Q$//"45r!A$RQBZPQSTPT_@U7VWSMQ QH Hs   >A
m1c                  v   [        [        * 5      n [        [        5      R                  [        S5      nS[        [        5      R                  [        S5      -  SU-  -   [        [        5      R                  [        5      -   [        [        5      -
  [        -
  nS[        [        5      U[        U -  -
  [	        [        [        5      [
        [        [        S-  5      -  [        -
  [        [        [        [        S-  S-  -
  S[        -  S-  -
  -  -   [        [        * 5      -  -   S-
  5      /SS	.X -
  [	        [        [        5      [
        [        [        S-  5      -  [        -
  [        [        [        [        S
-  -
  -  -   [        [        * 5      -  -   S-
  5      /SS	.[        [        5      R                  [        5      S-
  [	        [        [        5      [        [        -   5      /SS	.US[        [        5      R                  [        5      -  -   S[        [        5      -  -   S-
  [	        [        [        5      [        [        S[        -  5      -  [        [        [        * 5      -  -   S-   5      /SS	.US[        [        5      R                  [        5      -  -   S[        [        5      -  -   S[        [        5      -  -
  [	        [        [        5      [        [        S[        -  5      -  [        [        [        * 5      -  -   S[        [        5      -  -   5      /SS	.US[        [        5      R                  [        5      -  -
  S
[        [        5      -  -
  S[        -  [        [        5      -  -
  S[        [        * 5      -  -
  [	        [        [        5      [        * [        [        5      -  S[        [        * 5      -  -
  [        [        S[        -  5      -  -   [        [        S[        -  5      -  -   5      /SS	.US[        [        5      R                  [        5      -  -   [        [        5      -   [        S-  [        [        * 5      -  -
  [	        [        [        5      [        [        [        [        S-  S-  -   -  -   [        [        * 5      -  5      /SS	.US[        [        5      R                  [        5      -  -
  S[        [        5      -  -   [        [        [        * 5      -  -
  [	        [        [        5      [        [        [        5      -  [        [        S[        -  5      -  -   S[        -  S-   [        [        * 5      -  S-  -   5      /SS	.[        [        5      R                  [        S5      SU-  -
  S[        [        5      R                  [        5      -  -   [        [        5      -
  [        [        5      -
  [	        [        [        5      [        [        [        [        [
        [        S-  -   -  -   -  -   [        [        5      -  5      /SS	.US[        [        5      R                  [        5      -  -   [        [        5      -   [        [        * 5      [        -  -
  [	        [        [        5      [        [        [        [        [        5      -   -  -   [        [        * 5      -  5      /SS	.U[        [        5      -   S[        [        5      -  S-  [        [        5      -  -
  [	        [        [        5      [        [        [        [        5      S-
  5      S-  -   [        [        [        5      S-   5      S-  -
  [        [        5      -  [        [        [        [        5      S-
  5      S-  -   [        [        [        5      S-   5      S-  -
  [        [        5      -  -   5      /SS	.[        [        5      R                  [        S5      S[        -  -
  [	        [        [        5      [        [        [        -  -   [
        [        S-  -  -   [        S-  [        [        [        5      S-  -   -  -   5      /SS	.[        [        5      R                  [        S5      S[        [        5      R                  [        S5      -  -   [        [        5      R                  [        5      -   S[        -  -
  [        [        [        -  5      -
  [	        [        [        5      [        [        S-  -   [        [        [
        [        S
-  -
  S[        [        [        -  5      -  S-  -   S[        [        * [        -  5      -  S-  -   -  -   S[        S[        -  [        -  5      -  S-  -   S[        -  [        [        [        -  5      -  -   S[        -  [        [        * [        -  5      -  -
  [        [        5      -  -   [        [        [        [        [        -  S
-  -   S[        -  [        [        [        -  5      -  S-  -   S[        -  [        [        * [        -  5      -  S-  -
  -  -   S[        -  [        S[        -  [        -  5      -  S-  -   S[        [        [        -  5      -  -
  S[        [        * [        -  5      -  -
  [        [        5      -  -   [        [        [        [        -  5      -  -
  5      /S.[        [        5      R                  [        S5      S[        [        5      R                  [        S5      -  -   [        [        5      R                  [        5      -   [        [        [        -  5      -
  [	        [        [        5      [        [        [        [
        [        S
-  -
  -  -   S[        S[        -  [        -  5      -  S-  -   [        [        5      -  -   [        [        [        [        [        -  S
-  -   -  -   S[        -  [        S[        -  [        -  5      -  S-  -   [        [        5      -  -   [        [        [        [        -  5      -  -
  5      /S.[        [        [        5      [        [        5      S[        [        5      -  -   [        [        5      -
  [	        [        [        5      [        [        S-  -
  [        S[        -  5      S-  -   [        S[        -  5      -  [        [        [        [        5      5      -   S[        [        [        5      S-  5      -  S-  -
  S[        [        5      S-  -  S-  -   [        S[        -  5      -  -   5      /SS	.S.S.$ )Nr   r   r  r  r  r  r   Tr  re  r   r  rf  rq  r  ro  rU  r  r   )var_of_parameters_01var_of_parameters_02var_of_parameters_03var_of_parameters_04var_of_parameters_05var_of_parameters_06var_of_parameters_07var_of_parameters_08var_of_parameters_09var_of_parameters_10var_of_parameters_11var_of_parameters_12var_of_parameters_13var_of_parameters_14var_of_parameters_15r~  )r   r<   r?   r   r
   r  r   r   r   r    r   r  r   r  r   r   )r@   rW  rY  s      rT   r  r    s
   QBA	
11aB	!A$))Aq/AbD 1Q499Q</!A$6:AGaD !A#g1Q4C!HqBBAbL1Q3r64I1J,JCQRPRG+SSVWWXY e1Q4C!HqBB1H,=sA2w+FFJKL diilQ1Q4a ! 1QqTYYq\>!AadF*Q.1Q4C1I3r7
2Q678 1QqTYYq\>!AadF*RAY61Q4C1I3r7
2Qs1vX=>? 1QqTYYq\>!AadF*QqSQZ7"S!W*D1Q4!CFQsA2wY.C1I=3qs8KLM 1QqTYYq\>!AaD(1a4QB<71Q4"q"q!tBw,//aR89: 1QqTYYq\>!AadF*QsA2wY61Q4CFRAaC[0AaC!GS!W3DR3GGHI dii1o"$q11~5!<s1vE1Q4"q"q"qs(|"344c!f<=> 1QqTYYq\>!AaD(3r71941Q4"q"s1v+.QB789 1Q4i!CF(1*SV++1Q4"s3q6A:q003s1vz?13DD
a&SVaZ**SQ!_Q->>AFG H I	 dii1o!#1Q4bdR1W,q!tR#a&(]/CCDE dii1o!A$))Aq/ 11AaDIIaL@1Q3FQqSQ1Q4adb1b1Q3h3qs8A.E#qbQRd)TU.U+V&VYZ[^_`ab_bcd_d[eYefhYh&hklmnknorstuvsvowkw&wz{|}z}  B  DE  CE  FG  CG  H  {H  'H  JM  NO  JP  &P  P  TV  YZ  \^  ab  cd  ad  ef  af  \f  ij  kl  il  mp  qr  st  qt  mu  iu  vw  iw  \w  z{  |}  z}  ~A  CD  BD  EF  BF  ~G  zG  HI  zI  \I  YJ  TJ
A#c!A#a%j.
TAaCjT)+,S!AY;T78;AS? ?AB3qs8L M N dii1o!A$))Aq/ 11AaDIIaL@3qs8K1Q4rArAaCxL01S1QZ<?BCFJJbSTVX[\]^[^_`[`V`SaNadefgdghklmnolopqlqhrdrsuduNuwz{|w}M}}  AB  CF  GH  IJ  GJ  CK  AK  K  L  M 1q!$q1v-A61Q4"qs(S1XaZ/QqS9R#c!f+=M
CA	N
1
> Q{1}>-.1!A#h=7 7 8 9	o]a arW   c                     S[        [        5      [        S-  [        [        5      R                  [        S5      -  [        [        [        5      R                  [        5      -  -   [        S-  S-
  [        [        5      -  -   [        [        [        5      [        [        S[        5      -  [        [        S[        5      -  -   5      /S.[        S-  [        [        5      R                  [        S5      -  [        [        [        5      R                  [        5      -  -   [        S-  S-   [        [        5      -  -   [        [        [        5      [        [        S[        -  [        5      -  [        [        S[        -  [        5      -  -   5      /S.[        S-  [        [        5      R                  [        S5      -  [        [        [        5      R                  [        5      -  -   [        S-  [        [        5      -  -   [        [        [        5      [        [        S[        5      -  [        [        S[        5      -  -   5      /S.[        S-  [        [        5      R                  [        S5      -  [        [        [        5      R                  [        5      -  -   S[        S-  -  [        S	5      S
-  -
  [        [        5      -  -   [        [        [        5      [        [        [        S	5      S-  S
[        -  5      -  [        [        [        S	5      S-  S
[        -  5      -  -   5      /S.[        S-  [        [        5      R                  [        S5      -  [        [        [        5      R                  [        5      -  -   [        S-  S-
  [        [        5      -  -   [        [        [        5      [        [        S	[        S-  S-  5      -  [        [        S	[        S-  S-  5      -  -   5      /S.[        S-  [        [        5      R                  [        S5      -  S[        -  [        [        5      R                  [        5      -  -   [        S-  S-
  [        [        5      -  -   [        [        [        5      [        [        [        S5      S-  [        S-  S-  5      -  [        [        [        S5      S-  [        S-  S-  5      -  -   [        [        5      -  5      /S.[        S-  [        [        5      R                  [        S5      -  [        [        [        5      R                  [        5      -  -   [        S-  [        S	5      S-  -
  [        [        5      -  -   [        [        [        5      [        [        [        S	5      S-  [        5      -  [        [        [        S	5      S-  [        5      -  -   5      /S.[        S-  [        [        5      R                  [        S5      -  S[        -  [        [        5      R                  [        5      -  -
  S[        -  S-   [        [        5      -  -   [        [        [        5      [        S-  [        [        SS[        [        5      -  5      -  [        [        SS[        [        5      -  5      -  -   -  5      /S.[        [        [        5      R                  [        S5      -  [        [        5      R                  [        5      -
  S[        S-  -  [        [        5      -  -   [        [        [        5      [        [        [        [        S	5      S-  [        S-  5      -  [        [        [        S	5      S-  [        S-  5      -  -   -  5      /S.[        S-
  S-  [        [        5      R                  [        S5      -  [        S-
  [        [        5      R                  [        5      -  -
  S[        S-
  S-  -  [        [        5      -  -   [        [        [        5      [        S-
  [        [        S	S[        -  S-
  5      -  [        [        S	S[        -  S-
  5      -  -   -  5      /S.[        [        5      R                  [        [        5      S[        -  [        [        5      R                  [        5      -  -   [        [        5      -   [        [        [        5      [        [        [        S	5      S-  [        5      -  [        [        [        S	5      S-  [        5      -  -   [        [        5      -  5      /S.[        S-  [        [        5      R                  [        S5      -  [        [        [        5      R                  [        5      -  -   [        S-  [        S-  -  [        S-  -  [        S-  -
  [        [        5      -  -   [        [        [        5      [        [        [        [        S-  5      [        [        [        S-  [        S-  -  5      -  5      -  [        [        [        [        S-  5      [        [        [        S-  [        S-  -  5      -  5      -  -   5      /S.S.S.$ )N2nd_linear_besselr   r   r      r  r   Q   r   rq  r      )2nd_lin_bessel_012nd_lin_bessel_022nd_lin_bessel_032nd_lin_bessel_042nd_lin_bessel_052nd_lin_bessel_062nd_lin_bessel_072nd_lin_bessel_082nd_lin_bessel_092nd_lin_bessel_102nd_lin_bessel_112nd_lin_bessel_12r~  )r?   r<   r   r
   r   r,   r   r-   r   r   r   r   rY  rX  rX   rW   rT   r  r    s    (aD dAaDIIaO$q!A$))A,'771a4!8QqT/I1Q4GAqM)Bwq!},<<=> dAaDIIaO$q!A$))A,'771a48QqT/I1Q4GAaCO+b1a.@@AB dAaDIIaO$q!A$))A,'771a41+E1Q4GAqM)Bwq!},<<=> dAaDIIaO$q!A$))A,'772ad7AaDF?AaD:PP1Q4GAaDFAaC002gad1fac6J3JJKL dAaDIIaO$q!A$))A,'771a4!8QqT/I1Q4GAq!tAv..GAq!tAv4F1FFGH dAaDIIaO$qsAaDIIaL'99QTAXqtOK1Q4"WT"XaZAa882gd2hqjRSUVRVWXRX>Y;YY[_`a[bbcd dAaDIIaO$q!A$))A,'771a4!A$q&=!A$:NN1Q4GAaDFA..GAaDFA4F1FFGH dAaDIIaO$qsAaDIIaL'99QqS1WadNJ1Q4Ar'!QtAwY"77"WQ$q'	=R:RRSTU 11a!AaDIIaL01QT6!A$;>1Q4BwqtAvq!t44r'!A$q&!Q$:O7OOPQR sQh!		!Q(AaC11+==1Q3(
1Q4O1Q4!a%"WQ!a%8"82ga1q>Q;Q"QRST dii1o!AaDIIaL 001Q471Q4"WQqT!VQ//"WQqT!VQ5G2GGaPQR
 d1Q499Q?"Qqtyy|^3q!tAqDyA~17LaPQd6RR1Q4GDAJ$q!tAqDy/0ABBRPTUVXYUYPZ\]^bcdfgcghiklhlcl^m\mHnEnnopq<@ @rW   c                     S[        [        5      [        [        S-
  -  [        [        5      R                  [        S5      -  [        S5      S-  S[        -  -
  [        [        5      R                  [        5      -  -   S[        [        5      -  -   [	        [        [        5      [
        [        [        S5      S-  -  -  [        [        S5      S-  [        S5      S-  4[        S5      S-  4[        5      -  [        [        S[        S5      * S-  4[        5      -  -   5      /S.[        [        S-
  -  [        [        5      R                  [        S5      -  [        S5      S-  [        -  [        [        5      R                  [        5      -  -   [        [        5      -   [	        [        [        5      [
        S[        -
  [        S5      S-  -  -  [        [        S5      S-  S4[        S5      S-  4S[        -
  5      -  [        [        [        S5      * S-  S	4[        S5      * S-  4S[        -
  5      -  -   [        S-
  [        S5      S-  -  -  5      /S.[        [        S-
  -  [        [        5      R                  [        S5      -  [        S5      [        S5      S-  [        -  -   [        [        5      R                  [        5      -  -   [        [        5      -   [	        [        [        5      [
        S[        -
  [        S
5      S-  -  -  [        [        S5      S-  S4[        S5      S-  4S[        -
  5      -  [        [        [        S5      * S-  S4[        S5      * S-  4S[        -
  5      -  -   [        S-
  [        S
5      S-  -  -  5      /S.[        [        S5      S-  -  * S[        [        S5      S-  -  -  S-  S[        [        S5      S-  -  -  S-  -
  [        S5      [        -  S-  -   -  [        [        5      -  S[        [        S5      S-  -  * [        -   S-  -  [        [        S5      S-  -  [        -   S-  -  -  [        [        [        5      [        S45      -   [	        [        [        5      [        [        S5      S-  -  [
        [        [        S5      S-  -  -  [        [        S5      S-  [        S5      * S-  4[        S5      S-  4[        [        S5      S-  -  5      -  [        [        [        S5      S-  [        S
5      * S-  4[        S5      S-  4[        [        S5      S-  -  5      -  -   -  [        [        S5      S-  -  S-
  [        S5      S-  -  -  5      /SS.S.S.$ )N2nd_hypergeometricr   r   r   r  r   )r   r  r   r  r  rT  rq  i`iQ	  rM  i*     ro  -   b   r      rj     T   Trt  )2nd_2F1_hyper_012nd_2F1_hyper_022nd_2F1_hyper_032nd_2F1_hyper_04r~  )	r?   r<   r   r   r
   r   r$   r   r   rX   rW   rT   r   r   A  s    )aD 1gadii1o%1a1adiil(BBQqtVK1Q4A!QKqtAvqtAv.>1a	1(MMPRSXYaefgheidijkdkcmopSqPqqrs 1gadii1o%1a1Q499Q<(??!A$F1Q4"a!eqtAv..uad1fa[1Q46)QQRU/SS
UQqTE!GR=AaD57*a!e4
45781u!Q6GH I J 1gadii1o%1qtAvax11(EE!L1Q4"a!equQw//qtAvqkAbE!G:qSTu0UU
UQqTE!GR=AaD57*a!e4
45781u"a6HI J K 1Q46{lDQqT!V,Q.a!A$q&k1A"1DDqvaxPQzQRSTUVSWWY\_`cdefcghici_j^j	
_^ ZAaDFa!#Z$ %'1!A$A'?@1Q4QrU2X1qtBw<qtAv!uQw>ORSTURVWXRXQZ\]`abc`def`f\g8h(h
UAaDGaeVBY'!A$q&A!QK@
@)A BCDqtAv;QR?VWXZV[\^V^B_` a b % rW   c                  \   S[        [        5      [        [        5      R                  [        S5      [        [        [        5      5      -   [	        [        [        5      5      -   [        [        S[        [        S[        -  [	        [        5      -  -
  S[        -  -   S[        [        5      -  -
  5      -  [        [        [        5      45      [        [        -   5      [        [        S[        [        S[        -  [	        [        5      -  -
  S[        -  -   S[        [        5      -  -
  5      -  [        [        [        5      45      [        [        -
  5      /SS.[        [        5      R                  [        S5      [        [        [        5      5      -   S[        [        5      -  -   [        [        S5      [        S[        S[        -  S[        [        SS5      -  -  -
  S[	        [        5      -  -
  5      -  [        [        [        5      45      -  [        [        -   5      [        [        S5      [        S[        S[        -  S[        [        SS5      -  -  -
  S[	        [        5      -  -
  5      -  [        [        [        5      45      -  [        [        -
  5      /SS.[        [        5      R                  [        S5      [        [        [        5      5      -   [        [        S[        [        S[        [        5      -  -   5      -  [        [        [        5      45      [        [        -   5      [        [        S[        [        S[        [        5      -  -   5      -  [        [        [        5      45      [        [        -
  5      /SS.[        [        5      R                  [        S5      [        [        [        5      5      -   [        [        S[        [        S[!        [        5      -  -
  5      -  [        [        [        5      45      [        [        -   5      [        [        S[        [        S[!        [        5      -  -
  5      -  [        [        [        5      45      [        [        -
  5      /SS.[        [        5      R                  [        S5      [#        [        [        5      5      -   [        [        S[        [        S[        -  [#        [        5      -  -
  S[        S[        S-  -
  5      -  -
  5      -  [        [        [        5      45      [        [        -   5      [        [        S[        [        S[        -  [#        [        5      -  -
  S[        S[        S-  -
  5      -  -
  5      -  [        [        [        5      45      [        [        -
  5      /SS/S	.S
.S.$ )N"2nd_nonlinear_autonomous_conservedr   r   Fr}  r   r   r   rE   rF   rI   rG   )%2nd_nonlinear_autonomous_conserved_01%2nd_nonlinear_autonomous_conserved_02%2nd_nonlinear_autonomous_conserved_03%2nd_nonlinear_autonomous_conserved_04%2nd_nonlinear_autonomous_conserved_05r~  )r?   r<   r   r   r   r
   r%   r   r   r   r   r   r   r    r   r   r   r   rX   rW   rT   r   r   b  s    9aD dii1oAaD	)C!I5x$rAbDRL01R47!CG)CDDr1Q4jQSUXYSYZx$rAbDRL01R47!CG)CDDr1Q4jQSUXYSYZ
 . dii1oQqT
*QqtV3tAwx$qtaHQN0B.B'BQs2wY'N"O ORTVWXYVZQ[\\^`cd^detAwx$qtaHQN0B.B'BQs2wY'N"O ORTVWXYVZQ[\\^`cd^de
 . dii1oAaD	)x$rAc"gI~..QqT
;R!VDx$rAc"gI~..QqT
;R!VD
 . dii1oQqT
*x$rAd2hJ//"ad<b1fEx$rAd2hJ//"ad<b1fE
 . dii1oQqT
*x$rAbDbM1Ad1r1u9o4EEFFQqT
SUWZ[U[\x$rAbDbM1Ad1r1u9o4EEFFQqT
SUWZ[U[\
 ?@.C*. .rW   c            %      x/   [        [        5      R                  [        5      n S[        [        5      [        U -  [        [        5      S[        S-  [        [        5      -  S-
  -  -  -   [        [	        [        S-  [        [        5      -  5      S-  [	        [        S-  [        [        5      -  [        SS5      -
  5      S-  -   [        [	        [        5      -   5      /SS/S.[        [        5      R                  [        5      [        [        5      [        S	-  [        [        5      -  [        -
  -  -   [        [	        [        S-  [        [        5      -  5      S	-  [	        [        S-  [        [        5      -  [        S	S5      -
  5      S
-  -   [        [	        [        5      -   5      /SSS.[        U -  [        [        5      [        S-  [        [        5      -  -  -   [        [	        [        S-  [        [        5      -  5      S-  [	        [        S-  [        [        5      -  S-
  5      S-  -
  [        [	        [        5      -   5      /SS.[        [        [        5      R                  [        5      [        [        5      [        -  S[        [        S5      S-  -  [        [        5      -  S-  -   -  -   S5      [        S[	        [        [        S5      S-  -  [        [        5      -  5      -  S[	        S[        [        S	5      S-  -  -  [        [        5      S-  -  S-   5      -  S-  -   [        [	        [        5      -   5      /SS.[        [        [        5      R                  [        5      [        [        5      [        -  S[        [        [        5      -  S-  -   -  -   S5      [        [        [        5      [        S5      * [        S[        [	        [        5      -   -  5      -  S[        -  -  5      [        [        [        5      [        S5      [        S[        [	        [        5      -   -  5      -  S[        -  -  5      /S.[        [        [        5      R                  [        5      [        S	-  [        [        5      S-  -  [        S-  [        [        5      -  -   [        [        5      -  [        [        S-  [        [        5      S-  -  [        S	-  [        [        5      S-  -  -   -  -  -   S5      [        [        [        5      [        SS[        S-  -  -  -   5      /S.[        [        [        5      R                  [        5      [        [        5      S-  [        [        5      -  [        -  -   S5      [        [        [        5      [        S5      * [        S[        [	        [        5      -   -  5      -  S-  5      [        [        [        5      [        S5      [        S[        [	        [        5      -   -  5      -  S-  5      /S.[        [        [        5      R                  [        5      [        [        5      S-   [        [        5      -  [        [        [        5      S-   -  -  -   S5      [        [	        [        [        5      S-   5      * S-  S[	        [        [        5      5      -  S-  -
  [        [	        [        5      -   5      /SS/S.[        [        [        5      R                  [        5      [        [        5      S-   [        [        5      -  [        -  -   S5      [        [        [        5      S[        [        S-  -  S-
  -  5      /S.[        [        [        5      R                  [        5      [        [        5      S-  [        [        5      -   [        [        5      -  [        -  -   S5      [        [	        [        5      * [	        [        [        5      S-   5      -
  [	        [        [        5      5      -   S[        [        5      -  -   [        5      /S/S.[        [        5      R                  [        5      [        [        5      [        S	-  [        [        5      -  [        -
  -  -   [        [        [        5      [        S5      * [        SS[        SS5      -  -  [        S[        S
[        -  5      -  [        S-  -   [        S[        -  5      -  5      [        S
[        -  5      [        S-  -  -
  [        SS5      -  -  SS[        SS5      -  -  [        S
[        -  5      -  [        S[        S
[        -  5      -  [        S-  -   [        S[        -  5      -  5      [        S
[        -  5      [        S-  -  -
  [        SS5      -  -  -
  S[        S-  -  -   5      -  S-  [        S5      [        SS[        SS5      -  -  [        S[        S
[        -  5      -  [        S-  -   [        S[        -  5      -  5      [        S
[        -  5      [        S-  -  -
  [        SS5      -  -  SS[        SS5      -  -  [        S
[        -  5      -  [        S[        S
[        -  5      -  [        S-  -   [        S[        -  5      -  5      [        S
[        -  5      [        S-  -  -
  [        SS5      -  -  -   S	[        S-  -  -   S	[        S5      -  [        S-  [        SS[        SS5      -  -  [        S[        S
[        -  5      -  [        S-  -   [        S[        -  5      -  5      [        S
[        -  5      [        S-  -  -
  [        SS5      -  -  SS[        SS5      -  -  [        S
[        -  5      -  [        S[        S
[        -  5      -  [        S-  -   [        S[        -  5      -  5      [        S
[        -  5      [        S-  -  -
  [        SS5      -  -  -
  S[        S-  -  -   5      -  -  -
  5      -  S-  -
  SS[        S-  -  -  -   5      [        [        [        5      [        S5      * [        SS[        SS5      -  -  [        S[        S
[        -  5      -  [        S-  -   [        S[        -  5      -  5      [        S
[        -  5      [        S-  -  -
  [        SS5      -  -  SS[        SS5      -  -  [        S
[        -  5      -  [        S[        S
[        -  5      -  [        S-  -   [        S[        -  5      -  5      [        S
[        -  5      [        S-  -  -
  [        SS5      -  -  -
  S[        S-  -  -   5      -  S-  [        S5      [        SS[        SS5      -  -  [        S[        S
[        -  5      -  [        S-  -   [        S[        -  5      -  5      [        S
[        -  5      [        S-  -  -
  [        SS5      -  -  SS[        SS5      -  -  [        S
[        -  5      -  [        S[        S
[        -  5      -  [        S-  -   [        S[        -  5      -  5      [        S
[        -  5      [        S-  -  -
  [        SS5      -  -  -   S	[        S-  -  -   S	[        S5      -  [        S-  [        SS[        SS5      -  -  [        S[        S
[        -  5      -  [        S-  -   [        S[        -  5      -  5      [        S
[        -  5      [        S-  -  -
  [        SS5      -  -  SS[        SS5      -  -  [        S
[        -  5      -  [        S[        S
[        -  5      -  [        S-  -   [        S[        -  5      -  5      [        S
[        -  5      [        S-  -  -
  [        SS5      -  -  -
  S[        S-  -  -   5      -  -  -
  5      -  S-  -   SS[        S-  -  -  -   5      [        [        [        5      [        S5      [        SS[        SS5      -  -  [        S[        S
[        -  5      -  [        S-  -   [        S[        -  5      -  5      [        S
[        -  5      [        S-  -  -
  [        SS5      -  -  SS[        SS5      -  -  [        S
[        -  5      -  [        S[        S
[        -  5      -  [        S-  -   [        S[        -  5      -  5      [        S
[        -  5      [        S-  -  -
  [        SS5      -  -  -
  S[        S-  -  -   5      -  S-  [        S5      [        SS[        SS5      -  -  [        S[        S
[        -  5      -  [        S-  -   [        S[        -  5      -  5      [        S
[        -  5      [        S-  -  -
  [        SS5      -  -  SS[        SS5      -  -  [        S
[        -  5      -  [        S[        S
[        -  5      -  [        S-  -   [        S[        -  5      -  5      [        S
[        -  5      [        S-  -  -
  [        SS5      -  -  -   S	[        S-  -  -   S	[        S5      -  [        S-  [        SS[        SS5      -  -  [        S[        S
[        -  5      -  [        S-  -   [        S[        -  5      -  5      [        S
[        -  5      [        S-  -  -
  [        SS5      -  -  SS[        SS5      -  -  [        S
[        -  5      -  [        S[        S
[        -  5      -  [        S-  -   [        S[        -  5      -  5      [        S
[        -  5      [        S-  -  -
  [        SS5      -  -  -
  S[        S-  -  -   5      -  -  -   5      -  S-  -
  SS[        S-  -  -  -   5      [        [        [        5      [        S5      [        SS[        SS5      -  -  [        S[        S
[        -  5      -  [        S-  -   [        S[        -  5      -  5      [        S
[        -  5      [        S-  -  -
  [        SS5      -  -  SS[        SS5      -  -  [        S
[        -  5      -  [        S[        S
[        -  5      -  [        S-  -   [        S[        -  5      -  5      [        S
[        -  5      [        S-  -  -
  [        SS5      -  -  -
  S[        S-  -  -   5      -  S-  [        S5      [        SS[        SS5      -  -  [        S[        S
[        -  5      -  [        S-  -   [        S[        -  5      -  5      [        S
[        -  5      [        S-  -  -
  [        SS5      -  -  SS[        SS5      -  -  [        S
[        -  5      -  [        S[        S
[        -  5      -  [        S-  -   [        S[        -  5      -  5      [        S
[        -  5      [        S-  -  -
  [        SS5      -  -  -   S	[        S-  -  -   S	[        S5      -  [        S-  [        SS[        SS5      -  -  [        S[        S
[        -  5      -  [        S-  -   [        S[        -  5      -  5      [        S
[        -  5      [        S-  -  -
  [        SS5      -  -  SS[        SS5      -  -  [        S
[        -  5      -  [        S[        S
[        -  5      -  [        S-  -   [        S[        -  5      -  5      [        S
[        -  5      [        S-  -  -
  [        SS5      -  -  -
  S[        S-  -  -   5      -  -  -   5      -  S-  -   SS[        S-  -  -  -   5      /SSS.[        S-  [        [        5      S-  -  [        [        [        [        5      [        5      -  -   [        [        [        5      S[        -  [        [        S-  -  S-
  -  5      /S.S.S.$ )Nr   r   r   r   ro  Fr   r  r   rf  T)rE   rF   rI   rJ   r}  r   rn  r   rs  ir  rq  )rE   rF   rJ   r;   )separable_reduced_01separable_reduced_02separable_reduced_03separable_reduced_04separable_reduced_05separable_reduced_06separable_reduced_07separable_reduced_08separable_reduced_09separable_reduced_10separable_reduced_11separable_reduced_12r~  )r?   r<   r   r
   r   r   r   r   r   r   r   )r   s    rT   r   r     s)   	
11B'aD eqta1a4!9q=1223q!tAaDy>!#c!Q$qt)hq!n*D&Ea&GGcRSfUV	 diiladad1Q4i!m453q!tAaDy>!#c!Q$qt)hqm*C&DR&GGcRSfUV 	 dQqT1a4!9%%3q!tAaDy>!#c!Q$qt)a-&8&::BQKHI 11!Q!q1Q46{1Q4/?!.C*C DDaH2c!ad1f+ad*++aAa!A$q&kM!A$'4IA4M0N.Nq.PPRTWZ[\W]R]^_ 11!Q!q1vk/ ::A>1Q4$q'$q"s1v+"771=>adDGDBQK$991Q3?@B 11AadAg1QqT	!91Q4 ?AqD1qLSTVWSWXYZ[X\^_X_S_D_A` aacde1Q4a1a4j)* 111q!A$ 22A6qtd1gXd1b3q6k?33A56qtT!WT!R#a&[/22145
 111a1q!A$q&z ::A>C!qM>!#aAaD	k!m3R#a&[AB	 111a1a/31Q4Bq!tGaK)* 111q1qt 3Q 77;SV8c!A$(m+c!A$i7!AaD&@"EF diiladad1Q4i!m451Q4$q'$qHQqM)9'943r"u:PQTWPXAXZ]^`ac^cZd@d;ehklnoqlqhrstvwswhw;w  {C  DE  FG  {H  ;H  (HAx!}SBZqRU|a#h'>BrE
&J!KcRTUWRWjYZ\]Y]o!]`hijkl`m mm(npqrsuvrvpv(w #x xxyzq'$r!Xa]""D!C2J,S*A3r"u:)M$NQTUWXZUZQ[\]_`\`Q`$`cklmnocp#ppAx!}SBZqRU|a#h'>BrE
&J!KcRTUWRWjYZ\]Y]o!]`hijkl`m mmnpqrsuvrvpvwDG)QT$qHQqM))43r"u:C1H#bQSe*0T+UX[\^_a\aXbcdfgcgXg+gjrstuvjw*wwAx!}SBZqRU|a#h'>BrE
&J!KcRTUWRWjYZ\]Y]o!]`hijkl`m mmnpqrsuvrvpvw x x yy z z {|||
 @  BC  DE  GH  DH  BH  II J 1Q4$q'$qHQqM))43r"u:C1H#bQSe*0T+UX[\^_a\aXbcdfgcgXg+gjrstuvjw*wwAx!}SBZqRU|a#h'>BrE
&J!KcRTUWRWjYZ\]Y]o!]`hijkl`m mmnpqrsuvrvpvw x 
xxy
zq'$r!Xa]""D!C2J,S*A3r"u:)M$NQTUWXZUZQ[\]_`\`Q`$`cklmnocp#ppAx!}SBZqRU|a#h'>BrE
&J!KcRTUWRWjYZ\]Y]o!]`hijkl`m mmnpqrsuvrvpvwDG)QT$qHQqM))43r"u:C1H#bQSe*0T+UX[\^_a\aXbcdfgcgXg+gjrstuvjw*wwAx!}SBZqRU|a#h'>BrE
&J!KcRTUWRWjYZ\]Y]o!]`hijkl`m mmnpqrsuvrvpvw x x yy z z {||
|
 @  BC  DE  GH  DH  BH  I
I J 1Q4aa8Aa=(($#be*q3x0GRPRU/S*TWZ[]^`[`WabcefbfWf*fiqrstuiv)vvAx!}SBZqRU|a#h'>BrE
&J!KcRTUWRWjYZ\]Y]o!]`hijkl`m mmnpqrsuvrvpvw x 
xxy
zq'$r!Xa]""D!C2J,S*A3r"u:)M$NQTUWXZUZQ[\]_`\`Q`$`cklmnocp#ppAx!}SBZqRU|a#h'>BrE
&J!KcRTUWRWjYZ\]Y]o!]`hijkl`m mmnAqD&	T!W9ad4!Xa]"2 2D!C2J,S:QSVWYZ\W\S]9]4^adeghjejaklmoplpap4ps{|}~  tA  4A  !AAx!}SBZqRU|a#h'>BrE
&J!KcRTUWRWjYZ\]Y]o!]`hijkl`m mm!npqrsuvrvpv!w x x yy z z {||
|
 @  BC  DE  GH  DH  BH  I
I J 1Q4aa8Aa=(($#be*q3x0GRPRU/S*TWZ[]^`[`WabcefbfWf*fiqrstuiv)vvAx!}SBZqRU|a#h'>BrE
&J!KcRTUWRWjYZ\]Y]o!]`hijkl`m mmnpqrsuvrvpvw x 
xxy
zq'$r!Xa]""D!C2J,S*A3r"u:)M$NQTUWXZUZQ[\]_`\`Q`$`cklmnocp#ppstuv  yA  BC  DE  yF  vF  tF  GJ  KM  NP  KP  GQ  tQ  SW  YZ  [^  _a  bd  _d  [e  Yec(Y2JX Sbe*QT/S*,4QqMR: t: :<=adFCEFtAwYPQSTPTUYZ[\]_ghijk_l\lZlnrtuvyz|}z  wA  uA  DE  HK  DL  uL  NQ  RT  UW  RW  NX  tX  oYbe*QT/oQqMn" ["$%a!A&6$6s2b5z$A43rRTu:XY\_X`I`befhikfkblHlCmpstvwytypz{|~{pC  CK  LM  NO  CP  CP  %P[P ST  UV  XY  UY  SY[Y VZ QZ F[[ \ \ ]^^
^ ab  de  fg  ij  fj  dj  ak	
k l%m. !5> d1Q47lQz!A$2221Q42r!Q$w{+,-Cei irW   c                  F   [        S5      u  pnS[        [        5      0 S[        [        [        5      R                  [        5      -  [        [        5      S-   -  [        [        5      S-  -   S[        [        5      -  -
  S[        -  -
  / SSS._S[        [        [        5      R                  [        5      -  [        [        5      S-   -  [        [        5      S-  -   S[        [        5      -  -
  S[        -  -
  / SS	._S
[	        [        S-  [        [        [        5      [        5      -  S[        S-  -  [        [        5      S-  -  -   S[        S-  -  S-   [        [        5      S-  -  -
  S5      / SS	._S[        [        5      R                  [        5      [        [        5      [        [        [        5      -  -
  S-  [        S-  -  -
  [        [        5      -   / S/S._S[        [        5      R                  [        5      S-  [	        [        [        5      [        5      /S/S._S[	        [        [        5      R                  [        5      [        S-  [        [        5      -  5      [	        [        [        5      [        [        [        S-  5      [        SS5      -  -  5      /S._S[        [        5      R                  [        5      U [        [        5      -  -   U[        U[        -  5      -  -
  [	        [        [        5      [        [        * X-   -  U[        [        X-   -  5      -  -   [        U * [        -  5      -  X-   -  [        X* 5      4[        * U[        -  -   [        U * [        -  5      -  S45      5      /S._S[        [        5      R                  [        5      S[        -  [        [        5      -  -   [        [        [        S-  * 5      -  -
  [	        [        [        5      [        [        S-  S-  -   [        [        S-  * 5      -  5      /S._SSS[        -  -   [        [        5      R                  [        5      -  S-   S[        [        [        5      * 5      -  -
  [	        [        [        5      [        [        S[        -  S-   -  S-   5      5      /S._S[        S-  [        [        5      R                  [        5      -  [        [        5      -
  [        S-  [        [        S[        -  -
  5      -  -   [	        [        [        5      [        [        [        5      -
  [        S[        -  5      -  5      /S/S._S[        S-  [        [        5      S-  -  [        [        [        [        5      [        5      -  -   [	        [        [        5      S[        [        S-  -   -  5      /S._S[        [        [        5      [        5      S[        -  [        [        5      -  -   [        [        [        S-  * 5      -  -
  [	        [        [        5      [        [        S-  * 5      [        [        S-  S-  -   -  5      /S._S[        [        [        5      [        5      [        [        5      [        [        5      -  -   [        S[        -  5      -
  [	        [        [        5      [        [        [        5      * 5      [        [        [        S[        -  5      [        [        [        5      5      -  [        5      -   -  5      /S._S[        [        [        5      [        5      [        [        5      [        [        5      -  -   [        S[        -  5      S-  -
  [	        [        [        5      [        [        [        [        5      * 5      -  [        [        5      -   S-
  5      /S._S[        [        [        [        5      [        5      -  [        [        5      -   [        [        [        5      -  -
  [	        [        [        5      [        [        [        [        5      -  -
  [        [        5      -   [        -  5      /S._S [        [        [        [        5      [        5      -  [        [        5      -
  [        [        [        5      -  -
  [	        [        [        5      [        [        [        [        [        5      5      -   -  5      /S._S![        [        5      R                  [        5      [        [        5      -
  [        [        5      R                  [        5      [        [        5      -   -  [	        [        [        5      [        [        [        5      -  5      [	        [        [        5      [        [        [        * 5      -  5      /S._[        [        5      R                  [        5      [        [        5      R                  [        5      [        [        5      -
  -  [	        [        [        5      [        [        [        5      -  5      [	        [        [        5      [        5      /S.[        [        5      R                  [        5      [        [        5      -
  [        [        5      R                  [        5      [        [        5      -   -  [	        [        [        5      [        [        [        * 5      -  5      [	        [        [        5      [        [        [        5      -  5      /S.[        [        5      R                  [        5      [        [        5      R                  [        5      [        [        5      -   -  [	        [        [        5      [        5      [	        [        [        5      [        [        [        * 5      -  5      /S.S".ES#.$ )$NrA   r   lie_group_01r   r   T)rE   rF   rK   rL   lie_group_02r  lie_group_03r   r  r   r   lie_group_04rs  lie_group_05r   lie_group_06r   r   lie_group_07lie_group_08lie_group_09lie_group_10r   lie_group_11lie_group_12lie_group_13lie_group_14lie_group_15lie_group_16lie_group_17)lie_group_18lie_group_19lie_group_20r~  )r   r?   r<   r   r
   r   r   r   r   r   r   r   r   r    r%   )r   rX  rY  s      rT   r   r   	  sJ   gGA!aDm!		!nad1f%1q11QqT69!A#= $	m !		!nad1f%1q11QqT69!A#=m Aj1q))AadF1Q47N:a1fqj!A$PQ'=QQSTUm* diiladQs1vXo1!Q$66Q?+m6 diilAo1Q4~7mB 11q!tAaDy)1Q4C1Ix1~5567CmL diilQqtV#aAaCj01Q4bS!%[1SAE^3C%CS!AY$NPQPU$V
1b	$cAaCiaRT*D13 4 5MmX diilQqS1X%#q!te*41Q4"q!tAv+sAqD5z123Ymb 1Q3w11&*QsAaD5z\91Q4R1q\A-./0cml dAaDIIaL!AaD(1a4A1I+>>1Q4"s1v+s2a4y012mmx d1Q47lQz!A$2221Q4BAI'(ymB 1Q4lQqS1X%#q!te*41Q4adUR!Q$q&[123CmL 1Q4lQqT#a&[(3qs831Q4c!fWrHS1Xc#a&k5I1,M'MNOPMmV 1Q4lQqT#a&[(3qs8A:51Q4CQL3q61A567Wm` QqT!nqt#aAh.1Q4"qQx-#a&0!345amj QqT!nqt#aAh.1Q4BSV,-./kmt tyy|AaD QqTYYq\!A$%671Q4CF#R!baRj%9:um@ diiladiilQqT121Q4CF#R!b\2 tyy|AaD QqTYYq\!A$%671Q4CG$b1r#a&y&9: diilAaDIIaL1-.1Q4b1r#qb'z23Smq qrW   c                  x   S[        [        5      [        [        5      R                  [        S5      [        [        [        5      -  -
  [        [        [        5      [        [        [        5      -  [        [        [        5      -  -   5      /S.[        [        5      R                  [        S5      S[        -  [        [        5      -  -   [        [        [        5      [        [        S[        S5      S-  -  * [        -  5      -  [        [        S[        S5      S-  -  * [        -  5      -  -   5      /S.S.S.$ )N2nd_linear_airyr   r   r   r   )2nd_lin_airy_012nd_lin_airy_02r~  )	r?   r<   r   r
   r   r*   r   r+   r   rX   rW   rT   r   r   {	  s     &aD dii1o!A$&1Q4F1I6!9456 dii1o!AaD(1Q4FA!QK<>22RAaDF|A~8N5NNOP
 rW   c                  U   [        SSS9n [        SSS9n[        S5       Vs/ s H#  n[        [        S-  S[        -  -   S-
  U5      PM%     snu  p4pVn[        S5       Vs/ s H#  n[        [        S-  S	[        -  -
  S
-   U5      PM%     snu  ppn[        S5       Vs/ s H0  n[        [        S-  S[        S	-  -  -
  S[        -  -   S
-   U5      PM2     snu  pnnn[        S5       Vs/ s H#  n[        [        S-  [        S-  -
  S-   U5      PM%     snu  nnnnn[        S5       Vs/ s H   n[        [        S-  [        -
  S
-   U5      PM"     snu  nnnnn[	        S
5      nS[        [        5      0 S[        [        5      R                  [        S5      S[        [        5      R                  [        5      -  -   [        [        [        5      [        [        [	        S[        -  5      -  -   5      /S._S[        [        5      R                  [        S5      S	[        [        5      R                  [        5      -  -
  S[        [        5      -  -   [        [        [        5      [        [        [	        [        5      -  -   [	        [        5      -  5      /S._S[        [        5      R                  [        S5      [        [        5      -
  [        [        [        5      [        [	        [        * 5      -  [        [	        [        5      -  -   5      /S._S[        [        5      R                  [        S	5      [        [        5      R                  [        S5      -   S[        [        5      R                  [        5      -  -
  [        [        [        5      [        [        [	        S[        -  5      -  -   [        [	        S[        -  5      -  -   5      /SS._SS[        [        5      R                  [        S5      -  S[        [        5      R                  [        5      -  -
  S[        [        5      -  -   [        [        [        5      [        [	        [        S-  5      -  [        [	        [        [        SS	5      -  5      -  -   5      /SS._S[        [        [        5      R                  [        S5      S[        [        5      R                  [        5      -  -   [        [        5      -
  S5      [        [        [        5      [        [	        [        S[        S5      -   -  5      -  [        [	        [        * [        S5      S
-   -  5      -  -   5      /SS._S[        [        [        5      [        S	5      [        [        [        5      [        S5      -   S[        [        [        5      [        5      -  -
  S[        [        5      -  -
  [        [        [        5      [        [	        S	[        -  5      -  [        [	        [        * S[        S5      -   -  5      -  -   [        [	        [        S[        S5      -   -  5      -  -   5      /SS._S[        [        5      R                  [        S5      [        [        5      R                  [        S	5      -
  S[        [        5      R                  [        S5      -  -
  S[        [        5      R                  [        5      -  -   [        [        [        5      [        [        [	        S[        -  5      -  -   [        [	        [        5      -  -   [        [	        S[        -  5      -  -   5      /SS._S[        [        5      R                  [        S5      S[        [        5      R                  [        S	5      -  -   [        [        5      R                  [        S5      -   S[        [        5      R                  [        5      -  -
  S[        [        5      -  -
  [        [        [        5      [        [	        [        * 5      -  [        [	        [        5      -  -   [        [	        [        S5      * [        -  5      -  [        [	        [        S5      [        -  5      -  -   [	        S[        -  5      -  -   5      /SS._S [        [        5      R                  [        S5      U S-  [        [        5      -  -
  [        [        [        5      [        [	        [        U 5      * [        -  5      -  [        [	        [        U 5      [        -  5      -  -   [        [        [        U 5      [        -  5      -  -   [        [        [        U 5      [        -  5      -  -   5      /SS._S![        [        5      R                  [        S5      SU-  [        [        5      R                  [        5      -  -
  S[        [        5      -  -
  [        [        [        5      [        [	        [        U[        US-  S-   5      -
  -  5      -  [        [	        [        U[        US-  S-   5      -   -  5      -  -   5      /SS._S"[        [        5      R                  [        S5      SU-  [        [        5      R                  [        5      -  -   S#US-  -  [        [        5      -  -
  [        [        [        5      [        [	        S$U-  [        -  5      -  [        [	        SU-  [        -  5      -  -   5      /SS._S%[        [        5      R                  [        S5      [        [        [        5      [        [        [        -  -   [        [        S-  -  -   [        [        S	-  -  -   5      /SS._S&[        [        5      R                  [        S5      S[        [        5      R                  [        5      -  -   S[        [        5      -  -   [        [        [        5      [        [        [        -  -   [	        S[        -  5      -  5      /SS._S'S	[        [        5      R                  [        S	5      -  S[        [        5      R                  [        S5      -  -   [        [        5      R                  [        5      -   [        [        5      -
  [        [        [        5      [        [        [        -  -   [	        [        * 5      -  [        [	        [        S	-  5      -  -   5      /SS._S([        [        5      R                  [        S	5      S[        [        5      R                  [        S5      -  -
  S#[        [        5      R                  [        5      -  -   S)[        [        5      -  -
  [        [        [        5      [        [        [        [        [        -  -   -  -   [	        S[        -  5      -  5      /SS._S*[        [        5      R                  [        S5      SU -  [        [        5      R                  [        5      -  -
  U S-  [        [        5      -  -   [        [        [        5      [        [        [        -  -   [	        U [        -  5      -  5      /SS._0 S+[        [        5      R                  [        S5      S	[        [        5      R                  [        S	5      -  -   [        [        [        5      [        [        [        -  -   [        [        S-  -  -   [        [	        S[        -  5      -  -   5      /SS._S,[        [        5      R                  [        S5      S[        [        5      R                  [        S5      -  -
  [        [        [        5      [        [        [        -  -   [        [	        [        S5      * [        -  5      -  -   [        [	        [        S5      [        -  5      -  -   5      /SS._S-[        [        5      R                  [        S5      S[        [        5      R                  [        S	5      -  -   S[        [        5      R                  [        S5      -  -
  S#[        [        5      R                  [        5      -  -
  S.[        [        5      -  -   [        [        [        5      [        [        [        -  -   [	        S[        -  5      -  [        [        [        -  -   [	        S[        -  5      -  -   5      /SS._S/S.[        [        5      R                  [        S5      -  S0[        [        5      R                  [        S5      -  -
  S[        [        5      R                  [        5      -  -   S[        [        5      -  -   [        [        [        5      [        [	        [        * 5      -  [        [	        [        * S	-  5      -  -   [        [	        [        S-  5      -  -   [        [	        [        [        SS5      -  5      -  -   5      /SS._S1[        [        5      R                  [        S5      S)[        [        5      R                  [        S5      -  -
  S2[        [        5      -  -   [        [        [        5      [        [        [        -  -   [	        S[        -  5      -  [        [        [        -  -   [	        S[        -  5      -  -   5      /SS._S3[        [        5      R                  [        S5      S[        [        5      R                  [        5      -  -
  S[        [        5      -  -   [        [        [        5      [        [        S[        -  5      -  [        [        S[        -  5      -  -   [	        [        5      -  5      /SS._S4[        [        5      R                  [        S5      [        [        5      R                  [        5      -
  [        [        5      -   [        [        [        5      [        [        [        [        S	5      -  S-  5      -  [        [        [        [        S	5      -  S-  5      -  -   [	        [        S-  5      -  5      /SS._S5[        [        5      R                  [        S5      S[        [        5      R                  [        S5      -  -   S[        [        5      -  -   [        [        [        5      [        [        [        S5      [        -  5      -  [        [        [        S	5      [        -  5      -  -   [        [        [        S5      [        -  5      -  -   [        [        [        S	5      [        -  5      -  -   5      /SS._S6[        [        5      R                  [        S5      S[        [        5      R                  [        5      -  -
  S7[        [        5      -  -   [        [        [        5      [        [        S[        -  5      -  [        [        S[        -  5      -  -   [	        S[        -  5      -  5      /SS._S8[        [        5      R                  [        S5      S[        [        5      R                  [        S5      -  -   S[        [        5      -  -   [        [        [        5      [        [        [        -  -   [        [        [        S5      -  5      -  [        [        [        -  -   [        [        [        S5      -  5      -  -   5      /SS._S9[        [        5      R                  [        S	5      S)[        [        5      -  -   [        [        [        5      [        [        [        [        S	5      -  5      -  [        [        [        [        S	5      -  5      -  -   [	        [        5      -  [        [	        S[        -  5      -  -   5      /SS._S:[        [        5      R                  [        S5      S[        [        5      R                  [        S5      -  -   [        [        [        5      [        [        [        -  -   [        [        S[        -  5      -  -   [        [        S[        -  5      -  -   5      /SS._S;[        [        5      R                  [        S5      S[        [        5      R                  [        S	5      -  -   [        [        5      R                  [        5      -   [        [        [        5      [        [        [        [        -  -   [        [        5      -  -   [        [         [        -  -   [        [        5      -  -   5      /SS._S<[        [        5      R                  [        S5      [        [        5      R                  [        S5      -   [        [        5      -   [        [        [        5      [        [        [        S	5      [        -  S-  5      -  [        [        [        S	5      [        -  S-  5      -  -   [	        [        * S-  5      -  [        [        [        S	5      [        -  S-  5      -  [        [        [        S	5      [        -  S-  5      -  -   [	        [        S-  5      -  -   5      /SS._S=[        [        5      R                  [        S5      S[        [        5      R                  [        S5      -  -   [        [        5      -   [        [        [        5      [        [        [        [        [        S	5      * S-   5      -  5      -  [        [        [        [        [        S	5      S-   5      -  5      -  -   [        [        [        [        [        S	5      * S-   5      -  5      -  -   [        [        [        [        [        S	5      S-   5      -  5      -  -   5      /SS._S>[        [        5      R                  [        S5      S[        [        5      R                  [        5      -  -   S[        [        5      -  -
  [        [        [        5      [         [	        U[        -  5      -  [	        [#        U5      [        -  5      [        [        [%        U5      [        -  5      -  [        [        [%        U5      [        -  5      -  -   -  -   [	        [#        U5      [        -  5      [        [        [%        U5      [        -  5      -  [        [        [%        U5      [        -  5      -  -   -  -   5      /SS?._S@[        [        5      R                  [        S5      S	[        [        5      R                  [        5      -  -
  [        [        5      -   [        [        [        5      [        [	        U[        -  5      -  [        [	        U	[        -  5      -  -   [         [	        U
[        -  5      -  -   [	        [#        U5      [        -  5      [        [        [%        U5      [        -  5      -  [        [        [%        U5      [        -  5      -  -   -  -   5      /SS?._E[        [        5      R                  [        S5      S[        [        5      R                  [        S	5      -  -
  S[        [        5      R                  [        5      -  -   [        [        5      -   [        [        [        5      [        [	        U[        -  5      -  [        [	        U[        -  5      -  -   [        [	        U[        -  5      -  -   [        [	        U[        -  5      -  -   [         [	        U[        -  5      -  -   5      /SS?.[        [        5      R                  [        S5      S[        [        5      R                  [        S5      -  -
  S[        [        5      R                  [        S5      -  -   S[        [        5      R                  [        5      -  -   SA[        [        5      -  -
  [        [        [        5      [         [	        S[        -  5      -  [&        [	        [        U-  5      -  -   [	        [#        U5      [        -  5      [        [        [%        U5      [        -  5      -  [        [        [%        U5      [        -  5      -  -   -  -   [	        [#        U5      [        -  5      [        [        [%        U5      [        -  5      -  [        [        [%        U5      [        -  5      -  -   -  -   5      /SS?.[        [        5      R                  [        S5      S[        [        5      R                  [        S5      -  -
  S[        [        5      R                  [        S5      -  -   [        [        5      R                  [        S5      -   S[        [        5      R                  [        S
5      -  -
  [        [        5      -   [        [        [        5      [        [        [        -  -   [	        [        U-  5      -  [        [        [        -  -   [        [        [%        U5      -  5      -  * [         [&        [        -  -   [        [        [%        U5      -  5      -  -   [	        [        [#        U5      -  5      -  -   [(        [*        [        -  -   [        [        [%        U5      -  5      -  * [,        [        -  [.        -   [        [        [%        U5      -  5      -  -   [	        [        [#        U5      -  5      -  -   5      /SS?.[        [        S5      [        [        5      R                  [        [        [        5      -  [        [        5      R                  [        5      -   S5      [        [        [        5      [        [        [        S[        S	S5      -  [        -  S-  5      -  -   [        [        S[        S	S5      -  [        -  S-  5      -  -   5      /S.[        U[        [        5      R                  [        [        [        5      -  [        [        5      R                  [        5      -   S5      [        [        [        5      [        [        [        [        [        U5      -  5      -  -   [        [        [        [        U5      -  5      -  -   5      /S.[        [0        [        [        5      R                  [        [        [        5      -  [        [        5      R                  [        5      -   S5      [        [        [        5      [        [        [        [        [        [0        5      -  5      -  -   [        [        [        [        [0        5      -  5      -  -   5      /S.[        [2        [        [        5      R                  [        [        [        5      -  [        [        5      R                  [        5      -   S5      [        [        [        5      [        [        [	        [        [2        5      * [        -  5      -  -   [        [	        [        [2        5      [        -  5      -  -   5      /S.[        [        5      R                  [        [        5      [4        [        [        5      -  -   [        [        [        5      [        [	        [        * [        [4        * 5      -  5      -  [        [	        [        [        [4        * 5      -  5      -  -   5      /S.[        SB[        [        5      R                  [        [        5      -  [        [        5      -   S5      [        [        [        5      [        [        [        S	-  5      -  [        [        [        S	-  5      -  -   5      /S.[        SB[        [        5      R                  [        [        5      -  [        [        5      5      [        [        [        5      [        [	        [        * S	-  5      -  [        [	        [        S	-  5      -  -   5      /S.[        [        [        5      R                  [        [        5      S	[        [        [        5      [        5      -  -
  S[        [        5      -  -   S5      [        [        [        5      [        [        [	        [        5      -  -   [	        [        5      -  5      /S.[        [        [        5      R                  [        [        5      S[        [        [        5      [        5      -  -
  S[        [        5      -  -   S5      [        [        [        5      [        [        [        -  -   [	        S[        -  5      -  5      /S.[        [        [        5      R                  [        [        5      S[        [        [        5      [        5      -  -   S	[        [        5      -  -   S5      [        [        [        5      [        [        [        [        S5      -  5      -  [        [        [        [        S5      -  5      -  -   [	        [        * 5      -  5      /S.[        [        5      R                  [        [        5      S[        [        5      -  -   [        [        [        5      [        [        S[        -  5      -  [        [        S[        -  5      -  -   5      /S.SC.ESD.$ s  snf s  snf s  snf s  snf s  snf )ENr   Tr  r  )realr  r  r   r   r   d   i  r   r  %nth_linear_constant_coeff_homogeneouslin_const_coeff_hom_01r  r   lin_const_coeff_hom_02lin_const_coeff_hom_03lin_const_coeff_hom_04ro  rn  r  lin_const_coeff_hom_05lin_const_coeff_hom_06r   r   lin_const_coeff_hom_07lin_const_coeff_hom_08lin_const_coeff_hom_09lin_const_coeff_hom_10lin_const_coeff_hom_11lin_const_coeff_hom_12rf  ilin_const_coeff_hom_13lin_const_coeff_hom_14lin_const_coeff_hom_15lin_const_coeff_hom_16re  lin_const_coeff_hom_17lin_const_coeff_hom_18lin_const_coeff_hom_19lin_const_coeff_hom_20rU  lin_const_coeff_hom_21%   lin_const_coeff_hom_22r  lin_const_coeff_hom_23lin_const_coeff_hom_24lin_const_coeff_hom_25lin_const_coeff_hom_26r  lin_const_coeff_hom_27lin_const_coeff_hom_28lin_const_coeff_hom_29lin_const_coeff_hom_30lin_const_coeff_hom_31lin_const_coeff_hom_32lin_const_coeff_hom_33rt  lin_const_coeff_hom_342   rq  )lin_const_coeff_hom_35lin_const_coeff_hom_36lin_const_coeff_hom_37lin_const_coeff_hom_38lin_const_coeff_hom_39lin_const_coeff_hom_40lin_const_coeff_hom_41lin_const_coeff_hom_42lin_const_coeff_hom_43lin_const_coeff_hom_44lin_const_coeff_hom_45lin_const_coeff_hom_46lin_const_coeff_hom_47lin_const_coeff_hom_48r~  )r)   r   r'   r<   r   r?   r   r
   r   r   r  r   r   r  r    r   r  r   r   r  C7C8C10C9r	   r   r>   )r   r  r  r  r  r  r  r  r6r7r8r9r10r11r12r13r14r15r16r17r18r19r20r21r22r23r24r25r   s                                rT   r   r   	  s    	sT"AsA>CAhGh&A1q!4hGBBB>CAhGh6!Q$1*q.!4hGBBCPUVWPXYPX1vadSAXoQ&>&BAFPXYCc3DI!HMHqvadQTkB&6:HMCc3@EaI1vadQhlA6ICc3AA;aDjdii1o!A$))A,.1Q4bRTl*+,j dii1o!A$))A,.1Q471Q4"r#a&y.#a&012j dii1o!$1Q4CGbQi/01j  dii1o!		!Q/!AaDIIaL.@1Q4bRTl*RAaC[89:!j, !		!Q"QqTYYq\/1AadF:1Q4C!Hr#aA.>*?'??@A-j8 11a1QqTYYq\>1AaD8!<1Q4C2Q< 011BsA2tAw{;K7L4LLMN9jD 1Q4AadAq!11BtAaD!}4DDq1vM1Q4C!Hr#qb!d1g+.>*?'??"SBQUVWQXLIYEZBZZ[\EjP dii1o!		!Q/!AaDIIaO2CC	!A$))A,1Q4bRTl*RAY6C!HDEF	Qj^ dii1o!A$))Aq/ 11AaDIIaOC	!A$))A,1Q4 1Q4CGbQi/2c47(1*o3E3tTUwWXy>HY3Y[^_abc_c[d2ddef	_jl dii1o1QqT	)1Q4Ca
O+bT!WQY.??"SaQR^BSSVXY\]abc]def]fYgVgghimjx dii1o!AaDIIaL 001QqT691Q4C1tAqD1H~#5 677"SAQPQTTUXDVAW=X:XXYZyjD dii1o!AaDIIaL 002ad71Q4<?1Q4C1QK"S1QZ-789EjP dii1o1Q4bdR1W,r!Q$w678Qj\ dii1o!A$))A,.1Q471Q4"r!t)SAY./0]jh !		!Q!AaDIIaO"33adiilBQqTI1Q4"r!t)S!W,r#ac({:;<ijt dii1o!A$))Aq/ 11Bqtyy|OCa!fL1Q4"q"r!t)},c!A#h678uj@ dii1o!AaDIIaL 001a4!9<1Q4"r!t)S1X-./AjL dii1o!A$))Aq/ 111Q4bdR1W,r#bd)|;<=MjX dii1o!A$))Aq/ 111Q4bdRT!WHQJ%77"Sa^:KKLMYjd dii1o!A$))Aq/ 11BqtyyA4FF
1Q499Q<QqT'"1Q4"r!t)SAY."r!t)S1X1EEFG	ejr 11a 2adii1o#55!A$))A,F1Q4O1Q4CGbaRTl2RAaC[@2c!HUVXYNJZF[C[[\]sj~ dii1o!A$))Aq/ 11BqtG;1Q4"r!t)SAY."r!t)S1X1EEFGjJ dii1o!A$))A,.1Q471Q4"S1X+3qs83SV;<=KjV dii1o!		!,qt31Q4"S471--3qay{3C0CCS1XMNOWjb dii1o!A$))Aq/ 11AadF:1Q4
3tAwqy>Bs4719~--3tAwqy>0AABs4PQ7ST9~DUUW X	cjp dii1o!A$))A,.AaD81Q4"S1X+3qs83S1X=>?qj| dii1o!A$))Aq/ 11AadF:1Q4"r!t)S47^3rBqDy#aQi.6PPQR}jH dii1o!A$&1Q4"S47^+bQtAwY.??QG"SQSTUQUY,VWXIjT dii1o!A$))Aq/ 111Q4bdRAaC[02c!A#h;>?@Uj` dii1o!A$))Aq/ 11AaDIIaL@1Q4rBqDy#a&00BAIs1v3EEFGajl dii1o!		!Q/!A$61Q4"Sa1--3tAwqy{3C0CCS!AYNc$q'!)A+CQ	!$4!44c!A#h
>? @ A	mjz dii1o!A$))Aq/ 11AaD81Q4C$Qx!|"4 4553qd1gPQkAR?R;S8SS
S4a1%%&
&')+C$tAw{2C0C,D)DE F G	{jJ dii1o1Q499Q</!AaD&81Q4
3r!t9s2b6!8}3r"vax=(82c"R&(m;K(KLL
bfQh-2c"R&(m+bRVAX.>>
?	@A B !Kj\ dii!nq11~-!41Q4
3r!t9r#bd)|#bRTl2
bfQh-2c"R&(m+bRVAX.>>
?	@A B !]jp dii!ns1Q499Qq>11D114EE!L1Q4CAJCAJ6CAJFCPSTUPUJVY[\_`cde`e\fYffgh  dii1o!A$))Aq/ 11Aadii1o4EE1Q499UV<WZ\_`ab_cZcc1Q4
3qs8
S3Z-	
bgai.Bs2c719~-3r#wqy>0AA
B	C bgai.Bs2c719~-3r#wqy>0AA
B	CD E
 ! dii21Q499Q?!22QqtyyA5FF
A$))Aq/adii1o-.01!51Q4"r!t)S3Z/b2a4iQr#wY5O3P19c!BsG)n
$4%&)!BsG)n35 5;=19c!BsG)n:T8Uq52:s1RW9~
%9&'*1RW9~866 7 8 ! a1Q499Qq++adiil:A>1Q4bQA%6q%8%:!;;;bQQRTUEVWXEXYZEZA[>[[\] QqTYYq1%%!		!4a81Q4bQtAwY//"S47^2CCDE adii!A&&115q91Q4bQtBxZ002c!DH*o3EEFG QqTYYq1%%!		!4a81Q4bd1gXaZ002c$q'!)n3DDEF dii1o!A$&1Q4C48,,r#aaRj//AABC 1Q499Q?"QqT)1-1Q4C!Hr#ac({234 1Q499Q?"AaD)1Q4C1I3qs8345 11a1T!A$]?2QqtV;Q?1Q4"r#a&y.#a&012 11a1T!A$]?2QqtV;Q?1Q4"r!t)S1X-./ 11a1T!A$]?2QqtV;Q?1Q4"S47^+bQtAwY.??aRHIJ dii1o!A$&1Q4C!Hr#ac({234M	jn n HGYMIs"   *Bi0 *Bi57Bi:**Bi?*'Bjc                  	   S[        [        5      [        [        5      [        -  [        [        [        5      [        -  5      -  [        [        [        5      -  [        [        [        5      [        -  5      -  [        [        [        5      [        -  5      -   [        [        5      R	                  [        5      -  -
  [        [        [        5      [        [        [        [        5      [        [        [        5      [        -  5      -  [        -  5      -
  5      /SS.[        [        [        5      R	                  [        5      -  [        [        5      -
  [        [        [        [        5      [        -  5      -  -
  [        [        [        5      [        [        5      [        [        [        [        5      [        -  5      S-
  5      S-  -   [        [        [        [        5      [        -  5      S-   5      S-  -
  5      /SS.[        [        [        [        5      [        -  5      -  [        [        5      [        [        [        5      [        -  5      -  -
  [        [        [        [        5      [        -  5      -  [        [        5      R	                  [        5      -  -   [        [        [        5      [        [        [        [        5      * [        -  5      [        [        [        5      [        -  5      -  S-  -   [        [        [        5      * [        -  5      [        [        [        5      [        -  5      -  S-  -   5      /SS.[        [        5      R	                  [        5      [        [        5      [        -  -
  S[        [        [        5      [        -  5      -  -   [        [        [        5      [        [        [        [        [        5      -   5      * S[        -  -   -  5      [        [        [        5      [        [        [        [        [        5      -   5      -  5      /SS.[        [        [        [        5      [        -  5      -  [        [        5      -   [        [        [        5      R	                  [        5      -  -
  [        [        [        5      [        S[        [        [        5      -
  -  [        -  5      5      /SS.S	.S
.$ )Nr   Tr  r   r   Fr}  rt  )dep_div_indep_01dep_div_indep_02dep_div_indep_03dep_div_indep_04dep_div_indep_05r~  )r?   r<   r   r    r   r
   r   r   r   r   r	   rX   rW   rT   r   r   
  s    ?aD d1fS1a[ AadF3qtAv;$6QqT!V$DadiiPQl#RR3q62AaDQqT!V$4Q$6 7789 !		!nqt#aAaDFm33q63r7SQqT!Vq%9!%;;c#ad1f+PQ/>RST>TTUV AaDFmad3qtAv;..3qtAv;qtyy|1KK3q62QqTE!GS1a[ 8 ::S!A$q\#aPQdSTf+=UVW=WWXY diilQqT!V#aAaDFm31Q4T"s1v+..2567AaD!DcRSfDUBU9VW AaDFmad"Qqtyy|^31Q4ac!fo1234 9!% %rW   c                  2   S[        [        5      S[        [        5      R                  [        5      SS[        [        5      -  -   [        S-   -  -   [        [        [        5      [        [        S-  S[        -  -   S-   -  [        SS5      -
  5      /S.0S.$ )	Nlinear_coefficientslinear_coeff_01r   r   ro  rq  r   r~  )r?   r<   r   r
   r   r   rX   rW   rT   r   r   
  s     *aDdiila!AaD&j1q5111Q4QTAaCZ!^,x1~=>?	 	rW   c                     S[        [        5      [        [        5      [        [        [        [        5      [        -  5      -  S[        -  -
  [        [        [        5      [        5      -  -   [	        [        [        5      [        [        5      * [        [        * [        [        * S-   5      -  5      -  5      /SS.S[        [        5      -  [        [        [        [        5      -  5      -  [        [        5      [        [        5      R                  [        5      -  -   S[        -  [        [        [        [        5      -  5      -  [        [        5      R                  [        5      -  -
  [	        [        [        [        5      5      [        S[        [        [        [        5      -  5      -  -
  5      /S.S[        S-  -  [        [        5      -  [        [        5      S-  -   [        [        [        5      S-  -  S[        S-  -  -
  [        [        5      R                  [        5      -  -   [	        [        [        5      [        S[        -  [        S[        S	-  -  [        S
[        -  5      -  5      S-  -   5      [        -  5      /SS.[        [        [        [        5      S-  [        [        [        5      -  -
  5      -   [        [        5      R                  [        5      -  [        [        5      -
  [	        [        [        [        5      5      [        S[        [        * [        [        5      -  S-   5      -  -
  5      /SS.[        [        [        5      -   [        [        [        5      -
  [        [        5      R                  [        5      -  -
  [	        [        [        5      [        [        [        S[        [        5      S-  [        S-  -  -   5      5      -
  [        [        [        5      [        -  5      -   5      /S.[        [        [        5      R                  [        5      -  [        [        5      -
  [        [        [        [        5      [        -  5      -  -
  [	        [        [        5      S[        -  [        [        [        -  5      -  5      /S.[        S-  [        [        5      S-  -   S[        -  [        [        5      -  [        [        5      R                  [        5      -  -
  [	        [        [        5      [        [        [        [        -   -  5      * 5      [	        [        [        5      [        [        [        [        -   -  5      5      /S.[        [        5      S-  [        [        [        [        5      S-  [        S-  -
  5      -  [        [        [        5      -  -
  [        [        5      R                  [        5      -  -   [	        [        [        5      [        * [        [        * [        S[        -  -
  -  5      -  5      [	        [        [        5      [        [        [        * [        S[        -  -
  -  5      -  5      /SS.S.S.$ )Nr  r   r   Trt  r   r   r  r   r  r  )1st_homogeneous_coeff_best_011st_homogeneous_coeff_best_021st_homogeneous_coeff_best_031st_homogeneous_coeff_best_041st_homogeneous_coeff_best_051st_homogeneous_coeff_best_061st_homogeneous_coeff_best_071st_homogeneous_coeff_best_08r~  )r?   r<   r   r   r
   r   r   r   r   r   r    rX   rW   rT   r   r     s    1aD
 daAaDFmac)4!a=881Q4#b'(A2c2#'l?";;<= & !fS1Q4[ 1Q4!		!#44qs3q1v;qtyyQR|7SS3qt9b1S1Q4[=012& 1fQqTkAaD!G#q1qy1QT6'91Q499Q<&GG1Q4QrTHR1WSBZ-?$@$BBCAEFG & 4!a!AaD&())1Q499Q<7!A$>3qt9b1T1"QqT'A+%6#6678& !A$h!ad(AaDIIaL003q62DQqT1WQT\)9$: ;;d1Q46lJKL& !		!nqt#aAaDFm31Q41T"Q$Z()& dQqT1Wnqs1Q4x!		!441Q4$q"q&z**+R!d1b1f:6F-GH& dAg4!a!Q$//!AaD&8!A$))A,FF1Q4"T1"a!B$h-0012adBtQBAbDM?R<R3ST!&W04 4rW   c                  p   [         [        -   [        -   [        -   [        -   [
        -   [        -   [        -   [        -   [        -   [        -   [        -   [        -   [        -   [        -   [        -   [         -   ["        -   [$        -   [&        -   [(        -   [*        -   [,        -   [.        -   [0        -   [2        -   n U $ rs   )rV  r_  rg  r9  rD  r  r>  rG  r  rJ  r#  r&  rN  r*  rA  r  r  r   r   r   r   r   r   r   r   r   )rn   s    rT   ri   ri   :  s	   :23() %% $	$
 (( "" %% $$ (	( .
. ?? $$ $$ // 77  ,!," 1#1$ =%=& ,',( $)$* *+*, @-@. 5/50 C1C2 .3.L6 rW   )F)__doc__sympy.core.functionr   r   sympy.core.mulr   sympy.core.numbersr   r   r   r	   sympy.core.relationalr
   r   sympy.core.singletonr   sympy.core.symbolr   r   $sympy.functions.elementary.complexesr   r   &sympy.functions.elementary.exponentialr   r   r   %sympy.functions.elementary.hyperbolicr   r   r   r   (sympy.functions.elementary.miscellaneousr   r   $sympy.functions.elementary.piecewiser   (sympy.functions.elementary.trigonometricr   r   r   r   r   r    r!   r  r"   r#   sympy.functions.special.hyperr$   sympy.integrals.integralsr%   r&   sympy.polys.rootoftoolsr'   
sympy.corer(   r)   sympy.functionsr*   r+   r,   r-   r.   sympy.integrals.rischr/   sympy.solvers.oder0   r1   sympy.solvers.ode.oder2   r3   sympy.solvers.ode.singler4   r5   r6   r7   r8   sympy.solvers.ode.subscheckr9   sympy.testing.pytestr:   r;   r   r<   r=   r   r>   r?   r@   r   r   r  r  r  r  r  r  r  r  r   rX  rY  r   r   r   r   r   r   rY   rc   rp   r}   r   r^   rk   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/  r5  r7  r:  r<  r?  rB  rE  rH  rK  rQ  rZ  rb  rh  rV  r_  rg  rD  r>  rA  rG  r9  rJ  rN  r  r#  r&  r*  r  r  r  r   r   r   r   r   r   r   r   r   ri   rX   rW   rT   <module>r^     s  
< 3  3 3 * " . 9 G G K K A : [ [ [ > / ; * ' H H 7 2 G: : 4 -  3K
3K
3Z
3KSMSM+27+; 'BBBBC
'
1a  *".'J18M` <> 4"*J@ G G [ [
 R R f f< 6 6 > > R R C C- O OQ > > : : ] ]I 
Q 
Q J J 6 6A T T e e J J Q Q	@ 6 6 7 7
 K K4 A A67: 6 6>E ; ; 7 7t ) )X # #L  2   H HX   V Vt ' 'T 0 0f T Tn Q Qj D DN p pf ] ]@ e eP A AH  @ / /d k k\ s sl  $ y yx	 & &P 
 
 5 5prW   