Teaching differential equations with Maxima



"Nikolaos I. Ioakimidis" <ioakimidis@otenet.gr> writes:

> Yet, wishing to have further computational power from Maxima, I 
> would be extremely thankful to you if you could bring to my attention
> any further Maxima command or package directly concerning
> differential equations (mainly) and Laplace transforms.

The following ftp directory seems to contain very interesting stuff

ftp://ftp.mines.colorado.edu/pub/papers/math_cs_dept/software 

In particular, the following sub-directories contain Macsyma packages:

ftp://ftp.mines.colorado.edu/pub/papers/math_cs_dept/software/symmetry

ftp://ftp.mines.colorado.edu/pub/papers/math_cs_dept/software/diffsym

ftp://ftp.mines.colorado.edu/pub/papers/math_cs_dept/software/hirota

ftp://ftp.mines.colorado.edu/pub/papers/math_cs_dept/software/painleve/macsyma

You might prefer to start by browsing

http://www.mines.edu/fs_home/whereman/

Actually, at this point I just wanted to write something like `Of
course, those packages were written for the commercial Macsyma, so
they can't be expected to work out of the box in Maxima'.  Then I
decided to run a random test.  And it did work out of the box.

You can perform such a test run like this (on a Unix-like system):

If you are in the directory containing the painleve sub-directory do

cd painleve/macsyma/single
ln -s np_sing.max painsing.max
maxima

At the maxima prompt

file_search_maxima:cons("./###.{max,com,dat}",file_search_maxima)$
batch("p_asg.com");

The result of the run will then be appended to p_asg.out, so that you
can compare it with what the authors obtained.

Here is the result of the test run I did 


batching /home/wolfgang/ftp.mines.colorado.edu/pub/papers/math_cs_dept/software/painleve/macsyma/single/np_exec.max
(C15) exec_painleve(eq, ALPHA, do_resonances, max_resonance, do_simplification)
You are using the simplification suggested by KRUSKAL 
You selected G(T,X,...) = X - H(T,...) 
---------------------------------------------------------------- 
						 2		      2	   3
PAINLEVE ANALYSIS OF EQUATION,  2 f f    - 2 (f )  + 2 f f    - 2 (f )  - f
				     x x       x	  t t	    t

								      + f  = 0 
---------------------------------------------------------------- 
		  ALPHA
  SUBSTITUTE  u  g       FOR f IN ORIGINAL EQUATION. 
	       0
  MINIMUM POWERS OF g ARE  [2 ALPHA - 2, 3 ALPHA, ALPHA] 
		       2 ALPHA - 2	     2		  2
    * COEFFICIENT OF  g		    IS  - 2 u  ALPHA ((h )  + 1) 
					     0	        t
     NOTE : THIS TERM VANISHES FOR  ALPHA = 0 , 
     VERIFY IF  ALPHA = 0  LEADS TO DOMINANT BEHAVIOR, 
     IF IT DOES THEN RUN THE PROGRAM AGAIN WITH THIS USER  
     SUPPLIED VALUE OF ALPHA. 
     HENCE, PUT BETA =  0 . 
		       3 ALPHA	       3
    * COEFFICIENT OF  g	        IS  - u  
				       0
		       ALPHA
    * COEFFICIENT OF  g	      IS  u  
				   0
---------------------------------------------------------------- 
  FOR EXPONENTS ( 2 ALPHA - 2 ) AND ( 3 ALPHA ) OF g, 
    WITH alpha =  - 2 , POWER OF g is  - 6  ----> SOLVE FOR  u  
							      0
	      2	       2	   1
       TERM  u  (4 (h )  - u  + 4) --  IS DOMINANT 
	      0	     t	    0	    6
				   g
       IN EQUATION. 
---------------------------------------------------------------- 
		      2
1 )  WITH  u  = 4 (h )  + 4  ----> FIND RESONANCES 
	    0	    t
		    ALPHA	  r + ALPHA
    SUBSTITUTE  u  g	   +  u  g	     FOR f IN EQUATION 
		 0	       r
		     2	   2			   r - 6
       TERM ( 8 ((h )  + 1)  (r - 2) (r + 1) ) u  g       IS DOMINANT 
		   t			        r
       IN EQUATION. 
       THE ONLY NON-NEGATIVE INTEGRAL ROOT IS  [r = 2] 
  
    WITH MAXIMUM RESONANCE =  2  ----> CHECK RESONANCES. 
			      2
			     ====
			     \	    k - 2
    SUBSTITUTE POWER SERIES   >	   g	  u   FOR f IN EQUATION. 
			     /		   k
			     ====
			     k = 0
		    2
    WITH u  = 4 (h )  + 4 
	  0	  t
			 1	        2     2
        * COEFFICIENT OF -- IS  16 ((h )  + 1)  (4 h    - u ) 
			  5	      t		    t t	   1
			 g
        u  = 4 h    
	 1      t t
			 1
        * COEFFICIENT OF -- IS  0 
			  4
			 g
        u  IS ARBITRARY ! 
	 2
       COMPATIBILITY CONDITION IS SATISFIED ! 
---------------------------------------------------------------- 
  FOR EXPONENTS ( 2 ALPHA - 2 ) AND ( ALPHA ) OF g, 
    WITH alpha =  2 , POWER OF g is  2  ----> SOLVE FOR  u  
							  0
			    2		   2
       TERM  - u  (4 u  (h )  + 4 u  - 1) g   IS DOMINANT 
		0     0	  t	   0
       IN EQUATION. 
---------------------------------------------------------------- 
		     1
1 )  WITH  u  = -----------  ----> FIND RESONANCES 
	    0	      2
		4 (h )  + 4
		    t
		    ALPHA	  r + ALPHA
    SUBSTITUTE  u  g	   +  u  g	     FOR f IN EQUATION 
		 0	       r
				    r + 2
       TERM ( (r - 2) (r + 1) ) u  g	   IS DOMINANT 
				 r
       IN EQUATION. 
       THE ONLY NON-NEGATIVE INTEGRAL ROOT IS  [r = 2] 
  
    WITH MAXIMUM RESONANCE =  2  ----> CHECK RESONANCES. 
			      2
			     ====
			     \	    k + 2
    SUBSTITUTE POWER SERIES   >	   g	  u   FOR f IN EQUATION. 
			     /		   k
			     ====
			     k = 0
		   1
    WITH u  = ----------- 
	  0	    2
	      4 (h )  + 4
		  t
						  4	       2
				  h    + 4 u  (h )  + 8 u  (h )  + 4 u
			  3	   t t	    1   t	 1   t	      1
        * COEFFICIENT OF g  IS  - ------------------------------------- 
						    2	  2
					     4 ((h )  + 1)
						  t
		    h
		     t t
        u  = - -------------- 
	 1	      2	    2
	       4 ((h )  + 1)
		    t
			  4
        * COEFFICIENT OF g  IS  0 
        u  IS ARBITRARY ! 
	 2
       COMPATIBILITY CONDITION IS SATISFIED ! 
---------------------------------------------------------------- 
  FOR EXPONENTS ( 3 ALPHA ) AND ( ALPHA ) OF g, 
    POWER OF g IS NOT MINIMAL 

						-- SKIP THIS VALUE OF ALPHA. 
---------------------------------------------------------------- 
(C16) 				   OUTPUT()
---------------------------------------------------------------- 
AT THE END OF THE COMPUTATIONS THE FOLLOWING ARE AVAILABLE: 
* U VALUE(S) 
  (type uval[j,k,l] where 1 <= j <=  2 and 0 <= k <=  [2, 2] 
  and 1 <= l <=  [1, 1] ) 
  j stands for j_th alpha,k stands for u[k],l stands for 
  l_th solution set for u[0]  
* ALPHA VALUE(S) 
  (type alpha[j] where 1 <= j <=  2 ) 
  j stands for j_th alpha 
* COMPATIBILITY CONDITION(S) 
  (type compcond[j,k] where 1 <= j <=  2 and 1 <= k <=  [1, 1] ) 
  j stands for j_th alpha,k stands for k_th solution set for u[0] 
* RESONANCE(S) 
  (type res[j,k] where 1 <= j <=  2 and 1 <= k <=  [1, 1] ) 
  j stands for j_th alpha,k stands for k_th solution set for u[0] 
---------------------------------------------------------------- 
TO SEE THIS MENU AGAIN JUST TYPE < output() > 
---------------------------------------------------------------- 
(C17) 				  CLOSEFILE()
;; Dribble of #<IO TERMINAL-STREAM> finished 2003-02-08 04:42:16


Wolfgang