Mathematica results of the article

Böing, H., Koepf, W.: Algorithms for q-Hypergeometric Summation in Computer Algebra, 1998, J. Symbolic Computation,
to appear.

The timings were done on a Pentium PC with 200 MHz.

SetDirectory["c:/Koepf/Mathematica"]

loading Axel Riese's package

<< qZeil.m

Table 2

Gasper, Rahman [1990b] (III.18)

\(qZeil[
        qfac[a, q, k]\ qfac[a\ q^2, q^2, k]\ qfac[b, q, k]\ qfac[c, q, k]\ *

          \ \ \ \ \ \ qfac[d, q, k]\ qfac[e, q, k]\ 
          qfac[q^\((\(-n\))\), q, k]\ 
          \((a^2\ q^\((2 + n)\)/\((b\ c\ d\ e)\))\)^k\ /
\ \ \ \ \ 
            \((qfac[a, q^2, k]\ qfac[a/b\ q, q, k]\ qfac[a/c\ q, q, k]\ 
                qfac[a/d\ q, q, k]\ *
\ \ \ \ \ \ qfac[a/e\ q, q, k]\ 
                qfac[a\ q^\((n + 1)\), q, k]\ qfac[q, q, k])\), 

        \ \ \ \ \ \ {k, \ \(-Infinity\), Infinity}, \ n, \ 2]\  // \ Timing
      \)

\(qZeil[
        qfac[a/\((b\ c)\)\ q, q, k]\ qfac[d, q, k]\ qfac[e, q, k]\ 
          qfac[q^\((\(-n\))\), q, k]\ *
\ \ \ \ \ \ qfac[a\ q, q, n]\ 
          qfac[a/\((d\ e)\)\ q, q, n]\ 
          q^k\ /
\ \ \ \ \ 
            \((qfac[a/b\ q, q, k]\ qfac[a/c\ q, q, k]\ 
                qfac[d\ e/a\ q^\((\(-n\))\), q, k]\ *
\ \ \ \ \ \ 
                qfac[q, q, k]\ qfac[a/d\ q, q, n]\ qfac[a/e\ q, q, n])\), 

        \ \ \ \ \ \ {k, \ \(-Infinity\), Infinity}, \ n, \ 2]\  // \ Timing
      \)

Gasper, Rahman [1990b] (III.25)

\(c\  = \ a^2\ q\ /\ \((b\ d\ lam)\); 



    \(qZeil[qfac[a, q, k]\ qfac[b, q, k]\ qfac[c, q, k]\ qfac[d, q, k]\ 
            qfac[q^\((\(-n\))\), q, k]\ *
\ \ \ \ \ \ 
            q^k\ /
\ \ \ \ \ 
              \((qfac[a/b\ q, q, k]\ qfac[a/c\ q, q, k]\ qfac[a/d\ q, q, k]\ *
                  
\ \ \ \ \ \ qfac[a^2/lam^2\ q^\((\(-n\))\), q, k]\ 
                  qfac[q, q, k])\), 

          \ \ \ \ \ \ {k, \ \(-Infinity\), \ Infinity}, \ n, \ 3];\)\  // \ 
      Timing\)

\(\(qZeil[
          qfac[lam*q/a, q, n]*
            \(qfac[lam^2*q/a, q, n]/qfac[lam*q, q, n]\)/
              qfac[lam^2*q/a^2, q, n]*qfac[lam, q, k]\ 
            qfac[lam\ q^2, q^2, k]\ qfac[b\ lam/a, q, k]\ *
\ \ \ \ \ \ 
            qfac[c\ lam/a, q, k]\ qfac[d\ lam/a, q, k]\ qfac[a, q, 2  k]\ *

            \ \ \ \ \ \ qfac[lam^2/a\ q^\((n + 1)\), q, k]\ 
            qfac[q^\((\(-n\))\), q, k]\ 
            q^k\ /
\ \ \ \ \ 
              \((qfac[lam, q^2, k]\ qfac[a/b\ q, q, k]\ qfac[a/c\ q, q, k]\ 
                  qfac[a/d\ q, q, k]\ *
\ \ \ \ \ \ 
                  qfac[lam^2/a\ q, q, 2  k]\ 
                  qfac[a/lam\ q^\((\(-n\))\), q, k]\ *
\ \ \ \ \ \ 
                  qfac[lam\ q^\((n + 1)\), q, k]\ qfac[q, q, k])\), 

          \ \ \ \ \ \ {k, \ \(-Infinity\), \ Infinity}, \ n, \ 3];\)\  // \ 
      Timing\)

Gasper, Rahman [1990b] (III.28)

