1 /* Filename improved.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 * Reverse engineered from file newimprv.bk1 *
14 * David Billinghurst - Feb 2004 *
16 ***************************************************************
17 */ /* This program uses recursive functions to find
18 the transition curves in Mathieu's equation. To call it,
23 tc():=(input(),sign:1,find(),if n > 0 then (sign:-1,find()))$
24 input():=(n:read("enter transition curve number n"),
25 m:read("enter degree of truncation"))$
26 find():=(remarray(b,e),delta:n^2/4,for i thru m do delta:delta+d(i)*e^i,
27 print("delta=",delta),print(" "))$
29 if j < 0 or k < 0 then
31 else if j = 0 and k = n then
37 else if numberp(b[j,k]) then
40 b[j,k]:(-a(j-1,2)/2-sum(d(i)*a(j-i,0),i,1,j))/(n^2/4)
42 b[j,k]:(-(a(j-1,k-2)+a(j-1,k+2)+sign*a(j-1,2-k))/2
43 -sum(d(i)*a(j-i,k),i,1,j))/((n^2-k^2)/4)
52 e[j]:-(a(j-1,n-2)+a(j-1,n+2)+sign*a(j-1,2-n))/2