Sat May 30 16:21:44 PDT 1992
REDUCE 3.4.1, 15-Jul-92 ...
1: 1:
2: 2:
3: 3:
Time: 0 ms
4: 4: % Tests of the SUM package.
% Author: Fujio Kako (kako@kako.math.sci.hiroshima-u.ac.jp)
% 1) Summations.
sum(n,n);
N*(N + 1)
-----------
2
for i:=2:10 do write sum(n**i,n);
2
N*(2*N + 3*N + 1)
--------------------
6
2 2
N *(N + 2*N + 1)
-------------------
4
4 3 2
N*(6*N + 15*N + 10*N - 1)
------------------------------
30
2 4 3 2
N *(2*N + 6*N + 5*N - 1)
-----------------------------
12
6 5 4 2
N*(6*N + 21*N + 21*N - 7*N + 1)
-------------------------------------
42
2 6 5 4 2
N *(3*N + 12*N + 14*N - 7*N + 2)
--------------------------------------
24
8 7 6 4 2
N*(10*N + 45*N + 60*N - 42*N + 20*N - 3)
-----------------------------------------------
90
2 8 7 6 4 2
N *(2*N + 10*N + 15*N - 14*N + 10*N - 3)
-----------------------------------------------
20
10 9 8 6 4 2
N*(6*N + 33*N + 55*N - 66*N + 66*N - 33*N + 5)
-------------------------------------------------------
66
sum((n+1)**3,n);
3 2
N*(N + 6*N + 13*N + 12)
---------------------------
4
sum(x**n,n);
N
X *X
-------
X - 1
sum(n**2*x**n,n);
N 2 2 2 2
X *X*(N *X - 2*N *X + N - 2*N*X + 2*N + X + 1)
--------------------------------------------------
3 2
X - 3*X + 3*X - 1
sum(1/n,n);
1
SUM(---,N)
N
sum(1/n/(n+2),n);
N*(3*N + 5)
------------------
2
4*(N + 3*N + 2)
sum(log (n/(n+1)),n);
1
LOG(-------)
N + 1
% 2) Expressions including trigonometric functions.
sum(sin(n*x),n);
2*N*X + X
- COS(-----------)
2
---------------------
X
2*SIN(---)
2
sum(n*sin(n*x),n,1,k);
SIN(K*X + X)*K - SIN(K*X)*K - SIN(K*X)
----------------------------------------
2*(COS(X) - 1)
sum(cos((2*r-1)*pi/n),r);
2*R*PI
SIN(--------)
N
---------------
PI
2*SIN(----)
N
sum(cos((2*r-1)*pi/n),r,1,n);
0
sum(cos((2*r-1)*pi/(2*n+1)),r);
2*R*PI
SIN(---------)
2*N + 1
------------------
PI
2*SIN(---------)
2*N + 1
sum(cos((2*r-1)*pi/(2*n+1)),r,1,n);
2*N*PI
SIN(---------)
2*N + 1
------------------
PI
2*SIN(---------)
2*N + 1
sum(sin((2*r-1)*x),r,1,n);
- COS(2*N*X) + 1
-------------------
2*SIN(X)
sum(cos((2*r-1)*x),r,1,n);
SIN(2*N*X)
------------
2*SIN(X)
sum(sin(n*x)**2,n);
- SIN(2*N*X + X) + 2*SIN(X)*N
--------------------------------
4*SIN(X)
sum(cos(n*x)**2,n);
SIN(2*N*X + X) + 2*SIN(X)*N
-----------------------------
4*SIN(X)
sum(sin(n*x)*sin((n+1)*x),n);
- SIN(2*N*X + 2*X) + SIN(2*X)*N
----------------------------------
4*SIN(X)
sum(sec(n*x)*sec((n+1)*x),n);
SUM(SEC(N*X + X)*SEC(N*X),N)
sum(1/2**n*tan(x/2**n),n);
X
TAN(----)
N
2
SUM(-----------,N)
N
2
sum(sin(r*x)*sin((r+1)*x),r,1,n);
- SIN(2*N*X + 2*X) + SIN(2*X)*N + SIN(2*X)
---------------------------------------------
4*SIN(X)
sum(sec(r*x)*sec((r+1)*x),r,1,n);
SUM(SEC(R*X + X)*SEC(R*X),R,1,N)
sum(1/2**r*tan(x/2**r),r,1,n);
X
TAN(----)
R
2
SUM(-----------,R,1,N)
R
2
sum(k*sin(k*x),k,1,n - 1);
- SIN(N*X - X)*N + SIN(N*X)*N - SIN(N*X)
-------------------------------------------
2*(COS(X) - 1)
sum(k*cos(k*x),k,1,n - 1);
- COS(N*X - X)*N + COS(N*X)*N - COS(N*X) + 1
-----------------------------------------------
2*(COS(X) - 1)
sum(sin((2k - 1)*x),k,1,n);
- COS(2*N*X) + 1
-------------------
2*SIN(X)
sum(sin(x + k*y),k,0,n);
2*N*Y + 2*X + Y 2*X - Y
- COS(-----------------) + COS(---------)
2 2
--------------------------------------------
Y
2*SIN(---)
2
sum(cos(x + k*y),k,0,n);
2*N*Y + 2*X + Y 2*X - Y
SIN(-----------------) - SIN(---------)
2 2
-----------------------------------------
Y
2*SIN(---)
2
sum((-1)**(k - 1)*sin((2k - 1)*x),k,1,n + 1);
N
( - 1) *SIN(2*N*X + 2*X)
--------------------------
2*COS(X)
sum((-1)**(k - 1)*cos((2k - 1)*x),k,1,n + 1);
N
( - 1) *COS(2*N*X + 2*X) + 1
------------------------------
2*COS(X)
sum(r**k*sin(k*x),k,1,n - 1);
N N
- R *SIN(N*X - X)*R + R *SIN(N*X) - SIN(X)*R
-----------------------------------------------
2
2*COS(X)*R - R - 1
sum(r**k*cos(k*x),k,0,n - 1);
N N
- R *COS(N*X - X)*R + R *COS(N*X) + COS(X)*R - 1
---------------------------------------------------
2
2*COS(X)*R - R - 1
sum(sin(k*x)*sin((k + 1)*x),k,1,n);
- SIN(2*N*X + 2*X) + SIN(2*X)*N + SIN(2*X)
---------------------------------------------
4*SIN(X)
sum(sin(k*x)*sin((k + 2)*x),k,1,n);
- SIN(2*N*X + 3*X) + SIN(3*X)*N + SIN(3*X) - SIN(X)*N
--------------------------------------------------------
4*SIN(X)
sum(sin(k*x)*sin((2k - 1)*x),k,1,n);
6*N*X + X 2*N*X - 3*X 2*N*X - X
( - SIN(-----------) + SIN(-------------) + SIN(-----------)
2 2 2
2*N*X + X 3*X X 3*X
+ SIN(-----------) + SIN(-----) + SIN(---))/(4*SIN(-----))
2 2 2 2
% The next examples cannot be summed in closed form.
sum(1/(cos(x/2**k)*2**k)**2,k,1,n);
1
SUM(-----------------,K,1,N)
2*K X 2
2 *COS(----)
K
2
sum((2**k*sin(x/2**k)**2)**2,k,1,n);
2*K X 4
SUM(2 *SIN(----) ,K,1,N)
K
2
sum(tan(x/2**k)/2**k,k,0,n);
X
TAN(----)
K
2
SUM(-----------,K,0,N)
K
2
sum(cos(k**2*2*pi/n),k,0,n - 1);
2
2*K *PI
SUM(COS(---------),K,0,N - 1)
N
sum(sin(k*pi/n),k,1,n - 1);
2*N*PI - PI PI
- COS(-------------) + COS(-----)
2*N 2*N
------------------------------------
PI
2*SIN(-----)
2*N
% 3) Expressions including the factorial function.
for all n,m such that fixp m let
factorial(n+m)=if m > 0 then factorial(n+m-1)*(n+m)
else factorial(n+m+1)/(n+m+1);
sum(n*factorial(n),n);
FACTORIAL(N)*(N + 1)
sum(n/factorial(n+1),n);
- 1
----------------------
FACTORIAL(N)*(N + 1)
sum((n**2+n-1)/factorial(n+2),n);
- 1
----------------------
FACTORIAL(N)*(N + 2)
sum(n*2**n/factorial(n+2),n);
N
- 2*2
-----------------------------
2
FACTORIAL(N)*(N + 3*N + 2)
sum(n*x**n/factorial(n+2),n);
N
X *N
SUM(-----------------------------------------------------,N)
2
FACTORIAL(N)*N + 3*FACTORIAL(N)*N + 2*FACTORIAL(N)
for all n,m such that fixp m and m > 3 let
factorial((n+m)/2)= factorial((n+m)/2-1)*((n+m)/2),
factorial((n-m)/2)= factorial((n-m)/2+1)/((n-m)/2+1);
sum(factorial(n-1/2)/factorial(n+1),n);
2*N - 1
FACTORIAL(---------)
2
SUM(-------------------------------,N)
FACTORIAL(N)*N + FACTORIAL(N)
for all n,m such that fixp m and m > 3 clear factorial((n+m)/2);
for all n,m such that fixp m and m > 3 clear factorial((n-m)/2);
% 4) Expressions including combination.
operator comb;
% Combination function.
for all n ,m let comb(n,m)=factorial(n)/factorial(n-m)/factorial(m);
sum((-1)**k*comb(n,k),k,1,m);
M M
( - ( - 1) *FACTORIAL(N)*M + ( - 1) *FACTORIAL(N)*N
- FACTORIAL( - M + N)*FACTORIAL(M)*N)/(FACTORIAL( - M + N)
*FACTORIAL(M)*N)
sum(comb(n + p,q)/comb(n + r,q + 2),n,1,m);
( - FACTORIAL( - Q + R)*FACTORIAL(M + P - Q)*FACTORIAL(M + R)
*FACTORIAL(P)*M*P*Q - 2*FACTORIAL( - Q + R)*FACTORIAL(M + P - Q)
*FACTORIAL(M + R)*FACTORIAL(P)*M*P - FACTORIAL( - Q + R)
*FACTORIAL(M + P - Q)*FACTORIAL(M + R)*FACTORIAL(P)*M*Q - 2
*FACTORIAL( - Q + R)*FACTORIAL(M + P - Q)*FACTORIAL(M + R)
*FACTORIAL(P)*M + FACTORIAL( - Q + R)*FACTORIAL(M + P - Q)
2
*FACTORIAL(M + R)*FACTORIAL(P)*P*Q - FACTORIAL( - Q + R)
*FACTORIAL(M + P - Q)*FACTORIAL(M + R)*FACTORIAL(P)*P*Q*R + 2
*FACTORIAL( - Q + R)*FACTORIAL(M + P - Q)*FACTORIAL(M + R)
*FACTORIAL(P)*P*Q - 2*FACTORIAL( - Q + R)*FACTORIAL(M + P - Q)
*FACTORIAL(M + R)*FACTORIAL(P)*P*R + FACTORIAL( - Q + R)
2
*FACTORIAL(M + P - Q)*FACTORIAL(M + R)*FACTORIAL(P)*Q -
FACTORIAL( - Q + R)*FACTORIAL(M + P - Q)*FACTORIAL(M + R)
*FACTORIAL(P)*Q*R + 2*FACTORIAL( - Q + R)*FACTORIAL(M + P - Q)
*FACTORIAL(M + R)*FACTORIAL(P)*Q - 2*FACTORIAL( - Q + R)
*FACTORIAL(M + P - Q)*FACTORIAL(M + R)*FACTORIAL(P)*R -
FACTORIAL(M - Q + R)*FACTORIAL(M + P)*FACTORIAL(P - Q)*FACTORIAL(R)
2
*M*Q + FACTORIAL(M - Q + R)*FACTORIAL(M + P)*FACTORIAL(P - Q)
*FACTORIAL(R)*M*Q*R - 2*FACTORIAL(M - Q + R)*FACTORIAL(M + P)
*FACTORIAL(P - Q)*FACTORIAL(R)*M*Q + 2*FACTORIAL(M - Q + R)
*FACTORIAL(M + P)*FACTORIAL(P - Q)*FACTORIAL(R)*M*R -
FACTORIAL(M - Q + R)*FACTORIAL(M + P)*FACTORIAL(P - Q)*FACTORIAL(R)
2
*P*Q + FACTORIAL(M - Q + R)*FACTORIAL(M + P)*FACTORIAL(P - Q)
*FACTORIAL(R)*P*Q*R - 2*FACTORIAL(M - Q + R)*FACTORIAL(M + P)
*FACTORIAL(P - Q)*FACTORIAL(R)*P*Q + 2*FACTORIAL(M - Q + R)
*FACTORIAL(M + P)*FACTORIAL(P - Q)*FACTORIAL(R)*P*R -
FACTORIAL(M - Q + R)*FACTORIAL(M + P)*FACTORIAL(P - Q)*FACTORIAL(R)
2
*Q + FACTORIAL(M - Q + R)*FACTORIAL(M + P)*FACTORIAL(P - Q)
*FACTORIAL(R)*Q*R - 2*FACTORIAL(M - Q + R)*FACTORIAL(M + P)
*FACTORIAL(P - Q)*FACTORIAL(R)*Q + 2*FACTORIAL(M - Q + R)
*FACTORIAL(M + P)*FACTORIAL(P - Q)*FACTORIAL(R)*R)/(
FACTORIAL(M + P - Q)*FACTORIAL(M + R)*FACTORIAL(P - Q)
2 2
*FACTORIAL(R)*(M*P*Q - M*P*R - M*Q*R + M*Q + M*R - M*R - P*Q
2 2 2 2 3 2
+ 2*P*Q*R - P*R + Q *R - Q - 2*Q*R + 2*Q*R + R - R ))
sum((-1)**(k + 1)*comb(n,k)/(k + 1),k,1,n);
N
-------
N + 1
for all n ,m clear comb(n,m);
for all n,m such that fixp m clear factorial(n+m);
% 3) Examples taken from
% "Decision procedure for indefinite hypergeometric summation"
% Proc. Natl. Acad. Sci. USA vol. 75, no. 1 pp.40-42 (1978)
% R. William Gosper, Jr.
%
% n
% ____ 2
% f = || (b*k +c*k+d)
% k=1
%
% n
% ____ 2
% g = || (b*k +c*k+e)
% k=1
%
operator f,gg;
% gg used to avoid possible conflict with high energy
% physics operator.
for all n,m such that fixp m let
f(n+m)=if m > 0 then f(n+m-1)*(b*(n+m)**2+c*(n+m)+d)
else f(n+m+1)/(b*(n+m+1)**2+c*(n+m+1)+d);
for all n,m such that fixp m let
gg(n+m)=if m > 0 then gg(n+m-1)*(b*(n+m)**2+c*(n+m)+e)
else gg(n+m+1)/(b*(n+m+1)**2+c*(n+m+1)+e);
sum(f(n-1)/gg(n),n);
F(N)
---------------
GG(N)*(D - E)
sum(f(n-1)/gg(n+1),n);
2 2 2 2
(F(N)*(2*B *N + 4*B *N + 2*B + 2*B*C*N + 2*B*C + 2*B*D*N + 3*B*D
2 2
- 2*B*E*N - B*E + C*D - C*E + D - 2*D*E + E ))/(GG(N)*(
3 2 3 3 3 2 3 3
B *D*N + 2*B *D*N + B *D - B *E*N - 2*B *E*N - B *E
2 2 2 2 2 2 2
+ B *C*D*N + B *C*D - B *C*E*N - B *C*E + 2*B *D *N
2 2 2 2 2 2 2 2 2 2
+ 4*B *D *N + 2*B *D + B *D*E - 2*B *E *N - 4*B *E *N
2 2 2 2 2 2 2 2
- 3*B *E - B*C *D*N - 2*B*C *D*N - B*C *D + B*C *E*N
2 2 2 2 2
+ 2*B*C *E*N + B*C *E + 2*B*C*D *N + 2*B*C*D - 2*B*C*E *N
2 3 2 3 3 2 2
- 2*B*C*E + B*D *N + 2*B*D *N + B*D - 3*B*D *E*N
2 2 2 2 2 2
- 6*B*D *E*N - B*D *E + 3*B*D*E *N + 6*B*D*E *N + 3*B*D*E
3 2 3 3 3 3 3 3
- B*E *N - 2*B*E *N - 3*B*E - C *D*N - C *D + C *E*N + C *E
2 2 2 3 3 2 2
- C *D*E + C *E + C*D *N + C*D - 3*C*D *E*N - 3*C*D *E
2 2 3 3 3 2 2
+ 3*C*D*E *N + 3*C*D*E - C*E *N - C*E + D *E - 3*D *E
3 4
+ 3*D*E - E ))
for all n,m such that fixp m clear f(n+m);
for all n,m such that fixp m clear gg(n+m);
clear f,gg;
% 4) Products.
prod(n/(n+2),n);
2
--------------
2
N + 3*N + 2
prod(x**n,n);
2
(N + N)/2
X
prod(e**(sin(n*x)),n);
1
----------------------------------
COS((2*N*X + X)/2)/(2*SIN(X/2))
E
end;
5: 5:
Time: 5678 ms plus GC time: 255 ms
6: 6:
Quitting
Sat May 30 16:21:52 PDT 1992