1/* Filename recursiv.mac 2 3 *************************************************************** 4 * * 5 * <package name> * 6 * <functionality description> * 7 * * 8 * from: Computer Algebra in Applied Math. * 9 * by Rand (Pitman,1984) * 10 * Programmed by Richard Rand * 11 * These files are released to the public domain * 12 * * 13 *************************************************************** 14*/ 15 16 17/* 18(d12) This program uses recursive functions to find 19 20 21the transition curves in Mathieu's equation. To call it, 22 23 24type: 25 26 27 TC() 28 29*/ 30 31tc():=(input(),sign:1,find(),if n > 0 then (sign:-1,find()))$ 32input():=(n:read("enter transition curve number n"), 33 m:read("enter degree of truncation"))$ 34find():=(delta:n^2/4,for i thru m do delta:delta+d(i)*e^i, 35 print("delta=",delta),print(" "))$ 36a(j,k):=if j < 0 or k < 0 then 0 37 else (if j = 0 and k = n then 1 38 else (if j = 0 then 0 39 else (if k = n then 0 40 else (if k = 0 41 then (-a(j-1,2)/2 42 -sum(d(i)*a(j-i,0),i,1,j)) 43 /(n^2/4) 44 else (-(a(j-1,k-2) 45 +a(j-1,k+2)+sign*a(j-1,2-k)) 46 /2 47 -sum(d(i)*a(j-i,k),i,1,j)) 48 /((n^2-k^2)/4)))))$ 49d(j):=if n = 0 then -a(j-1,2)/2 50 else -(a(j-1,n-2)+a(j-1,n+2)+sign*a(j-1,2-n))/2$ 51