//////////////////////////////////////////////////////////////// // // MathieuFormulaB2.q // //////////////////////////////////////////////////////////////// (Def (MathieuFormulaB2 q n) //////////////////////////////////////////////////////////////// // O(q^(2n+2)) Formula for b_2(q) // Input: // q = Symbol representing number close to 0 // n = natural // Output: // answer = Wang & Guo p628, formula for b_2(q) //////////////////////////////////////////////////////////////// (Local lambda formula series clist answer) // O(q^2) approximation for lambda (Setq lambda 4) (Loop (To i 0 (+ n -1)) (Do // O(q^(2*i+2)) approximation for lambda (Setq formula (MathieuSection6Formula5 lambda q (+ i 1))) (Setq series (Series formula [q 0] (+ (* 2 i) 3))) (Setq clist (Elt series 2)) (Setq lambda (SOutput clist [q])))) (Setq answer lambda) (Return answer) ) (Def (MathieuSection6Formula5 lambda q j) //////////////////////////////////////////////////////////////// // Wang & Guo p621(5) . // "denote the eigenvalues determined from (5) by b_{2n+2}(q) //////////////////////////////////////////////////////////////// (Local formula3 answer) (Setq formula3 (MathieuSection6Formula3 lambda 0 0 q (+ j 1) TRUE)) (Setq answer (- lambda (/ (* 2 (^ q 2)) formula3))) (Return answer) ) (Def (MathieuSection6Formula3 lambda nu k q j OPTIONAL flag) //////////////////////////////////////////////////////////////// // Wang & Guo p621(3) . // Input: // j = positive integer indicating how many division // bars of the continued fraction to admit // flag = FALSE, we are computing a_{nu}(q) // TRUE, we are computing b_{nu}(q) // Output: // answer = RHS of (3) after isolating lambda on the LHS of (3) // IOW, (nu+2k)^2+fraction1+fraction2 //////////////////////////////////////////////////////////////// (Local fract1 fract2 answer) (Setq fract1 (MathieuSection6Formula3Fraction1 lambda nu k q j)) (Setq fract2 (MathieuSection6Formula3Fraction2 lambda nu k q j flag)) (Setq answer (+ (^ (+ nu (* 2 k)) 2) fract1 fract2)) (Return answer) ) (Def (MathieuSection6Formula3Fraction1 lambda nu k q j) //////////////////////////////////////////////////////////////// // First continued fraction in Wang & Guo p621(3) . //////////////////////////////////////////////////////////////// (Local qsquare answer) (Setq qsquare (^ q 2)) (Setq answer 0) (Loop (DownTo i j 1) (Do (Setq answer (/ qsquare (- lambda (^ (+ nu (* 2 k) (* 2 i)) 2) answer))))) (Return answer) ) (Def (MathieuSection6Formula3Fraction2 lambda nu k q j OPTIONAL flag) //////////////////////////////////////////////////////////////// // Input: // flag = FALSE, we are computing a_{nu}(q) // TRUE, we are computing b_{nu}(q) // Output: // answer = Wang & Guo p621(3) (mu=nu+2*k not an even integer) // Wang & Guo p622(6) (mu even integer, computing a_{2n}(q)) // Wang & Guo p622(7) (mu even integer, computing b_{2n+2}(q)) // Wang & Guo p623(11) (mu even integer, computing a_{2n+1}(q)) // Wang & Guo p623(12) (mu even integer, computing b_{2n+1}(q)) // Second continued fraction in Wang & Guo p621(3) . // NOTE: There are four q's on Wang & Guo p623 which should have // been 9's. Change "q-lambda" and "lambda-q" to "9-lambda" and // "lambda-9" in (8), (9), (11), and (12) . // * Additionally, the "lambda-1-q" in (12), which claims to derive // from (9) should be "lambda-1+q" . //////////////////////////////////////////////////////////////// (Local qsquare mu n answer) (When (IsNull flag) (Setq flag FALSE)) (Setq qsquare (^ q 2)) (Setq mu (+ nu (* 2 k))) (Setq answer 0) (Cond ((IsEven mu) (Cond ((Not flag) // Wang & Guo p622(6) formula for a_{2n}(q) (Setq n (* 1/2 mu)) (When (And (>= j n) (>= n 1)) (Setq answer (/ (* 2 qsquare) lambda)) (Setq j (+ n -1)))) (TRUE // Wang & Guo p622(7) formula for b_{2n+2}(q) (Setq n (+ (* 1/2 mu) -1)) (When (And (>= j n) (>= n 1)) (Setq answer (/ qsquare (+ lambda -4))) (Setq j (+ n -1)))))) ((IsOdd mu) (Cond ((Not flag) // Wang & Guo p623(11) formula for a_{2n+1}(q) (Setq n (* 1/2 (+ mu -1))) (When (And (>= j n) (>= n 1)) (Setq answer (/ qsquare (- lambda 1 q))) (Setq j (+ n -1)))) (TRUE // Wang & Guo p623(12) formula for b_{2n+1}(q) (Setq n (* 1/2 (+ mu -1))) (When (And (>= j n) (>= n 1)) (Setq answer (/ qsquare (+ lambda -1 q))) (Setq j (+ n -1))))))) (Loop (DownTo i j 1) (Do (Setq answer (/ qsquare (- lambda (^ (+ mu (* -2 i)) 2) answer))))) (Return answer) )