/* (d12) This program uses recursive functions to find the transition curves in Mathieu's equation. To call it, type: TC() */ tc():=(input(),sign:1,find(),IF n > 0 THEN (sign:-1,find()))$ input():=(n:read("ENTER TRANSITION CURVE NUMBER N"), m:read("ENTER DEGREE OF TRUNCATION"))$ find():=(delta:n^2/4,for i thru m do delta:delta+d(i)*e^i, print("delta=",delta),print(" "))$ a(j,k):=IF j < 0 OR k < 0 THEN 0 ELSE (IF j = 0 AND k = n THEN 1 ELSE (IF j = 0 THEN 0 ELSE (IF k = n THEN 0 ELSE (IF k = 0 THEN (-a(j-1,2)/2 -sum(d(i)*a(j-i,0),i,1,j)) /(n^2/4) ELSE (-(a(j-1,k-2) +a(j-1,k+2)+sign*a(j-1,2-k)) /2 -sum(d(i)*a(j-i,k),i,1,j)) /((n^2-k^2)/4)))))$ d(j):=IF n = 0 THEN -a(j-1,2)/2 ELSE -(a(j-1,n-2)+a(j-1,n+2)+sign*a(j-1,2-n))/2$