@@ -1,1528 +1,1528 @@ -REDUCE 3.6, 15-Jul-95, patched to 6 Mar 96 ... - - -% test file for ztrans package -% -operator f; - - -operator g; - - -operator h; - - - -% Examples for Z transformation -ztrans(1,n,z); - - - z -------- - z - 1 - -ztrans(a,n,z); - - - a*z -------- - z - 1 - -ztrans((-1)^n,n,z); - - - z -------- - z + 1 - -ztrans(n,n,z); - - - z --------------- - 2 - z - 2*z + 1 - -ztrans(n^2,n,z); - - - z*(z + 1) ---------------------- - 3 2 - z - 3*z + 3*z - 1 - -ztrans(n^k,n,z); - - - k -ztrans(n ,n,z) - -% should be output=input -ztrans((-1)^n*n^2,n,z); - - - z*( - z + 1) ---------------------- - 3 2 - z + 3*z + 3*z + 1 - -ztrans(binomial(n,m),n,z); - - - z ------------------- - m - (z - 1) *(z - 1) - -ztrans((-1)^n*binomial(n,m),n,z); - - - z ---------------------- - m - ( - z - 1) *(z + 1) - -ztrans(binomial(n+k,m),n,z); - - - k - z *z ------------------- - m - (z - 1) *(z - 1) - -ztrans(a^n,n,z); - - - - z -------- - a - z - -ztrans(a^(n-1),n,z); - - - - z ------------ - a*(a - z) - -ztrans(a^(n+k),n,z); - - - k - - a *z ---------- - a - z - -ztrans((-1)^n*a^n,n,z); - - - z -------- - a + z - -ztrans(1-a^n,n,z); - - - z*(a - 1) ------------------- - 2 - a*z - a - z + z - -ztrans(n*a^n,n,z); - - - a*z ------------------ - 2 2 - a - 2*a*z + z - -ztrans(n^3*a^n,n,z); - - - 2 2 - a*z*(a + 4*a*z + z ) -------------------------------------- - 4 3 2 2 3 4 - a - 4*a *z + 6*a *z - 4*a*z + z - -ztrans(binomial(n,m)*a^n,n,z); - - - m - - a *z ---------------------- - m - ( - a + z) *(a - z) - -ztrans(1/(n+1),n,z); - - - z -log(-------)*z - z - 1 - -ztrans(1/(n+2),n,z); - - - z -z*(log(-------)*z - 1) - z - 1 - -ztrans((-1)^(n)/(n+1),n,z); - - - z - - log(-------)*z - z + 1 - -ztrans((-1)^(n)/(n+2),n,z); - - - z -z*(log(-------)*z + 1) - z + 1 - -ztrans(a^(n-1)/(n+1),n,z); - - - - z - log(-------)*z - a - z ----------------- - 2 - a - -ztrans(a^(n+k)/(n+1),n,z); - - - k - z - a *log(-------)*z - a - z -------------------- - a - -ztrans(a^n/factorial(n),n,z); - - - a/z -e - -ztrans((n+1)*a^n/factorial(n),n,z); - - - a/z - e *(a + z) --------------- - z - -ztrans(1/factorial(n-1),n,z); - - - 1 -***** ERROR: zero divisor in sum(---------------------,n,0,infinity) - n - z *factorial(n - 1) - -% ERROR message o.k. -ztrans((-1)^n/factorial(2*n+1),n,z); - - - 1 -sqrt(z)*sin(---------) - sqrt(z) - -ztrans((-1)^n/factorial(2*n),n,z); - - - 1 -cos(---------) - sqrt(z) - -ztrans(1/factorial(2*n+1),n,z); - - - 1 -sqrt(z)*sinh(---------) - sqrt(z) - -ztrans(1/factorial(2*n-1),n,z); - - - 1 -ztrans(--------------------,n,z) - factorial(2*n - 1) - -ztrans(1/factorial(2*n+3),n,z); - - - 1 -z*(sqrt(z)*sinh(---------) - 1) - sqrt(z) - -ztrans(1/factorial(2*n),n,z); - - - 1 -cosh(---------) - sqrt(z) - -ztrans(1/factorial(2*n+2),n,z); - - - 1 -z*(cosh(---------) - 1) - sqrt(z) - -ztrans(a^n/factorial(2*n+1),n,z); - - - sqrt(a) - sqrt(z)*sinh(---------) - sqrt(z) -------------------------- - sqrt(a) - -ztrans(a^n/factorial(2*n),n,z); - - - sqrt(a) -cosh(---------) - sqrt(z) - -ztrans(e^(a*n),n,z); - - - - z --------- - a - e - z - -ztrans(e^(a*(n+k)),n,z); - - - a*k - - e *z ------------ - a - e - z - -ztrans(sinh(a*n),n,z); - - - - sinh(a)*z ----------------------- - 2 - 2*cosh(a)*z - z - 1 - -ztrans(cosh(a*n),n,z); - - - z*(cosh(a) - z) ----------------------- - 2 - 2*cosh(a)*z - z - 1 - -ztrans(sinh(a*n+p),n,z); - - - - z*(sinh(a - p) + sinh(p)*z) --------------------------------- - 2 - 2*cosh(a)*z - z - 1 - -ztrans(cosh(a*n+p),n,z); - - - z*(cosh(a - p) - cosh(p)*z) ------------------------------ - 2 - 2*cosh(a)*z - z - 1 - -ztrans(a^n*sinh(a*n),n,z); - - - - sinh(a)*a*z -------------------------- - 2 2 - 2*cosh(a)*a*z - a - z - -ztrans(a^n*cosh(a*n),n,z); - - - z*(cosh(a)*a - z) -------------------------- - 2 2 - 2*cosh(a)*a*z - a - z - -ztrans(n*sinh(a*n),n,z); - - - 2 - sinh(a)*z*(z - 1) ------------------------------------------------------------- - 2 2 3 4 2 - 4*cosh(a) *z - 4*cosh(a)*z - 4*cosh(a)*z + z + 2*z + 1 - -ztrans(n*cosh(a*n),n,z); - - - 2 - z*(cosh(a)*z + cosh(a) - 2*z) ------------------------------------------------------------- - 2 2 3 4 2 - 4*cosh(a) *z - 4*cosh(a)*z - 4*cosh(a)*z + z + 2*z + 1 - -ztrans(n^2*a^n*sinh(b*n),n,z); - - - 2 4 2 2 2 4 3 3 6 -(sinh(b)*a*z*( - 4*cosh(b) *a *z - 4*cosh(b) *a *z + 16*cosh(b)*a *z + a - - 4 2 2 4 6 4 4 4 3 5 3 - - 5*a *z - 5*a *z + z ))/(16*cosh(b) *a *z - 32*cosh(b) *a *z - - 3 3 5 2 6 2 2 4 4 - - 32*cosh(b) *a *z + 24*cosh(b) *a *z + 48*cosh(b) *a *z - - 2 2 6 7 5 3 3 5 - + 24*cosh(b) *a *z - 8*cosh(b)*a *z - 24*cosh(b)*a *z - 24*cosh(b)*a *z - - 7 8 6 2 4 4 2 6 8 - - 8*cosh(b)*a*z + a + 4*a *z + 6*a *z + 4*a *z + z ) - -ztrans(sin(b*n),n,z); - - - - sin(b)*z ---------------------- - 2 - 2*cos(b)*z - z - 1 - -ztrans(cos(b*n),n,z); - - - z*(cos(b) - z) ---------------------- - 2 - 2*cos(b)*z - z - 1 - -ztrans(sin(b*n+p),n,z); - - - - z*(sin(b - p) + sin(p)*z) ------------------------------- - 2 - 2*cos(b)*z - z - 1 - -ztrans(cos(b*n+p),n,z); - - - z*(cos(b - p) - cos(p)*z) ---------------------------- - 2 - 2*cos(b)*z - z - 1 - -ztrans(e^(a*n)*sin(b*n),n,z); - - - a - - e *sin(b)*z ---------------------------- - a 2*a 2 - 2*e *cos(b)*z - e - z - -ztrans(e^(a*n)*cos(b*n),n,z); - - - a - z*(e *cos(b) - z) ---------------------------- - a 2*a 2 - 2*e *cos(b)*z - e - z - -ztrans((-1)^n*e^(a*n)*sin(b*n),n,z); - - - a - - e *sin(b)*z ---------------------------- - a 2*a 2 - 2*e *cos(b)*z + e + z - -ztrans((-1)^n*e^(a*n)*cos(b*n),n,z); - - - a - z*(e *cos(b) + z) ---------------------------- - a 2*a 2 - 2*e *cos(b)*z + e + z - -ztrans(n*sin(b*n),n,z); - - - 2 - sin(b)*z*(z - 1) ---------------------------------------------------------- - 2 2 3 4 2 - 4*cos(b) *z - 4*cos(b)*z - 4*cos(b)*z + z + 2*z + 1 - -ztrans(n*cos(b*n),n,z); - - - 2 - z*(cos(b)*z + cos(b) - 2*z) ---------------------------------------------------------- - 2 2 3 4 2 - 4*cos(b) *z - 4*cos(b)*z - 4*cos(b)*z + z + 2*z + 1 - -ztrans(n^2*a^n*sin(b*n),n,z); - - - 2 4 2 2 2 4 3 3 6 -(sin(b)*a*z*( - 4*cos(b) *a *z - 4*cos(b) *a *z + 16*cos(b)*a *z + a - - 4 2 2 4 6 4 4 4 3 5 3 - - 5*a *z - 5*a *z + z ))/(16*cos(b) *a *z - 32*cos(b) *a *z - - 3 3 5 2 6 2 2 4 4 2 2 6 - - 32*cos(b) *a *z + 24*cos(b) *a *z + 48*cos(b) *a *z + 24*cos(b) *a *z - - 7 5 3 3 5 7 8 - - 8*cos(b)*a *z - 24*cos(b)*a *z - 24*cos(b)*a *z - 8*cos(b)*a*z + a - - 6 2 4 4 2 6 8 - + 4*a *z + 6*a *z + 4*a *z + z ) - -ztrans(cos(b*(n+1))/(n+1),n,z); - - - z -log(------------------------------)*z - 2 - sqrt( - 2*cos(b)*z + z + 1) - -ztrans(sin(b*(n+1))/(n+1),n,z); - - - sin(b) - - atan(------------)*z - cos(b) - z - -ztrans(cos(b*(n+2))/(n+2),n,z); - - - z -z*( - cos(b) + log(------------------------------)*z) - 2 - sqrt( - 2*cos(b)*z + z + 1) - -ztrans((-1)^(n)*cos(b*(n+1))/(n+1),n,z); - - - 2 3 - sqrt(2*cos(b)*z + z + 1) - - log(----------------------------)*z - sqrt(z) - -ztrans((-1)^(n)*sin(b*(n+1))/(n+1),n,z); - - - sin(b) -atan(------------)*z - cos(b) + z - -ztrans(cos(b*n)/factorial(n),n,z); - - - cos(b)/z sin(b) -e *cos(--------) - z - -ztrans(sin(b*n)/factorial(n),n,z); - - - cos(b)/z sin(b) -e *sin(--------) - z - -ztrans(a*f(n)+b*g(n)+c*h(n),n,z); - - -ztrans(f(n),n,z)*a + ztrans(g(n),n,z)*b + ztrans(h(n),n,z)*c - -ztrans(sum(f(k)*g(n-k),k,0,n),n,z); - - -ztrans(f(n),n,z)*ztrans(g(n),n,z) - -ztrans(sum(f(k),k,0,n),n,z); - - - ztrans(f(n),n,z)*z --------------------- - z - 1 - -ztrans(sum(f(k),k,-2,n),n,z); - - - 2 -(z*( - f(-1)*z + f(-1) - f(-2)*z + f(-2) + ztrans(f(n - 2),n,z) - - 2 - + ztrans(f(n - 2),n,z)*z - ztrans(f(n - 2),n,z)))/(z - 1) - -ztrans(sum(f(k),k,3,n),n,z); - - - 2 2 - - f(2) - f(1)*z - f(0)*z + ztrans(f(n),n,z)*z --------------------------------------------------- - z*(z - 1) - -ztrans(sum(f(k),k,0,n+2),n,z); - - - 2 2 -(z*( - f(1)*z + f(1) - f(0)*z + f(0) + ztrans(f(n),n,z) + ztrans(f(n),n,z)*z - - - ztrans(f(n),n,z)))/(z - 1) - -ztrans(sum(f(k),k,0,n-3),n,z); - - - 2 2 - ztrans(f(n),n,z)*z - ztrans(f(n),n,z)*z + ztrans(f(n),n,z) --------------------------------------------------------------- - 2 - z *(z - 1) - -ztrans(sum(f(k),k,-2,n+3),n,z); - - - 2 3 4 -(z*( - f(2)*z + f(2) - f(1)*z + f(1) - f(0)*z + f(0) - f(-1)*z + f(-1) - - 5 5 - - f(-2)*z + f(-2) + ztrans(f(n - 2),n,z) + ztrans(f(n - 2),n,z)*z - - - ztrans(f(n - 2),n,z)))/(z - 1) - -ztrans(sum(1/factorial(k),k,0,n),n,z); - - - 1/z - e *z --------- - z - 1 - -ztrans(sum(1/factorial(k+2),k,0,n),n,z); - - - 2 1/z - z *(e *z - z - 1) ---------------------- - z - 1 - -ztrans(n^2*sum(1/factorial(k),k,0,n),n,z); - - - 1/z 3 2 - e *(2*z + 2*z - 3*z + 1) ------------------------------- - 3 2 - z*(z - 3*z + 3*z - 1) - -ztrans(sum(n^2/factorial(k),k,0,n),n,z); - - - 1/z 3 2 - e *(2*z + 2*z - 3*z + 1) ------------------------------- - 3 2 - z*(z - 3*z + 3*z - 1) - -ztrans(sum(1/k,k,0,n),n,z); - - - 1 -***** ERROR: zero divisor in sum(------,n,0,infinity) - n - z *n - -% ERROR o.k. -ztrans(sum(1/(k+1),k,0,n),n,z); - - - z 2 - log(-------)*z - z - 1 ------------------ - z - 1 - -ztrans(sum(1/(k+3),k,0,n),n,z); - - - 2 z 2 - z *(2*log(-------)*z - 2*z - 1) - z - 1 ----------------------------------- - 2*(z - 1) - -ztrans(f(n+k),n,z); - - -ztrans(f(k + n),n,z) - -% output=input -ztrans(f(n+2),n,z); - - -z*( - f(1) - f(0)*z + ztrans(f(n),n,z)*z) - -ztrans(f(n-k),n,z); - - -ztrans(f( - k + n),n,z) - -% output=input -ztrans(f(n-3),n,z); - - -ztrans(f(n - 3),n,z) - -% output=input -ztrans(a^n*f(n),n,z); - - - z -ztrans(f(n),n,---) - a - -ztrans(n*f(n),n,z); - - - - df(ztrans(f(n),n,z),z)*z - -ztrans(1/a^n,n,z); - - - a*z ---------- - a*z - 1 - -ztrans(1/a^(n+1),n,z); - - - z ---------- - a*z - 1 - -ztrans(1/a^(n-1),n,z); - - - 2 - a *z ---------- - a*z - 1 - -ztrans(2*n+n^2-3/4*n^3,n,x); - - - 2 - x*(9*x - 28*x + 1) --------------------------------- - 4 3 2 - 4*(x - 4*x + 6*x - 4*x + 1) - -ztrans(n^2*cos(n*x),n,z); - - - 3 4 3 2 6 4 2 -(z*( - 4*cos(x) *z + 4*cos(x) *z + cos(x)*z + 9*cos(x)*z - 9*cos(x)*z - - 5 4 4 3 5 3 3 - - cos(x) - 4*z + 4*z))/(16*cos(x) *z - 32*cos(x) *z - 32*cos(x) *z - - 2 6 2 4 2 2 7 5 - + 24*cos(x) *z + 48*cos(x) *z + 24*cos(x) *z - 8*cos(x)*z - 24*cos(x)*z - - 3 8 6 4 2 - - 24*cos(x)*z - 8*cos(x)*z + z + 4*z + 6*z + 4*z + 1) - -ztrans((1+n)^2*f(n),n,z); - - - 2 -df(ztrans(f(n),n,z),z,2)*z - df(ztrans(f(n),n,z),z)*z + ztrans(f(n),n,z) - -ztrans(n^2*f(n),n,z); - - -z*(df(ztrans(f(n),n,z),z,2)*z + df(ztrans(f(n),n,z),z)) - -ztrans(n/factorial(n),n,z); - - - 1/z - e ------- - z - -ztrans(n^2/factorial(n),n,z); - - - 1/z - e *(z + 1) --------------- - 2 - z - -ztrans(a^n/factorial(n),n,z); - - - a/z -e - -ztrans(1/(a^n*factorial(n)),n,z); - - - 1/(a*z) -e - -ztrans(sum(f(k)*g(n-k),k,0,n),n,z); - - -ztrans(f(n),n,z)*ztrans(g(n),n,z) - -ztrans(sum(f(k),k,0,n-1),n,z); - - - ztrans(f(n),n,z) ------------------- - z - 1 - -ztrans(sum(f(k),k,0,n),n,z); - - - ztrans(f(n),n,z)*z --------------------- - z - 1 - -ztrans(sum(1/factorial(k),k,0,n),n,z); - - - 1/z - e *z --------- - z - 1 - -ztrans(sum(k/factorial(k),k,0,n),n,z); - - - 1/z - e -------- - z - 1 - -ztrans(sum(a^k*k^2/factorial(k),k,0,n),n,z); - - - a/z - e *a*(a + z) ----------------- - z*(z - 1) - -ztrans(a^n*f(n),n,z); - - - z -ztrans(f(n),n,---) - a - -ztrans(binomial(n,k),n,z); - - - z ------------------- - k - (z - 1) *(z - 1) - -ztrans(1/(n+1),n,z); - - - z -log(-------)*z - z - 1 - -ztrans(n/factorial(2*n+1),n,z); - - - 1 1 - cosh(---------) - sqrt(z)*sinh(---------) - sqrt(z) sqrt(z) -------------------------------------------- - 2 - -ztrans(a^n*sin(n*x+y),n,z); - - - - z*(sin(x - y)*a + sin(y)*z) --------------------------------- - 2 2 - 2*cos(x)*a*z - a - z - -ztrans(n^3*sin(n*x+y),n,z); - - - 3 4 2 4 2 2 -(z*(8*cos(x) *sin(y)*z + 4*cos(x) *sin(x - y)*z - 4*cos(x) *sin(x - y)*z - - 2 5 2 3 5 - + 16*cos(x) *sin(y)*z - 16*cos(x) *sin(y)*z + 8*cos(x)*sin(x - y)*z - - 6 4 - - 8*cos(x)*sin(x - y)*z + 2*cos(x)*sin(y)*z - 36*cos(x)*sin(y)*z - - 2 6 4 2 - + 10*cos(x)*sin(y)*z + sin(x - y)*z - 23*sin(x - y)*z + 23*sin(x - y)*z - - 5 3 4 4 - - sin(x - y) - 8*sin(y)*z + 32*sin(y)*z - 8*sin(y)*z))/(16*cos(x) *z - - 3 5 3 3 2 6 2 4 - - 32*cos(x) *z - 32*cos(x) *z + 24*cos(x) *z + 48*cos(x) *z - - 2 2 7 5 3 - + 24*cos(x) *z - 8*cos(x)*z - 24*cos(x)*z - 24*cos(x)*z - 8*cos(x)*z - - 8 6 4 2 - + z + 4*z + 6*z + 4*z + 1) - -ztrans((n+1)/factorial(n),n,z); - - - 1/z - e *(z + 1) --------------- - z - -ztrans(factorial(n)/(factorial(k)*factorial(n-k)),n,z); - - - z ------------------- - k - (z - 1) *(z - 1) - - -% Examples for inverse Z transformation -invztrans(z/(z-1),z,n); - - -1 - -invztrans(z/(z+1),z,n); - - - n -( - 1) - -invztrans(z/(z-1)^2,z,n); - - -n - -invztrans(z*(z+1)/(z-1)^3,z,n); - - - 2 -n - -invztrans(z/(z-1)^m,z,n); - - -binomial(n,m - 1) - -% invztrans(z/(z-1)^(m+1),z,n); -% not yet supported -invztrans(z/(z-1)^4,z,n); - - - 2 - n*(n - 3*n + 2) ------------------- - 6 - -invztrans((-1)^m*z/(z+1)^m,z,n); - - - m - ( - 1) *z -invztrans(-----------,z,n) - m - (z + 1) - -% not yet supported -invztrans(z/(z+1)^4,z,n); - - - n 2 - ( - 1) *n*( - n + 3*n - 2) ------------------------------ - 6 - -% invztrans(z^(k+1)/(z-1)^(m+1),z,n); -% not yet supported -invztrans(z^4/(z-1)^m,z,n); - - -binomial(n + 3,m - 1) - -% invztrans(z^4/(z-1)^(m+1),z,n); -% not yet supported -% invztrans(z^4/(z-1)^m,z,n); -% not yet supported -% invztrans(z^(k+1)/(z-1)^5,z,n); -% not yet supported -invztrans(z^3/(z-a)^4,z,n); - - - n 2 - a *n*(n + 3*n + 2) ---------------------- - 6*a - -invztrans(z/(z-a),z,n); - - - n -a - -invztrans(z/(z+a),z,n); - - - n -( - a) - -invztrans(z*(1-a)/((z-1)*(z-a)),z,n); - - - n - - a + 1 - -invztrans(z*a/(z-a)^2,z,n); - - - n -a *n - -invztrans(z*3/(z-3)^2,z,n); - - - n -3 *n - -% invztrans(a^m*z/(z-a)^(m+1),z,n); -% not yet supported -% invztrans(a^m*z/(z-a)^m,z,n); -% not yet supported -% invztrans(4^m*z/(z-4)^(m+1),z,n); -% not yet supported -invztrans(a^3*z/(z-a)^5,z,n); - - - n 3 2 - a *n*(n - 6*n + 11*n - 6) ------------------------------ - 24*a - -invztrans(z*log(z/(z-1)),z,n); - - - 1 -------- - n + 1 - -invztrans(z*log(1+1/z),z,n); - - - n - ( - 1) ---------- - n + 1 - -invztrans(z*log(z/(z-a)),z,n); - - - n - a *a -------- - n + 1 - -invztrans(e^(a/z),z,n); - - - n - a --------------- - factorial(n) - -invztrans(e^(1/(a*z)),z,n); - - - 1 ------------------ - n - a *factorial(n) - -invztrans((1+a/z)*e^(a/z),z,n); - - - n - a *(n + 1) --------------- - factorial(n) - -invztrans(e^(a/z)*(a+z)/z,z,n); - - - n - a *(n + 1) --------------- - factorial(n) - -invztrans(sqrt(z)*sin(1/sqrt(z)),z,n); - - - n - ( - 1) --------------------- - factorial(2*n + 1) - -invztrans(cos(1/sqrt(z)),z,n); - - - n - ( - 1) ----------------- - factorial(2*n) - -invztrans(sqrt(z)*sinh(1/sqrt(z)),z,n); - - - 1 --------------------- - factorial(2*n + 1) - -invztrans(cosh(1/sqrt(z)),z,n); - - - 1 ----------------- - factorial(2*n) - -invztrans(sqrt(z/a)*sinh(sqrt(a/z)),z,n); - - - n - a --------------------- - factorial(2*n + 1) - -invztrans(cosh(sqrt(a/z)),z,n); - - - n - a ----------------- - factorial(2*n) - -invztrans(z/(z-e^a),z,n); - - - a*n -e - -invztrans(z*sinh(a)/(z^2-2*z*cosh(a)+1),z,n); - - -sinh(a*n) - -invztrans(z*(z-cosh(a))/(z^2-2*z*cosh(a)+1),z,n); - - -cosh(a*n) - -invztrans(z*(z*sinh(p)+sinh(a-p))/(z^2-2*z*cosh(a)+1),z,n); - - - cosh(a*n)*sinh(a)*sinh(p) + cosh(a)*sinh(a*n)*sinh(p) + sinh(a - p)*sinh(a*n) -------------------------------------------------------------------------------- - sinh(a) - -% trigsimp(ws); -% trigsimp(ws,combine); -invztrans(z*(z*cosh(p)-cosh(a-p))/(z^2-2*z*cosh(a)+1),z,n); - - -( - cosh(a - p)*sinh(a*n) + cosh(a*n)*cosh(p)*sinh(a) - - + cosh(a)*cosh(p)*sinh(a*n))/sinh(a) - -% trigsimp(ws); -% trigsimp(ws,combine); -invztrans(a*z*sinh(a)/(z^2-2*a*z*cosh(a)+a^2),z,n); - - - n -a *sinh(a*n) - -invztrans(z*(z-a*cosh(a))/(z^2-2*a*z*cosh(a)+a^2),z,n); - - - n -a *cosh(a*n) - -invztrans(z*(z^2-1)*sinh(a)/(z^2-2*z*cosh(a)+1)^2,z,n); - - - 2 - sinh(a*n)*sinh(a) *n ----------------------- - 2 - cosh(a) - 1 - -% trigsimp(ws); -invztrans(z*((z^2+1)*cosh(a)-2*z)/(z^2-2*z*cosh(a)+1)^2,z,n); - - -cosh(a*n)*n - -invztrans(z*sin(b)/(z^2-2*z*cos(b)+1),z,n); - - -sin(b*n) - -invztrans(z*(z-cos(b))/(z^2-2*z*cos(b)+1),z,n); - - -cos(b*n) - -invztrans(z*(z*sin(p)+sin(b-p))/(z^2-2*z*cos(b)+1),z,n); - - - cos(b*n)*sin(b)*sin(p) + cos(b)*sin(b*n)*sin(p) + sin(b - p)*sin(b*n) ------------------------------------------------------------------------ - sin(b) - -% trigsimp(ws); -% trigsimp(ws,combine); -invztrans(z*(z*cos(p)-cos(b-p))/(z^2-2*z*cos(b)+1),z,n); - - - - cos(b - p)*sin(b*n) + cos(b*n)*cos(p)*sin(b) + cos(b)*cos(p)*sin(b*n) --------------------------------------------------------------------------- - sin(b) - -% trigsimp(ws); -% trigsimp(ws,combine); -invztrans(z*e^(a)*sin(b)/(z^2-2*z*e^a*cos(b)+e^(2*a)),z,n); - - - a*n -e *sin(b*n) - -invztrans(z*(z-e^a*cos(b))/(z^2-2*z*e^a*cos(b)+e^(2*a)),z,n); - - - a*n -e *cos(b*n) - -invztrans(-z*e^a*sin(b)/(z^2+2*z*e^a*cos(b)+e^(2*a)),z,n); - - - a*n n -e *( - 1) *sin(b*n) - -invztrans(z*(z+e^a*cos(b))/(z^2+2*z*e^a*cos(b)+e^(2*a)),z,n); - - - a*n n -e *( - 1) *cos(b*n) - -invztrans(z*(z^2-1)*sin(b)/(z^2-2*z*cos(b)+1)^2,z,n); - - - 2 -(sqrt(cos(b) - 1)*sin(b)*n - - 2 n 2 n - *( - (cos(b) - sqrt(cos(b) - 1)) + (cos(b) + sqrt(cos(b) - 1)) ))/(2 - - 2 - *(cos(b) - 1)) - -% trigsimp(ws,expon); -% trigsimp(ws,trig); -invztrans(z*((z^2+1)*cos(b)-2*z)/(z^2-2*z*cos(b)+1)^2,z,n); - - - 2 n 2 n - n*((cos(b) - sqrt(cos(b) - 1)) + (cos(b) + sqrt(cos(b) - 1)) ) -------------------------------------------------------------------- - 2 - -% trigsimp(ws,expon); -% trigsimp(ws,trig); -invztrans(z*log(z/sqrt(z^2-2*z*cos(b)+1)),z,n); - - - cos(b*n + b) --------------- - n + 1 - -invztrans(z*atan(sin(b)/(z-cos(b))),z,n); - - - sin(b*n + b) --------------- - n + 1 - -invztrans(z*log(sqrt(z^2+2*z*cos(b)+1)/z),z,n); - - - n - ( - 1) *cos(b*n + b) ----------------------- - n + 1 - -invztrans(z*atan(sin(b)/(z+cos(b))),z,n); - - - n - ( - 1) *sin(b*n + b) ----------------------- - n + 1 - -invztrans(cos(sin(b)/z)*e^(cos(b)/z),z,n); - - - cos(b*n) --------------- - factorial(n) - -invztrans(sin(sin(b)/z)*e^(cos(b)/z),z,n); - - - sin(b*n) --------------- - factorial(n) - -invztrans((f+a*z+b*z^2)/(c+d*z+e*z^2),z,n); - - - 2 n 2 n -(2*(sqrt( - 4*c*e + d ) + d) *sqrt( - 4*c*e + d )*( - 1) *a*c*e - - 2 n 2 n - - (sqrt( - 4*c*e + d ) + d) *sqrt( - 4*c*e + d )*( - 1) *b*c*d - - 2 n 2 n - - (sqrt( - 4*c*e + d ) + d) *sqrt( - 4*c*e + d )*( - 1) *d*e*f - - 2 n n 2 - + 4*(sqrt( - 4*c*e + d ) + d) *( - 1) *b*c *e - - 2 n n 2 - - (sqrt( - 4*c*e + d ) + d) *( - 1) *b*c*d - - 2 n n 2 - - 4*(sqrt( - 4*c*e + d ) + d) *( - 1) *c*e *f - - 2 n n 2 - + (sqrt( - 4*c*e + d ) + d) *( - 1) *d *e*f - - 2 n 2 - - 2*(sqrt( - 4*c*e + d ) - d) *sqrt( - 4*c*e + d )*a*c*e - - 2 n 2 - + (sqrt( - 4*c*e + d ) - d) *sqrt( - 4*c*e + d )*b*c*d - - 2 n 2 - + (sqrt( - 4*c*e + d ) - d) *sqrt( - 4*c*e + d )*d*e*f - - 2 n 2 2 n 2 - + 4*(sqrt( - 4*c*e + d ) - d) *b*c *e - (sqrt( - 4*c*e + d ) - d) *b*c*d - - 2 n 2 2 n 2 - - 4*(sqrt( - 4*c*e + d ) - d) *c*e *f + (sqrt( - 4*c*e + d ) - d) *d *e*f)/(2 - - n n 2 - *e *2 *c*e*(4*c*e - d )) - - -% Example 1 in Bronstein/Semendjajew, p. 651 - -f(0):=0; - - -f(0) := 0 - -f(1):=0; - - -f(1) := 0 - -f(2):=9; - - -f(2) := 9 - -f(3):=-2; - - -f(3) := -2 - -f(4):=23; - - -f(4) := 23 - -equation:=ztrans(f(n+5)-2*f(n+3)+2*f(n+2)-3*f(n+1)+2*f(n),n,z); - - - 5 3 2 -equation := ztrans(f(n),n,z)*z - 2*ztrans(f(n),n,z)*z + 2*ztrans(f(n),n,z)*z - - 3 2 - - 3*ztrans(f(n),n,z)*z + 2*ztrans(f(n),n,z) - 9*z + 2*z - 5*z - -ztransresult:=solve(equation,ztrans(f(n),n,z)); - - - 2 - z*(9*z - 2*z + 5) -ztransresult := {ztrans(f(n),n,z)=----------------------------} - 5 3 2 - z - 2*z + 2*z - 3*z + 2 - -result:=invztrans(part(first(ztransresult),2),z,n); - - - n n n n n - - i *( - 1) + 2*( - 1) *2 - i + 4*n -result := ----------------------------------------- - 2 - - -% Example 2 in Bronstein/Semendjajew, p. 651 - -clear(f); - - -operator f; - - -f(0):=0; - - -f(0) := 0 - -f(1):=1; - - -f(1) := 1 - -equation:=ztrans(f(n+2)-4*f(n+1)+3*f(n)-1,n,z); - - - 3 2 -equation := (ztrans(f(n),n,z)*z - 5*ztrans(f(n),n,z)*z + 7*ztrans(f(n),n,z)*z - - 2 - - 3*ztrans(f(n),n,z) - z )/(z - 1) - -ztransresult:=solve(equation,ztrans(f(n),n,z)); - - - 2 - z -ztransresult := {ztrans(f(n),n,z)=---------------------} - 3 2 - z - 5*z + 7*z - 3 - -result:=invztrans(part(first(ztransresult),2),z,n); - - - n - 3*3 - 2*n - 3 -result := ---------------- - 4 - - -% Other example: - -clear(f); - - -operator f; - - -f(0):=1; - - -f(0) := 1 - -f(1):=1; - - -f(1) := 1 - -operator tmp; - - -equation:=ztrans((n+1)*f(n+1)-f(n),n,z); - - - 2 -equation := - (df(ztrans(f(n),n,z),z)*z + ztrans(f(n),n,z)) - -equation:=sub(ztrans(f(n),n,z)=tmp(z),equation); - - - 2 -equation := - (df(tmp(z),z)*z + tmp(z)) - -load(odesolve); - - -oderesult:=odesolve(equation,tmp(z),z); - - - 1/z -oderesult := {tmp(z)=e *arbconst(1)} - -preresult:=invztrans(part(first(oderesult),2),z,n); - - - arbconst(1) -preresult := -------------- - factorial(n) - -solveresult:= -solve({sub(n=0,preresult)=f(0),sub(n=1,preresult)=f(1)},arbconst(1)); - - -solveresult := {arbconst(1)=1} - -result:=preresult where solveresult; - - - 1 --------------- - factorial(n) - - -end; -(TIME: ztrans 44920 49280) +REDUCE 3.6, 15-Jul-95, patched to 6 Mar 96 ... + + +% test file for ztrans package +% +operator f; + + +operator g; + + +operator h; + + + +% Examples for Z transformation +ztrans(1,n,z); + + + z +------- + z - 1 + +ztrans(a,n,z); + + + a*z +------- + z - 1 + +ztrans((-1)^n,n,z); + + + z +------- + z + 1 + +ztrans(n,n,z); + + + z +-------------- + 2 + z - 2*z + 1 + +ztrans(n^2,n,z); + + + z*(z + 1) +--------------------- + 3 2 + z - 3*z + 3*z - 1 + +ztrans(n^k,n,z); + + + k +ztrans(n ,n,z) + +% should be output=input +ztrans((-1)^n*n^2,n,z); + + + z*( - z + 1) +--------------------- + 3 2 + z + 3*z + 3*z + 1 + +ztrans(binomial(n,m),n,z); + + + z +------------------ + m + (z - 1) *(z - 1) + +ztrans((-1)^n*binomial(n,m),n,z); + + + z +--------------------- + m + ( - z - 1) *(z + 1) + +ztrans(binomial(n+k,m),n,z); + + + k + z *z +------------------ + m + (z - 1) *(z - 1) + +ztrans(a^n,n,z); + + + - z +------- + a - z + +ztrans(a^(n-1),n,z); + + + - z +----------- + a*(a - z) + +ztrans(a^(n+k),n,z); + + + k + - a *z +--------- + a - z + +ztrans((-1)^n*a^n,n,z); + + + z +------- + a + z + +ztrans(1-a^n,n,z); + + + z*(a - 1) +------------------ + 2 + a*z - a - z + z + +ztrans(n*a^n,n,z); + + + a*z +----------------- + 2 2 + a - 2*a*z + z + +ztrans(n^3*a^n,n,z); + + + 2 2 + a*z*(a + 4*a*z + z ) +------------------------------------- + 4 3 2 2 3 4 + a - 4*a *z + 6*a *z - 4*a*z + z + +ztrans(binomial(n,m)*a^n,n,z); + + + m + - a *z +--------------------- + m + ( - a + z) *(a - z) + +ztrans(1/(n+1),n,z); + + + z +log(-------)*z + z - 1 + +ztrans(1/(n+2),n,z); + + + z +z*(log(-------)*z - 1) + z - 1 + +ztrans((-1)^(n)/(n+1),n,z); + + + z + - log(-------)*z + z + 1 + +ztrans((-1)^(n)/(n+2),n,z); + + + z +z*(log(-------)*z + 1) + z + 1 + +ztrans(a^(n-1)/(n+1),n,z); + + + - z + log(-------)*z + a - z +---------------- + 2 + a + +ztrans(a^(n+k)/(n+1),n,z); + + + k - z + a *log(-------)*z + a - z +------------------- + a + +ztrans(a^n/factorial(n),n,z); + + + a/z +e + +ztrans((n+1)*a^n/factorial(n),n,z); + + + a/z + e *(a + z) +-------------- + z + +ztrans(1/factorial(n-1),n,z); + + + 1 +***** ERROR: zero divisor in sum(---------------------,n,0,infinity) + n + z *factorial(n - 1) + +% ERROR message o.k. +ztrans((-1)^n/factorial(2*n+1),n,z); + + + 1 +sqrt(z)*sin(---------) + sqrt(z) + +ztrans((-1)^n/factorial(2*n),n,z); + + + 1 +cos(---------) + sqrt(z) + +ztrans(1/factorial(2*n+1),n,z); + + + 1 +sqrt(z)*sinh(---------) + sqrt(z) + +ztrans(1/factorial(2*n-1),n,z); + + + 1 +ztrans(--------------------,n,z) + factorial(2*n - 1) + +ztrans(1/factorial(2*n+3),n,z); + + + 1 +z*(sqrt(z)*sinh(---------) - 1) + sqrt(z) + +ztrans(1/factorial(2*n),n,z); + + + 1 +cosh(---------) + sqrt(z) + +ztrans(1/factorial(2*n+2),n,z); + + + 1 +z*(cosh(---------) - 1) + sqrt(z) + +ztrans(a^n/factorial(2*n+1),n,z); + + + sqrt(a) + sqrt(z)*sinh(---------) + sqrt(z) +------------------------- + sqrt(a) + +ztrans(a^n/factorial(2*n),n,z); + + + sqrt(a) +cosh(---------) + sqrt(z) + +ztrans(e^(a*n),n,z); + + + - z +-------- + a + e - z + +ztrans(e^(a*(n+k)),n,z); + + + a*k + - e *z +----------- + a + e - z + +ztrans(sinh(a*n),n,z); + + + - sinh(a)*z +---------------------- + 2 + 2*cosh(a)*z - z - 1 + +ztrans(cosh(a*n),n,z); + + + z*(cosh(a) - z) +---------------------- + 2 + 2*cosh(a)*z - z - 1 + +ztrans(sinh(a*n+p),n,z); + + + - z*(sinh(a - p) + sinh(p)*z) +-------------------------------- + 2 + 2*cosh(a)*z - z - 1 + +ztrans(cosh(a*n+p),n,z); + + + z*(cosh(a - p) - cosh(p)*z) +----------------------------- + 2 + 2*cosh(a)*z - z - 1 + +ztrans(a^n*sinh(a*n),n,z); + + + - sinh(a)*a*z +------------------------- + 2 2 + 2*cosh(a)*a*z - a - z + +ztrans(a^n*cosh(a*n),n,z); + + + z*(cosh(a)*a - z) +------------------------- + 2 2 + 2*cosh(a)*a*z - a - z + +ztrans(n*sinh(a*n),n,z); + + + 2 + sinh(a)*z*(z - 1) +------------------------------------------------------------ + 2 2 3 4 2 + 4*cosh(a) *z - 4*cosh(a)*z - 4*cosh(a)*z + z + 2*z + 1 + +ztrans(n*cosh(a*n),n,z); + + + 2 + z*(cosh(a)*z + cosh(a) - 2*z) +------------------------------------------------------------ + 2 2 3 4 2 + 4*cosh(a) *z - 4*cosh(a)*z - 4*cosh(a)*z + z + 2*z + 1 + +ztrans(n^2*a^n*sinh(b*n),n,z); + + + 2 4 2 2 2 4 3 3 6 +(sinh(b)*a*z*( - 4*cosh(b) *a *z - 4*cosh(b) *a *z + 16*cosh(b)*a *z + a + + 4 2 2 4 6 4 4 4 3 5 3 + - 5*a *z - 5*a *z + z ))/(16*cosh(b) *a *z - 32*cosh(b) *a *z + + 3 3 5 2 6 2 2 4 4 + - 32*cosh(b) *a *z + 24*cosh(b) *a *z + 48*cosh(b) *a *z + + 2 2 6 7 5 3 3 5 + + 24*cosh(b) *a *z - 8*cosh(b)*a *z - 24*cosh(b)*a *z - 24*cosh(b)*a *z + + 7 8 6 2 4 4 2 6 8 + - 8*cosh(b)*a*z + a + 4*a *z + 6*a *z + 4*a *z + z ) + +ztrans(sin(b*n),n,z); + + + - sin(b)*z +--------------------- + 2 + 2*cos(b)*z - z - 1 + +ztrans(cos(b*n),n,z); + + + z*(cos(b) - z) +--------------------- + 2 + 2*cos(b)*z - z - 1 + +ztrans(sin(b*n+p),n,z); + + + - z*(sin(b - p) + sin(p)*z) +------------------------------ + 2 + 2*cos(b)*z - z - 1 + +ztrans(cos(b*n+p),n,z); + + + z*(cos(b - p) - cos(p)*z) +--------------------------- + 2 + 2*cos(b)*z - z - 1 + +ztrans(e^(a*n)*sin(b*n),n,z); + + + a + - e *sin(b)*z +--------------------------- + a 2*a 2 + 2*e *cos(b)*z - e - z + +ztrans(e^(a*n)*cos(b*n),n,z); + + + a + z*(e *cos(b) - z) +--------------------------- + a 2*a 2 + 2*e *cos(b)*z - e - z + +ztrans((-1)^n*e^(a*n)*sin(b*n),n,z); + + + a + - e *sin(b)*z +--------------------------- + a 2*a 2 + 2*e *cos(b)*z + e + z + +ztrans((-1)^n*e^(a*n)*cos(b*n),n,z); + + + a + z*(e *cos(b) + z) +--------------------------- + a 2*a 2 + 2*e *cos(b)*z + e + z + +ztrans(n*sin(b*n),n,z); + + + 2 + sin(b)*z*(z - 1) +--------------------------------------------------------- + 2 2 3 4 2 + 4*cos(b) *z - 4*cos(b)*z - 4*cos(b)*z + z + 2*z + 1 + +ztrans(n*cos(b*n),n,z); + + + 2 + z*(cos(b)*z + cos(b) - 2*z) +--------------------------------------------------------- + 2 2 3 4 2 + 4*cos(b) *z - 4*cos(b)*z - 4*cos(b)*z + z + 2*z + 1 + +ztrans(n^2*a^n*sin(b*n),n,z); + + + 2 4 2 2 2 4 3 3 6 +(sin(b)*a*z*( - 4*cos(b) *a *z - 4*cos(b) *a *z + 16*cos(b)*a *z + a + + 4 2 2 4 6 4 4 4 3 5 3 + - 5*a *z - 5*a *z + z ))/(16*cos(b) *a *z - 32*cos(b) *a *z + + 3 3 5 2 6 2 2 4 4 2 2 6 + - 32*cos(b) *a *z + 24*cos(b) *a *z + 48*cos(b) *a *z + 24*cos(b) *a *z + + 7 5 3 3 5 7 8 + - 8*cos(b)*a *z - 24*cos(b)*a *z - 24*cos(b)*a *z - 8*cos(b)*a*z + a + + 6 2 4 4 2 6 8 + + 4*a *z + 6*a *z + 4*a *z + z ) + +ztrans(cos(b*(n+1))/(n+1),n,z); + + + z +log(------------------------------)*z + 2 + sqrt( - 2*cos(b)*z + z + 1) + +ztrans(sin(b*(n+1))/(n+1),n,z); + + + sin(b) + - atan(------------)*z + cos(b) - z + +ztrans(cos(b*(n+2))/(n+2),n,z); + + + z +z*( - cos(b) + log(------------------------------)*z) + 2 + sqrt( - 2*cos(b)*z + z + 1) + +ztrans((-1)^(n)*cos(b*(n+1))/(n+1),n,z); + + + 2 3 + sqrt(2*cos(b)*z + z + 1) + - log(----------------------------)*z + sqrt(z) + +ztrans((-1)^(n)*sin(b*(n+1))/(n+1),n,z); + + + sin(b) +atan(------------)*z + cos(b) + z + +ztrans(cos(b*n)/factorial(n),n,z); + + + cos(b)/z sin(b) +e *cos(--------) + z + +ztrans(sin(b*n)/factorial(n),n,z); + + + cos(b)/z sin(b) +e *sin(--------) + z + +ztrans(a*f(n)+b*g(n)+c*h(n),n,z); + + +ztrans(f(n),n,z)*a + ztrans(g(n),n,z)*b + ztrans(h(n),n,z)*c + +ztrans(sum(f(k)*g(n-k),k,0,n),n,z); + + +ztrans(f(n),n,z)*ztrans(g(n),n,z) + +ztrans(sum(f(k),k,0,n),n,z); + + + ztrans(f(n),n,z)*z +-------------------- + z - 1 + +ztrans(sum(f(k),k,-2,n),n,z); + + + 2 +(z*( - f(-1)*z + f(-1) - f(-2)*z + f(-2) + ztrans(f(n - 2),n,z) + + 2 + + ztrans(f(n - 2),n,z)*z - ztrans(f(n - 2),n,z)))/(z - 1) + +ztrans(sum(f(k),k,3,n),n,z); + + + 2 2 + - f(2) - f(1)*z - f(0)*z + ztrans(f(n),n,z)*z +-------------------------------------------------- + z*(z - 1) + +ztrans(sum(f(k),k,0,n+2),n,z); + + + 2 2 +(z*( - f(1)*z + f(1) - f(0)*z + f(0) + ztrans(f(n),n,z) + ztrans(f(n),n,z)*z + + - ztrans(f(n),n,z)))/(z - 1) + +ztrans(sum(f(k),k,0,n-3),n,z); + + + 2 2 + ztrans(f(n),n,z)*z - ztrans(f(n),n,z)*z + ztrans(f(n),n,z) +-------------------------------------------------------------- + 2 + z *(z - 1) + +ztrans(sum(f(k),k,-2,n+3),n,z); + + + 2 3 4 +(z*( - f(2)*z + f(2) - f(1)*z + f(1) - f(0)*z + f(0) - f(-1)*z + f(-1) + + 5 5 + - f(-2)*z + f(-2) + ztrans(f(n - 2),n,z) + ztrans(f(n - 2),n,z)*z + + - ztrans(f(n - 2),n,z)))/(z - 1) + +ztrans(sum(1/factorial(k),k,0,n),n,z); + + + 1/z + e *z +-------- + z - 1 + +ztrans(sum(1/factorial(k+2),k,0,n),n,z); + + + 2 1/z + z *(e *z - z - 1) +--------------------- + z - 1 + +ztrans(n^2*sum(1/factorial(k),k,0,n),n,z); + + + 1/z 3 2 + e *(2*z + 2*z - 3*z + 1) +------------------------------ + 3 2 + z*(z - 3*z + 3*z - 1) + +ztrans(sum(n^2/factorial(k),k,0,n),n,z); + + + 1/z 3 2 + e *(2*z + 2*z - 3*z + 1) +------------------------------ + 3 2 + z*(z - 3*z + 3*z - 1) + +ztrans(sum(1/k,k,0,n),n,z); + + + 1 +***** ERROR: zero divisor in sum(------,n,0,infinity) + n + z *n + +% ERROR o.k. +ztrans(sum(1/(k+1),k,0,n),n,z); + + + z 2 + log(-------)*z + z - 1 +----------------- + z - 1 + +ztrans(sum(1/(k+3),k,0,n),n,z); + + + 2 z 2 + z *(2*log(-------)*z - 2*z - 1) + z - 1 +---------------------------------- + 2*(z - 1) + +ztrans(f(n+k),n,z); + + +ztrans(f(k + n),n,z) + +% output=input +ztrans(f(n+2),n,z); + + +z*( - f(1) - f(0)*z + ztrans(f(n),n,z)*z) + +ztrans(f(n-k),n,z); + + +ztrans(f( - k + n),n,z) + +% output=input +ztrans(f(n-3),n,z); + + +ztrans(f(n - 3),n,z) + +% output=input +ztrans(a^n*f(n),n,z); + + + z +ztrans(f(n),n,---) + a + +ztrans(n*f(n),n,z); + + + - df(ztrans(f(n),n,z),z)*z + +ztrans(1/a^n,n,z); + + + a*z +--------- + a*z - 1 + +ztrans(1/a^(n+1),n,z); + + + z +--------- + a*z - 1 + +ztrans(1/a^(n-1),n,z); + + + 2 + a *z +--------- + a*z - 1 + +ztrans(2*n+n^2-3/4*n^3,n,x); + + + 2 + x*(9*x - 28*x + 1) +-------------------------------- + 4 3 2 + 4*(x - 4*x + 6*x - 4*x + 1) + +ztrans(n^2*cos(n*x),n,z); + + + 3 4 3 2 6 4 2 +(z*( - 4*cos(x) *z + 4*cos(x) *z + cos(x)*z + 9*cos(x)*z - 9*cos(x)*z + + 5 4 4 3 5 3 3 + - cos(x) - 4*z + 4*z))/(16*cos(x) *z - 32*cos(x) *z - 32*cos(x) *z + + 2 6 2 4 2 2 7 5 + + 24*cos(x) *z + 48*cos(x) *z + 24*cos(x) *z - 8*cos(x)*z - 24*cos(x)*z + + 3 8 6 4 2 + - 24*cos(x)*z - 8*cos(x)*z + z + 4*z + 6*z + 4*z + 1) + +ztrans((1+n)^2*f(n),n,z); + + + 2 +df(ztrans(f(n),n,z),z,2)*z - df(ztrans(f(n),n,z),z)*z + ztrans(f(n),n,z) + +ztrans(n^2*f(n),n,z); + + +z*(df(ztrans(f(n),n,z),z,2)*z + df(ztrans(f(n),n,z),z)) + +ztrans(n/factorial(n),n,z); + + + 1/z + e +------ + z + +ztrans(n^2/factorial(n),n,z); + + + 1/z + e *(z + 1) +-------------- + 2 + z + +ztrans(a^n/factorial(n),n,z); + + + a/z +e + +ztrans(1/(a^n*factorial(n)),n,z); + + + 1/(a*z) +e + +ztrans(sum(f(k)*g(n-k),k,0,n),n,z); + + +ztrans(f(n),n,z)*ztrans(g(n),n,z) + +ztrans(sum(f(k),k,0,n-1),n,z); + + + ztrans(f(n),n,z) +------------------ + z - 1 + +ztrans(sum(f(k),k,0,n),n,z); + + + ztrans(f(n),n,z)*z +-------------------- + z - 1 + +ztrans(sum(1/factorial(k),k,0,n),n,z); + + + 1/z + e *z +-------- + z - 1 + +ztrans(sum(k/factorial(k),k,0,n),n,z); + + + 1/z + e +------- + z - 1 + +ztrans(sum(a^k*k^2/factorial(k),k,0,n),n,z); + + + a/z + e *a*(a + z) +---------------- + z*(z - 1) + +ztrans(a^n*f(n),n,z); + + + z +ztrans(f(n),n,---) + a + +ztrans(binomial(n,k),n,z); + + + z +------------------ + k + (z - 1) *(z - 1) + +ztrans(1/(n+1),n,z); + + + z +log(-------)*z + z - 1 + +ztrans(n/factorial(2*n+1),n,z); + + + 1 1 + cosh(---------) - sqrt(z)*sinh(---------) + sqrt(z) sqrt(z) +------------------------------------------- + 2 + +ztrans(a^n*sin(n*x+y),n,z); + + + - z*(sin(x - y)*a + sin(y)*z) +-------------------------------- + 2 2 + 2*cos(x)*a*z - a - z + +ztrans(n^3*sin(n*x+y),n,z); + + + 3 4 2 4 2 2 +(z*(8*cos(x) *sin(y)*z + 4*cos(x) *sin(x - y)*z - 4*cos(x) *sin(x - y)*z + + 2 5 2 3 5 + + 16*cos(x) *sin(y)*z - 16*cos(x) *sin(y)*z + 8*cos(x)*sin(x - y)*z + + 6 4 + - 8*cos(x)*sin(x - y)*z + 2*cos(x)*sin(y)*z - 36*cos(x)*sin(y)*z + + 2 6 4 2 + + 10*cos(x)*sin(y)*z + sin(x - y)*z - 23*sin(x - y)*z + 23*sin(x - y)*z + + 5 3 4 4 + - sin(x - y) - 8*sin(y)*z + 32*sin(y)*z - 8*sin(y)*z))/(16*cos(x) *z + + 3 5 3 3 2 6 2 4 + - 32*cos(x) *z - 32*cos(x) *z + 24*cos(x) *z + 48*cos(x) *z + + 2 2 7 5 3 + + 24*cos(x) *z - 8*cos(x)*z - 24*cos(x)*z - 24*cos(x)*z - 8*cos(x)*z + + 8 6 4 2 + + z + 4*z + 6*z + 4*z + 1) + +ztrans((n+1)/factorial(n),n,z); + + + 1/z + e *(z + 1) +-------------- + z + +ztrans(factorial(n)/(factorial(k)*factorial(n-k)),n,z); + + + z +------------------ + k + (z - 1) *(z - 1) + + +% Examples for inverse Z transformation +invztrans(z/(z-1),z,n); + + +1 + +invztrans(z/(z+1),z,n); + + + n +( - 1) + +invztrans(z/(z-1)^2,z,n); + + +n + +invztrans(z*(z+1)/(z-1)^3,z,n); + + + 2 +n + +invztrans(z/(z-1)^m,z,n); + + +binomial(n,m - 1) + +% invztrans(z/(z-1)^(m+1),z,n); +% not yet supported +invztrans(z/(z-1)^4,z,n); + + + 2 + n*(n - 3*n + 2) +------------------ + 6 + +invztrans((-1)^m*z/(z+1)^m,z,n); + + + m + ( - 1) *z +invztrans(-----------,z,n) + m + (z + 1) + +% not yet supported +invztrans(z/(z+1)^4,z,n); + + + n 2 + ( - 1) *n*( - n + 3*n - 2) +----------------------------- + 6 + +% invztrans(z^(k+1)/(z-1)^(m+1),z,n); +% not yet supported +invztrans(z^4/(z-1)^m,z,n); + + +binomial(n + 3,m - 1) + +% invztrans(z^4/(z-1)^(m+1),z,n); +% not yet supported +% invztrans(z^4/(z-1)^m,z,n); +% not yet supported +% invztrans(z^(k+1)/(z-1)^5,z,n); +% not yet supported +invztrans(z^3/(z-a)^4,z,n); + + + n 2 + a *n*(n + 3*n + 2) +--------------------- + 6*a + +invztrans(z/(z-a),z,n); + + + n +a + +invztrans(z/(z+a),z,n); + + + n +( - a) + +invztrans(z*(1-a)/((z-1)*(z-a)),z,n); + + + n + - a + 1 + +invztrans(z*a/(z-a)^2,z,n); + + + n +a *n + +invztrans(z*3/(z-3)^2,z,n); + + + n +3 *n + +% invztrans(a^m*z/(z-a)^(m+1),z,n); +% not yet supported +% invztrans(a^m*z/(z-a)^m,z,n); +% not yet supported +% invztrans(4^m*z/(z-4)^(m+1),z,n); +% not yet supported +invztrans(a^3*z/(z-a)^5,z,n); + + + n 3 2 + a *n*(n - 6*n + 11*n - 6) +----------------------------- + 24*a + +invztrans(z*log(z/(z-1)),z,n); + + + 1 +------- + n + 1 + +invztrans(z*log(1+1/z),z,n); + + + n + ( - 1) +--------- + n + 1 + +invztrans(z*log(z/(z-a)),z,n); + + + n + a *a +------- + n + 1 + +invztrans(e^(a/z),z,n); + + + n + a +-------------- + factorial(n) + +invztrans(e^(1/(a*z)),z,n); + + + 1 +----------------- + n + a *factorial(n) + +invztrans((1+a/z)*e^(a/z),z,n); + + + n + a *(n + 1) +-------------- + factorial(n) + +invztrans(e^(a/z)*(a+z)/z,z,n); + + + n + a *(n + 1) +-------------- + factorial(n) + +invztrans(sqrt(z)*sin(1/sqrt(z)),z,n); + + + n + ( - 1) +-------------------- + factorial(2*n + 1) + +invztrans(cos(1/sqrt(z)),z,n); + + + n + ( - 1) +---------------- + factorial(2*n) + +invztrans(sqrt(z)*sinh(1/sqrt(z)),z,n); + + + 1 +-------------------- + factorial(2*n + 1) + +invztrans(cosh(1/sqrt(z)),z,n); + + + 1 +---------------- + factorial(2*n) + +invztrans(sqrt(z/a)*sinh(sqrt(a/z)),z,n); + + + n + a +-------------------- + factorial(2*n + 1) + +invztrans(cosh(sqrt(a/z)),z,n); + + + n + a +---------------- + factorial(2*n) + +invztrans(z/(z-e^a),z,n); + + + a*n +e + +invztrans(z*sinh(a)/(z^2-2*z*cosh(a)+1),z,n); + + +sinh(a*n) + +invztrans(z*(z-cosh(a))/(z^2-2*z*cosh(a)+1),z,n); + + +cosh(a*n) + +invztrans(z*(z*sinh(p)+sinh(a-p))/(z^2-2*z*cosh(a)+1),z,n); + + + cosh(a*n)*sinh(a)*sinh(p) + cosh(a)*sinh(a*n)*sinh(p) + sinh(a - p)*sinh(a*n) +------------------------------------------------------------------------------- + sinh(a) + +% trigsimp(ws); +% trigsimp(ws,combine); +invztrans(z*(z*cosh(p)-cosh(a-p))/(z^2-2*z*cosh(a)+1),z,n); + + +( - cosh(a - p)*sinh(a*n) + cosh(a*n)*cosh(p)*sinh(a) + + + cosh(a)*cosh(p)*sinh(a*n))/sinh(a) + +% trigsimp(ws); +% trigsimp(ws,combine); +invztrans(a*z*sinh(a)/(z^2-2*a*z*cosh(a)+a^2),z,n); + + + n +a *sinh(a*n) + +invztrans(z*(z-a*cosh(a))/(z^2-2*a*z*cosh(a)+a^2),z,n); + + + n +a *cosh(a*n) + +invztrans(z*(z^2-1)*sinh(a)/(z^2-2*z*cosh(a)+1)^2,z,n); + + + 2 + sinh(a*n)*sinh(a) *n +---------------------- + 2 + cosh(a) - 1 + +% trigsimp(ws); +invztrans(z*((z^2+1)*cosh(a)-2*z)/(z^2-2*z*cosh(a)+1)^2,z,n); + + +cosh(a*n)*n + +invztrans(z*sin(b)/(z^2-2*z*cos(b)+1),z,n); + + +sin(b*n) + +invztrans(z*(z-cos(b))/(z^2-2*z*cos(b)+1),z,n); + + +cos(b*n) + +invztrans(z*(z*sin(p)+sin(b-p))/(z^2-2*z*cos(b)+1),z,n); + + + cos(b*n)*sin(b)*sin(p) + cos(b)*sin(b*n)*sin(p) + sin(b - p)*sin(b*n) +----------------------------------------------------------------------- + sin(b) + +% trigsimp(ws); +% trigsimp(ws,combine); +invztrans(z*(z*cos(p)-cos(b-p))/(z^2-2*z*cos(b)+1),z,n); + + + - cos(b - p)*sin(b*n) + cos(b*n)*cos(p)*sin(b) + cos(b)*cos(p)*sin(b*n) +-------------------------------------------------------------------------- + sin(b) + +% trigsimp(ws); +% trigsimp(ws,combine); +invztrans(z*e^(a)*sin(b)/(z^2-2*z*e^a*cos(b)+e^(2*a)),z,n); + + + a*n +e *sin(b*n) + +invztrans(z*(z-e^a*cos(b))/(z^2-2*z*e^a*cos(b)+e^(2*a)),z,n); + + + a*n +e *cos(b*n) + +invztrans(-z*e^a*sin(b)/(z^2+2*z*e^a*cos(b)+e^(2*a)),z,n); + + + a*n n +e *( - 1) *sin(b*n) + +invztrans(z*(z+e^a*cos(b))/(z^2+2*z*e^a*cos(b)+e^(2*a)),z,n); + + + a*n n +e *( - 1) *cos(b*n) + +invztrans(z*(z^2-1)*sin(b)/(z^2-2*z*cos(b)+1)^2,z,n); + + + 2 +(sqrt(cos(b) - 1)*sin(b)*n + + 2 n 2 n + *( - (cos(b) - sqrt(cos(b) - 1)) + (cos(b) + sqrt(cos(b) - 1)) ))/(2 + + 2 + *(cos(b) - 1)) + +% trigsimp(ws,expon); +% trigsimp(ws,trig); +invztrans(z*((z^2+1)*cos(b)-2*z)/(z^2-2*z*cos(b)+1)^2,z,n); + + + 2 n 2 n + n*((cos(b) - sqrt(cos(b) - 1)) + (cos(b) + sqrt(cos(b) - 1)) ) +------------------------------------------------------------------- + 2 + +% trigsimp(ws,expon); +% trigsimp(ws,trig); +invztrans(z*log(z/sqrt(z^2-2*z*cos(b)+1)),z,n); + + + cos(b*n + b) +-------------- + n + 1 + +invztrans(z*atan(sin(b)/(z-cos(b))),z,n); + + + sin(b*n + b) +-------------- + n + 1 + +invztrans(z*log(sqrt(z^2+2*z*cos(b)+1)/z),z,n); + + + n + ( - 1) *cos(b*n + b) +---------------------- + n + 1 + +invztrans(z*atan(sin(b)/(z+cos(b))),z,n); + + + n + ( - 1) *sin(b*n + b) +---------------------- + n + 1 + +invztrans(cos(sin(b)/z)*e^(cos(b)/z),z,n); + + + cos(b*n) +-------------- + factorial(n) + +invztrans(sin(sin(b)/z)*e^(cos(b)/z),z,n); + + + sin(b*n) +-------------- + factorial(n) + +invztrans((f+a*z+b*z^2)/(c+d*z+e*z^2),z,n); + + + 2 n 2 n +(2*(sqrt( - 4*c*e + d ) + d) *sqrt( - 4*c*e + d )*( - 1) *a*c*e + + 2 n 2 n + - (sqrt( - 4*c*e + d ) + d) *sqrt( - 4*c*e + d )*( - 1) *b*c*d + + 2 n 2 n + - (sqrt( - 4*c*e + d ) + d) *sqrt( - 4*c*e + d )*( - 1) *d*e*f + + 2 n n 2 + + 4*(sqrt( - 4*c*e + d ) + d) *( - 1) *b*c *e + + 2 n n 2 + - (sqrt( - 4*c*e + d ) + d) *( - 1) *b*c*d + + 2 n n 2 + - 4*(sqrt( - 4*c*e + d ) + d) *( - 1) *c*e *f + + 2 n n 2 + + (sqrt( - 4*c*e + d ) + d) *( - 1) *d *e*f + + 2 n 2 + - 2*(sqrt( - 4*c*e + d ) - d) *sqrt( - 4*c*e + d )*a*c*e + + 2 n 2 + + (sqrt( - 4*c*e + d ) - d) *sqrt( - 4*c*e + d )*b*c*d + + 2 n 2 + + (sqrt( - 4*c*e + d ) - d) *sqrt( - 4*c*e + d )*d*e*f + + 2 n 2 2 n 2 + + 4*(sqrt( - 4*c*e + d ) - d) *b*c *e - (sqrt( - 4*c*e + d ) - d) *b*c*d + + 2 n 2 2 n 2 + - 4*(sqrt( - 4*c*e + d ) - d) *c*e *f + (sqrt( - 4*c*e + d ) - d) *d *e*f)/(2 + + n n 2 + *e *2 *c*e*(4*c*e - d )) + + +% Example 1 in Bronstein/Semendjajew, p. 651 + +f(0):=0; + + +f(0) := 0 + +f(1):=0; + + +f(1) := 0 + +f(2):=9; + + +f(2) := 9 + +f(3):=-2; + + +f(3) := -2 + +f(4):=23; + + +f(4) := 23 + +equation:=ztrans(f(n+5)-2*f(n+3)+2*f(n+2)-3*f(n+1)+2*f(n),n,z); + + + 5 3 2 +equation := ztrans(f(n),n,z)*z - 2*ztrans(f(n),n,z)*z + 2*ztrans(f(n),n,z)*z + + 3 2 + - 3*ztrans(f(n),n,z)*z + 2*ztrans(f(n),n,z) - 9*z + 2*z - 5*z + +ztransresult:=solve(equation,ztrans(f(n),n,z)); + + + 2 + z*(9*z - 2*z + 5) +ztransresult := {ztrans(f(n),n,z)=----------------------------} + 5 3 2 + z - 2*z + 2*z - 3*z + 2 + +result:=invztrans(part(first(ztransresult),2),z,n); + + + n n n n n + - i *( - 1) + 2*( - 1) *2 - i + 4*n +result := ----------------------------------------- + 2 + + +% Example 2 in Bronstein/Semendjajew, p. 651 + +clear(f); + + +operator f; + + +f(0):=0; + + +f(0) := 0 + +f(1):=1; + + +f(1) := 1 + +equation:=ztrans(f(n+2)-4*f(n+1)+3*f(n)-1,n,z); + + + 3 2 +equation := (ztrans(f(n),n,z)*z - 5*ztrans(f(n),n,z)*z + 7*ztrans(f(n),n,z)*z + + 2 + - 3*ztrans(f(n),n,z) - z )/(z - 1) + +ztransresult:=solve(equation,ztrans(f(n),n,z)); + + + 2 + z +ztransresult := {ztrans(f(n),n,z)=---------------------} + 3 2 + z - 5*z + 7*z - 3 + +result:=invztrans(part(first(ztransresult),2),z,n); + + + n + 3*3 - 2*n - 3 +result := ---------------- + 4 + + +% Other example: + +clear(f); + + +operator f; + + +f(0):=1; + + +f(0) := 1 + +f(1):=1; + + +f(1) := 1 + +operator tmp; + + +equation:=ztrans((n+1)*f(n+1)-f(n),n,z); + + + 2 +equation := - (df(ztrans(f(n),n,z),z)*z + ztrans(f(n),n,z)) + +equation:=sub(ztrans(f(n),n,z)=tmp(z),equation); + + + 2 +equation := - (df(tmp(z),z)*z + tmp(z)) + +load(odesolve); + + +oderesult:=odesolve(equation,tmp(z),z); + + + 1/z +oderesult := {tmp(z)=e *arbconst(1)} + +preresult:=invztrans(part(first(oderesult),2),z,n); + + + arbconst(1) +preresult := -------------- + factorial(n) + +solveresult:= +solve({sub(n=0,preresult)=f(0),sub(n=1,preresult)=f(1)},arbconst(1)); + + +solveresult := {arbconst(1)=1} + +result:=preresult where solveresult; + + + 1 +-------------- + factorial(n) + + +end; +(TIME: ztrans 44920 49280)