1 /* Filename recursiv.mac
3 ***************************************************************
6 * <functionality description> *
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 *
13 ***************************************************************
18 (d12) This program uses recursive functions to find
21 the transition curves in Mathieu's equation. To call it,
31 tc():=(input(),sign:1,find(),if n > 0 then (sign:-1,find()))$
32 input():=(n:read("enter transition curve number n"),
33 m:read("enter degree of truncation"))$
34 find():=(delta:n^2/4,for i thru m do delta:delta+d(i)*e^i,
35 print("delta=",delta),print(" "))$
36 a(j,k):=if j < 0 or k < 0 then 0
37 else (if j = 0 and k = n then 1
42 -sum(d(i)*a(j-i,0),i,1,j))
45 +a(j-1,k+2)+sign*a(j-1,2-k))
47 -sum(d(i)*a(j-i,k),i,1,j))
49 d(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$