|
HYPERG V 1.0
|
|
Demo
This page gives examples for the main functions of HYPERG V1.0.
Some results of this session may differ from those you will get by yourself.
It's due to minor changes in the program.
Bruno Gauthier, June 2, 1999.
|\^/| Maple V Release 3 (Univ-Marne La Vallee)
._|\| |/|_. Copyright (c) 1981-1994 by Waterloo Maple Software and the
\ MAPLE / University of Waterloo. All rights reserved. Maple and Maple V
<____ ____> are registered trademarks of Waterloo Maple Software.
| Type ? for help.
[AddParam, BaseSplit, CheckRec, Ext1, Ext2, GenQRec, GenRec, Gosper, Homog,
HypContig, HypDiff, HypEval, HypOrder, HypPermBoth, HypPermLow, HypPermUp,
HypSimplify, HypSolRec, HypSum, HypSumPrint, HypToRec, HypToVHyp,
HypTransf, HypTransfPrint, HypergToRec, Inv, IsHYP, IsHomog, IsHyperg,
IsQHYP, IsQRF, IsRF, IsVHYP, IsWHYP, Lim, Linear1, Linear2, MapApply,
MapList, Neg1, Neg2, PolySolQRec, PolySolRec, QHypEval, QHypOrder,
QHypToWHyp, QRfEval, RatioSolRec, RecOrder, RfEval, ShiftRec, SimplifyRec,
Split, SubsRec, SumToHyp, SumToRec, Time, Trans, VHypToHyp, WHypToQHyp]
- Manipulation of recurrences:
> IsHomog( (n+2)*U(n+1)-n*U(n)=n, U(n) );
false
> Homog( (n+2)*U(n+1)-n*U(n)=n, U(n) );
2
n (n + 1) U(n) - 2 (n + 1) U(n + 1) + n (n + 3) U(n + 2) = 0
> ShiftRec( U(n)+U(n+1)=0, U(n) );
U(n + 1) + U(n + 2) = 0
> ShiftRec( U(n-1)+n*U(n+1)+3*n*U(n+2)=2*n, U(n), 3 );
U(n + 2) + U(n + 4) (n + 3) + (3 n + 9) U(n + 5) = 2 n + 6
> GenRec( {n!,2^n}, U(n) );
2
2 n (n + 1) U(n) + (- n - 3 n + 2) U(n + 1) + (n - 1) U(n + 2) = 0
> CheckRec(",U(n),n!);
true
- Evaluation of the well-known Vandermonde sum:
> Sum( binomial(M,k)*binomial(N,R-k), k );
-----
\
) binomial(M, k) binomial(N, R - k)
/
-----
k
> SumToHyp(");
binomial(N, R) HYP[[- M, - R], [N - R + 1], 1]
> HypSum(",1);
- R, must be an integer <= 0.
binomial(N, R) RF[N - R + 1 + M, R]
-----------------------------------
RF[N - R + 1, R]
> RfEval(");
binomial(N, R) GAMMA(N + 1 + M) GAMMA(N - R + 1)
------------------------------------------------
GAMMA(N - R + 1 + M) GAMMA(N + 1)
> simplify(",GAMMA);
GAMMA(N + 1 + M)
---------------------------------
GAMMA(R + 1) GAMMA(N - R + 1 + M)
- Polynomial and rational solutions of recurrence:
> PolySolRec(r(n+2)-2*r(n+1)+r(n)=2,r(n),{r(0)=-1,r(1)=m});
2
- 1 + m n + n
> PolySolRec(n*U(n+1)-(n+10)*U(n)=0,U(n));
_x10 n (n + 9) (n + 8) (n + 7) (n + 6) (n + 5) (n + 4) (n + 3) (n + 2) (n + 1)
> RatioSolRec(2*n*(n+3)*U(n)-(n+1)*(3*n+8)*U(n+1)+(n+2)^2*U(n+2)=0,U(n));
_x0
---
n
> RatioSolRec(2*n*(n+3)*U(n)-(n+1)*(3*n+8)*U(n+1)+(n+2)^2*U(n+2)=0,U(n),{U(1)=2});
2/n
> RatioSolRec((n+4)*U(n+2)+U(n+1)-(n+1)*U(n)=0,U(n));
_x0
---------------
(n + 2) (n + 1)
- Zeilberger's algorithm and hypergeometric solutions of recurrence:
> SumToRec( Sum(binomial(d,j)*binomial(d-r-j-1,r-j),j), r, R );
(- 2 d + 4 r + 2) R(r) + (r + 1) R(r + 1) = 0
> HypSolRec( ", R(r) );
- 1/2 d + r + 1/2
{- 4 -----------------}
r + 1
> normal(Product(op("),r=0..r-1));
r - 1
--------'
' | | - d + 2 r + 1
| | - 2 -------------
| | r + 1
| |
r = 0
> # another example with HYPergeometric notation:
> Sum(j^2*binomial(n,j),j);
-----
\ 2
) j binomial(n, j)
/
-----
j
> SumToHyp(");
n HYP[[2, - n + 1], [1], -1]
> HypToRec(",n,A);
(- 2 n - 4) A(n) + A(n + 1) n = 0
> HypSolRec(",A(n));
n + 2
{2 -----}
n
> simplify(product(op("),n=1..n-1));
n
1/4 2 (n + 1) n