\(c\  = \ a^2\ q\ /\ \((b\ d\ lam)\); 



    \(qZeil[qfac[a, q, k]\ qfac[a\ q^2, q^2, k]\ qfac[b, q, k]\ 
            qfac[c, q, k]\ *
\ \ \ \ \ \ qfac[d, q, k]\ qfac[e, q, k]\ 
            qfac[f, q, k]\ qfac[lam\ a/\((e\ f)\)\ q^\((n + 1)\), q, k]\ *

            \ \ \ \ \ \ qfac[q^\((\(-n\))\), q, k]\ 
            q^k\ /
\ \ \ \ \ 
              \((qfac[a, q^2, k]\ qfac[a/b\ q, q, k]\ qfac[a/c\ q, q, k]\ 
                  qfac[a/d\ q, q, k]\ *
\ \ \ \ \ \ qfac[a/e\ q, q, k]\ 
                  qfac[a/f\ q, q, k]\ qfac[e\ f/lam\ q^\((\(-n\))\), q, k]\ *
                  
\ \ \ \ \ \ qfac[a\ q^\((n + 1)\), q, k]\ qfac[q, q, k])
                \), 
\ \ \ \ \ \ {k, \ \(-Infinity\), \ Infinity}, \ n, \ 2];
        \)\  // \ Timing\)

\(\(qZeil[
          qfac[lam, q, k]\ qfac[lam\ q^2, q^2, k]\ qfac[b\ lam/a, q, k]\ *

            \ \ \ \ \ \ qfac[c\ lam/a, q, k]\ qfac[d\ lam/a, q, k]\ 
            qfac[e, q, k]\ qfac[f, q, k]\ *
\ \ \ \ \ \ 
            qfac[lam\ a/\((e\ f)\)\ q^\((n + 1)\), q, k]\ 
            qfac[q^\((\(-n\))\), q, k]\ q^k\ *
\ \ \ \ \ \ qfac[a\ q, q, n]\ 
            qfac[a/\((e\ f)\)\ q, q, n]\ qfac[lam/e\ q, q, n]\ *
\ \ \ \ \ \ 
            qfac[lam/f\ q, q, n]\ /
\ \ \ \ \ 
              \((qfac[lam, q^2, k]\ qfac[a/b\ q, q, k]\ qfac[a/c\ q, q, k]\ 
                  qfac[a/d\ q, q, k]\ *
\ \ \ \ \ \ qfac[lam/e\ q, q, k]\ 
                  qfac[lam/f\ q, q, k]\ qfac[e\ f/a\ q^\((\(-n\))\), q, k]\ *
                  
\ \ \ \ \ \ qfac[lam\ q^\((n + 1)\), q, k]\ 
                  qfac[q, q, k]\ qfac[a/e\ q, q, n]\ *
\ \ \ \ \ \ 
                  qfac[a/f\ q, q, n]\ qfac[lam/\((e\ f)\)\ q, q, n]\ 
                  qfac[lam\ q, q, n])\), 

          \ \ \ \ \ \ {k, \ \(-Infinity\), \ Infinity}, \ n, \ 2];\)\  // \ 
      Timing\)

Al-Salam-Chihara polynomials

qZeil[
      qfac[a b, q, n]/a^n qfac[q^(-n), q, k] 
        qfac[a Exp[I theta], q, k] 
        qfac[a Exp[-I theta], q, k]/
          (qfac[a*b, q, k]*qfac[0, q, k]*qfac[q, q, k])*q^k, {k, 
        -Infinity, Infinity}, n, 2]

result = 
      qZeil[qfac[a b, q, n]/a^n qfac[q^(-n), q, k] 
          qfac[a y, q, k] 
          qfac[a /y, q, k]/(qfac[a*b, q, k]*qfac[0, q, k]*qfac[q, q, k])*
          q^k, {k, -Infinity, Infinity}, n, 2]

RE1 = Simplify[result /. y -> E^(I theta)]

result = 
      qZeil[qfac[b/y, q, n]*y^n qfac[q^(-n), q, k] 
          qfac[a y, q, k]/(qfac[q^(1 - n)/b y, q, k]*qfac[q, q, k])*
          (q/y/b)^k, {k, -Infinity, Infinity}, n, 2]

RE2 = Simplify[result /. y -> E^(I theta)]

loading Marko Petkovsek's package

<< qHyper.m

q-Dixon recurrence equation

\(\(rec = \ 
      \((\(-N^2\) + q)\)*\((N + 1)\)*\((N - 1)\)*q^3*S[N] + 

        \((N^4*q^\((2 + c + b)\) + N^4*q^\((c + 1 + b)\) + 
              N^4*q^\((b + c)\) - N^3*q^\((2 + b)\) + N^2*q^\((2 + b)\) + 

              N^2*q^\((3 + b)\) - N^2*q^\((2 + c + b)\) - 
              N*q^\((4 + c + b)\) - N*q^\((3 + b)\) - N*q^\((3 + c + b)\) - 

              q*N^3 - N^3*q^2 - N^3*q^\((2 + c)\) + N^2*q^\((2 + c)\) - 
              N^2*q^3 + N^2*q^\((3 + c)\) - 
N*q^\((3 + c)\) + q^3 + q^4 + 
              q^5)\)*q*S[N/q] + 
        \((\(-N\)*q^\((b + c)\) + q)\)*
          \((N^3*q^\((c + 1 + b)\) - 
q^5 + N^3*q^\((2 + c + b)\) + 
              N*q^\((4 + c + b)\) - q^6 + N^3*q^\((b + c)\) - N^2*q^2 - q^4 + 
              N*q^\((3 + b)\) - 
N^2*q^\((3 + c)\) - N^2*q^\((3 + b)\) + 
              N*q^\((3 + c)\) - N^2*q^\((2 + b)\) + N*q^\((4 + c)\) + 
              N*q^\((4 + b)\) - 
N^2*q^\((2 + c)\))\)*S[N/q^2] + 

        \((N*q^\((b + c)\) - q^2)\)*\((N*q^\((b + c)\) - q)\)*
          \((\(-q^2\) + N*q^b)\)*\((\(-q^2\) + N*q^c)\)*S[N/q^3]
\)\)

qHyper[rec, S[N]]  //  Timing

qHyper[rec, S[N], Solutions -> All, Quadratics -> True]  //  Timing