Artifact 803afc14eb08ed5d5477f17ca8a50f8ec431a5f49f1d6eea4877e632d285b0d9:
- Executable file
r36/XMPL/ZTRANS.TST
— part of check-in
[f2fda60abd]
at
2011-09-02 18:13:33
on branch master
— Some historical releases purely for archival purposes
git-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/trunk/historical@1375 2bfe0521-f11c-4a00-b80e-6202646ff360 (user: arthurcnorman@users.sourceforge.net, size: 7206) [annotate] [blame] [check-ins using] [more...]
% test file for ztrans package % operator f; operator g; operator h; % Examples for Z transformation ztrans(1,n,z); ztrans(a,n,z); ztrans((-1)^n,n,z); ztrans(n,n,z); ztrans(n^2,n,z); ztrans(n^k,n,z); % should be output=input ztrans((-1)^n*n^2,n,z); ztrans(binomial(n,m),n,z); ztrans((-1)^n*binomial(n,m),n,z); ztrans(binomial(n+k,m),n,z); ztrans(a^n,n,z); ztrans(a^(n-1),n,z); ztrans(a^(n+k),n,z); ztrans((-1)^n*a^n,n,z); ztrans(1-a^n,n,z); ztrans(n*a^n,n,z); ztrans(n^3*a^n,n,z); ztrans(binomial(n,m)*a^n,n,z); ztrans(1/(n+1),n,z); ztrans(1/(n+2),n,z); ztrans((-1)^(n)/(n+1),n,z); ztrans((-1)^(n)/(n+2),n,z); ztrans(a^(n-1)/(n+1),n,z); ztrans(a^(n+k)/(n+1),n,z); ztrans(a^n/factorial(n),n,z); ztrans((n+1)*a^n/factorial(n),n,z); ztrans(1/factorial(n-1),n,z); % ERROR message o.k. ztrans((-1)^n/factorial(2*n+1),n,z); ztrans((-1)^n/factorial(2*n),n,z); ztrans(1/factorial(2*n+1),n,z); ztrans(1/factorial(2*n-1),n,z); ztrans(1/factorial(2*n+3),n,z); ztrans(1/factorial(2*n),n,z); ztrans(1/factorial(2*n+2),n,z); ztrans(a^n/factorial(2*n+1),n,z); ztrans(a^n/factorial(2*n),n,z); ztrans(e^(a*n),n,z); ztrans(e^(a*(n+k)),n,z); ztrans(sinh(a*n),n,z); ztrans(cosh(a*n),n,z); ztrans(sinh(a*n+p),n,z); ztrans(cosh(a*n+p),n,z); ztrans(a^n*sinh(a*n),n,z); ztrans(a^n*cosh(a*n),n,z); ztrans(n*sinh(a*n),n,z); ztrans(n*cosh(a*n),n,z); ztrans(n^2*a^n*sinh(b*n),n,z); ztrans(sin(b*n),n,z); ztrans(cos(b*n),n,z); ztrans(sin(b*n+p),n,z); ztrans(cos(b*n+p),n,z); ztrans(e^(a*n)*sin(b*n),n,z); ztrans(e^(a*n)*cos(b*n),n,z); ztrans((-1)^n*e^(a*n)*sin(b*n),n,z); ztrans((-1)^n*e^(a*n)*cos(b*n),n,z); ztrans(n*sin(b*n),n,z); ztrans(n*cos(b*n),n,z); ztrans(n^2*a^n*sin(b*n),n,z); ztrans(cos(b*(n+1))/(n+1),n,z); ztrans(sin(b*(n+1))/(n+1),n,z); ztrans(cos(b*(n+2))/(n+2),n,z); ztrans((-1)^(n)*cos(b*(n+1))/(n+1),n,z); ztrans((-1)^(n)*sin(b*(n+1))/(n+1),n,z); ztrans(cos(b*n)/factorial(n),n,z); ztrans(sin(b*n)/factorial(n),n,z); ztrans(a*f(n)+b*g(n)+c*h(n),n,z); ztrans(sum(f(k)*g(n-k),k,0,n),n,z); ztrans(sum(f(k),k,0,n),n,z); ztrans(sum(f(k),k,-2,n),n,z); ztrans(sum(f(k),k,3,n),n,z); ztrans(sum(f(k),k,0,n+2),n,z); ztrans(sum(f(k),k,0,n-3),n,z); ztrans(sum(f(k),k,-2,n+3),n,z); ztrans(sum(1/factorial(k),k,0,n),n,z); ztrans(sum(1/factorial(k+2),k,0,n),n,z); ztrans(n^2*sum(1/factorial(k),k,0,n),n,z); ztrans(sum(n^2/factorial(k),k,0,n),n,z); ztrans(sum(1/k,k,0,n),n,z); % ERROR o.k. ztrans(sum(1/(k+1),k,0,n),n,z); ztrans(sum(1/(k+3),k,0,n),n,z); ztrans(f(n+k),n,z); % output=input ztrans(f(n+2),n,z); ztrans(f(n-k),n,z); % output=input ztrans(f(n-3),n,z); % output=input ztrans(a^n*f(n),n,z); ztrans(n*f(n),n,z); ztrans(1/a^n,n,z); ztrans(1/a^(n+1),n,z); ztrans(1/a^(n-1),n,z); ztrans(2*n+n^2-3/4*n^3,n,x); ztrans(n^2*cos(n*x),n,z); ztrans((1+n)^2*f(n),n,z); ztrans(n^2*f(n),n,z); ztrans(n/factorial(n),n,z); ztrans(n^2/factorial(n),n,z); ztrans(a^n/factorial(n),n,z); ztrans(1/(a^n*factorial(n)),n,z); ztrans(sum(f(k)*g(n-k),k,0,n),n,z); ztrans(sum(f(k),k,0,n-1),n,z); ztrans(sum(f(k),k,0,n),n,z); ztrans(sum(1/factorial(k),k,0,n),n,z); ztrans(sum(k/factorial(k),k,0,n),n,z); ztrans(sum(a^k*k^2/factorial(k),k,0,n),n,z); ztrans(a^n*f(n),n,z); ztrans(binomial(n,k),n,z); ztrans(1/(n+1),n,z); ztrans(n/factorial(2*n+1),n,z); ztrans(a^n*sin(n*x+y),n,z); ztrans(n^3*sin(n*x+y),n,z); ztrans((n+1)/factorial(n),n,z); ztrans(factorial(n)/(factorial(k)*factorial(n-k)),n,z); % Examples for inverse Z transformation invztrans(z/(z-1),z,n); invztrans(z/(z+1),z,n); invztrans(z/(z-1)^2,z,n); invztrans(z*(z+1)/(z-1)^3,z,n); invztrans(z/(z-1)^m,z,n); % invztrans(z/(z-1)^(m+1),z,n); % not yet supported invztrans(z/(z-1)^4,z,n); invztrans((-1)^m*z/(z+1)^m,z,n); % not yet supported invztrans(z/(z+1)^4,z,n); % invztrans(z^(k+1)/(z-1)^(m+1),z,n); % not yet supported invztrans(z^4/(z-1)^m,z,n); % 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); invztrans(z/(z-a),z,n); invztrans(z/(z+a),z,n); invztrans(z*(1-a)/((z-1)*(z-a)),z,n); invztrans(z*a/(z-a)^2,z,n); invztrans(z*3/(z-3)^2,z,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); invztrans(z*log(z/(z-1)),z,n); invztrans(z*log(1+1/z),z,n); invztrans(z*log(z/(z-a)),z,n); invztrans(e^(a/z),z,n); invztrans(e^(1/(a*z)),z,n); invztrans((1+a/z)*e^(a/z),z,n); invztrans(e^(a/z)*(a+z)/z,z,n); invztrans(sqrt(z)*sin(1/sqrt(z)),z,n); invztrans(cos(1/sqrt(z)),z,n); invztrans(sqrt(z)*sinh(1/sqrt(z)),z,n); invztrans(cosh(1/sqrt(z)),z,n); invztrans(sqrt(z/a)*sinh(sqrt(a/z)),z,n); invztrans(cosh(sqrt(a/z)),z,n); invztrans(z/(z-e^a),z,n); invztrans(z*sinh(a)/(z^2-2*z*cosh(a)+1),z,n); invztrans(z*(z-cosh(a))/(z^2-2*z*cosh(a)+1),z,n); invztrans(z*(z*sinh(p)+sinh(a-p))/(z^2-2*z*cosh(a)+1),z,n); % trigsimp(ws); % trigsimp(ws,combine); invztrans(z*(z*cosh(p)-cosh(a-p))/(z^2-2*z*cosh(a)+1),z,n); % trigsimp(ws); % trigsimp(ws,combine); invztrans(a*z*sinh(a)/(z^2-2*a*z*cosh(a)+a^2),z,n); invztrans(z*(z-a*cosh(a))/(z^2-2*a*z*cosh(a)+a^2),z,n); invztrans(z*(z^2-1)*sinh(a)/(z^2-2*z*cosh(a)+1)^2,z,n); % trigsimp(ws); invztrans(z*((z^2+1)*cosh(a)-2*z)/(z^2-2*z*cosh(a)+1)^2,z,n); invztrans(z*sin(b)/(z^2-2*z*cos(b)+1),z,n); invztrans(z*(z-cos(b))/(z^2-2*z*cos(b)+1),z,n); invztrans(z*(z*sin(p)+sin(b-p))/(z^2-2*z*cos(b)+1),z,n); % trigsimp(ws); % trigsimp(ws,combine); invztrans(z*(z*cos(p)-cos(b-p))/(z^2-2*z*cos(b)+1),z,n); % trigsimp(ws); % trigsimp(ws,combine); invztrans(z*e^(a)*sin(b)/(z^2-2*z*e^a*cos(b)+e^(2*a)),z,n); invztrans(z*(z-e^a*cos(b))/(z^2-2*z*e^a*cos(b)+e^(2*a)),z,n); invztrans(-z*e^a*sin(b)/(z^2+2*z*e^a*cos(b)+e^(2*a)),z,n); invztrans(z*(z+e^a*cos(b))/(z^2+2*z*e^a*cos(b)+e^(2*a)),z,n); invztrans(z*(z^2-1)*sin(b)/(z^2-2*z*cos(b)+1)^2,z,n); % 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); % trigsimp(ws,expon); % trigsimp(ws,trig); invztrans(z*log(z/sqrt(z^2-2*z*cos(b)+1)),z,n); invztrans(z*atan(sin(b)/(z-cos(b))),z,n); invztrans(z*log(sqrt(z^2+2*z*cos(b)+1)/z),z,n); invztrans(z*atan(sin(b)/(z+cos(b))),z,n); invztrans(cos(sin(b)/z)*e^(cos(b)/z),z,n); invztrans(sin(sin(b)/z)*e^(cos(b)/z),z,n); invztrans((f+a*z+b*z^2)/(c+d*z+e*z^2),z,n); % Example 1 in Bronstein/Semendjajew, p. 651 f(0):=0; f(1):=0; f(2):=9; f(3):=-2; 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); ztransresult:=solve(equation,ztrans(f(n),n,z)); result:=invztrans(part(first(ztransresult),2),z,n); % Example 2 in Bronstein/Semendjajew, p. 651 clear(f); operator f; f(0):=0; f(1):=1; equation:=ztrans(f(n+2)-4*f(n+1)+3*f(n)-1,n,z); ztransresult:=solve(equation,ztrans(f(n),n,z)); result:=invztrans(part(first(ztransresult),2),z,n); % Other example: clear(f); operator f; f(0):=1; f(1):=1; operator tmp; equation:=ztrans((n+1)*f(n+1)-f(n),n,z); equation:=sub(ztrans(f(n),n,z)=tmp(z),equation); load(odesolve); oderesult:=odesolve(equation,tmp(z),z); preresult:=invztrans(part(first(oderesult),2),z,n); solveresult:= solve({sub(n=0,preresult)=f(0),sub(n=1,preresult)=f(1)},arbconst(1)); result:=preresult where solveresult; end;