
    \h3                         S r SSKJrJr  SSKJr  SSKJr  SSKJ	r	J
r
  SSKJrJr  SSKJr  SSKJr  SS	KJr  SS
KJr  SSKJrJrJr  SSKJrJrJrJrJrJ r J!r!J"r"  S r#S r$S r%S r&S r'S r(S r)S r*S r+S r,S r-g)z;Tests for Gosper's algorithm for hypergeometric summation.     )Rationalpi)S)Symbol)binomial	factorial)explog)sqrt)gamma)Poly)simplify)gosper_normal
gosper_sumgosper_term)abjkmnrxc            
         S[         -  S-   SS[         -  S-   -  S[         -  S-   -  [         4n [        U 6 [        [        SS5      [         5      [        [         [        SS5      -   5      [        [         [        SS5      -   5      4:X  d   e[        U SS06[        SS5      [         [        SS5      -   [         [        SS5      -   4:X  d   eg )N               polysF)r   r   r   r   )eqs    X/var/www/auris/envauris/lib/python3.13/site-packages/sympy/concrete/tests/test_gosper.pytest_gosper_normalr#      s    	
1q!QqS1W+qsQw'	*B"	hq!na	 $q8Aq>'9":DXaQR^AS<TUV V V"*E*	!QXa^+Q!Q-?@A A A    c                      [        S[        -  S-   [        [        5      -  [        S[        -  S-   5      -  [        5      [        * [        R                  -
  [        [        SS5      -   -  :X  d   eg )Nr   r   r   )r   r   r   r   Halfr    r$   r"   test_gosper_termr(      sj    !a	" QqS1W "'(b166kAA4F%GH H Hr$   c                  	   [        S[        S[        45      S[        -   :X  d   e[        [        [        S[        45      [        S[        -   -  S-  :X  d   e[        [        S-  [        S[        45      [        S[        -   -  SS[        -  -   -  S-  :X  d   e[        [        S-  [        S[        45      [        S-  S[        -   S-  -  S-  :X  d   e[        S[        -  [        S[        45      SS[        -  -  S-
  :X  d   e[        [        [        5      [        S[        45      b   e[        [	        [        [        5      [        S[        45      b   e[        [        [        5      [        S-  -  [        S[        45      b   e[        [        S-
  [        [        5      -  [        S[        45      b   e[        [        [        [        5      -  [        5      [        [        5      :X  d   e[        [        [        [        5      -  [        S[        45      [        [        [        5      -  [        [        5      -   S-
  :X  d   e[        S[        -  [	        [        [        5      -  [        S[        45      S:X  d   e[        S[        -  [	        [        [        5      -  [        S[
        45      S[
        -  * [
        [        -
  -  [	        [        [
        5      -  [        -  :X  d   e[        S[        -  S-   [        [        5      -  [        S[        -  S-   5      -  [        S[        45      S[        S[        -  S-   5      -  [        [        5      -
  [        S[        -  S-   5      -  :X  d   e[        [        [        [        -   [        -   -  [        [        -  -  [        [        -  -  [        [        [        -   5      [        [        [        -   5      -  -  [        S[
        45      R                  5       [        [
        [        [        5      -  [
        [        [        5      -  -   5      * [        [        S-   5      -  [        [        S-   5      -  [        [        5      [        [        5      -  [        [        [
        -   S-   5      -  [        [        [
        -   S-   5      -  -  S[        [        5      [        [        5      -  -  -   :X  d   eg )Nr   r   r      r   r   )r   r   r   r   r   r   r   r   r   r	   r
   r   r'   r$   r"   test_gosper_sumr,      s   a!Q#q1u,,,a!Q#q!a%y{222adQ1I&!QU)Q1W*=a*????adQ1I&!Q$Az/!*;;;;adQ1I&!AqD&1*444ilQ1I.666hq!nq!Qi0888il1a4'!Q3;;;q1uil*Q1I6>>>a	!na(IaL888	)A,Aq	#&'	!ny|&Ca&GH H H rAghq!n,q!Qi8A===
Q1~ !1ay*/1AgXq1u-=hq!n-LQ-NO O O qsQw	!,YqsQw-??!QK	
9QqS1W		!	,i!a.@@A A A 	1q519ad1a41q5!1)AE2B!BC	
Aq	8:#aAh3q6&9":!:5Q<!G	q1u"Qxa(q1uqy)99%A	:JJ"L
U1XeAh
"      r$   c                     [        [        [        5      [        [        S-
  -  S-  :X  d   e[        [        S-  [        5      [        [        S-
  -  S[        -  S-
  -  S-  :X  d   e[        S[        [        S-   -  -  [        5      S[        -  :X  d   e[        S[        S-  -  S[        S-  -  -   S	[        S-  -  -   S
[        -  -   S-   * [        S[        -  S-   5      -  SS[        -  S-   -  [        S[        -  S-   5      -  -  [        5      S[        -  S-   [        S-  S[        -  -   S-   -  [        S[        -  S-   5      -  [        S[        -  S-   5      -  :X  d   eg )Nr   r   r*   r+      r      r   i  i  i     r   )r   r   r   r'   r$   r"   test_gosper_sum_indefiniter1   >   sP   aq!a%y{***adA!QU)QqS1W"5a"7777aAEmQ'2a4///1a4#ad(*SAX5A=CDU1Q3L F qsQwKacAg689:<	
1q1a4!A#:>"51q>1%!a.@A A Ar$   c                     [        [        [        R                  [        [
        -
  S-   5      [        [        R                  [        [
        -   5      -  [
        S[        45      [        S[        -   [        -
  -  SS[        -  -   S[        -  -   -  [        [        R                  S[        -   [        -
  5      -  [        [        R                  [        [        -   5      -  [        SS[        -  -   -  -  :X  d   eg )Nr   r+   r   )r   r   r   r&   r   r   r   r'   r$   r"   test_gosper_sum_parametricr3   H   s    hqvvq1uqy1(1661q52IIAqRS9U	1q519rAaCx!A#~&xA	'BBQ	 !"A!G	.. . .r$   c                      [        [        S-  [        S5      -   [        S[        45      [        S-   S[        S-  -  [        -   S[        S5      -  -   -  S-  :X  d   eg )Nr   r   r   r*   )r   r   r   r   r'   r$   r"   test_gosper_sum_algebraicr5   N   s]    	1tAwAq	#'(1uqAvzAd1gI/E&Fq&HI I Ir$   c                  L   [        S[        -  [        5      S[        -  -  n SS[        -  -   [        S[        -  [        5      -  S[        -  -  nSS[        -  -   SS[        -  -   -  [        S[        -  [        5      -  SS[        -  -  -  nSS[        -  -   SS[        -  -   -  SS[        -  -   -  [        S[        -  [        5      -  SS[        -  -  -  nSS[        -  -   SS[        -  -   -  SS[        -  -   -  SS[        -  -   -  [        S[        -  [        5      -  SS[        -  -  -  n[        U [        S	[        45      U:X  d   e[        U[        S	[        45      U:X  d   e[        U[        S	[        45      U:X  d   e[        U[        S	[        45      U:X  d   eg )
Nr   r   r   r   r      r0   i   r   )r   r   r   r   )f1f2f3f4f5s        r"   test_gosper_sum_iteratedr>   S   sy   	!A#q	!Q$	B
ac'8AaC#	#AqD	(B
ac'A!G	Xac1-	-qAv	6B
ac'A!G	a!A#g	&x!Q'7	7AqD	AB
ac'A!G	a!A#g	&AaC	0!A#q1A	A3q!t8	LBb1a)$***b1a)$***b1a)$***b1a)$***r$   c                  X   [         S-  n [         S-  S[         -  -  nS[         S-  [        S5      [         -  -   S-
  -  n[         S-  S[         -  -  [        S[         -  [         5      -  n[        S[         -  5      [        [         5      [        [         S-   5      -  [        [         S-   5      -  S[         -  -  -  n[        S[         -  [         5      S-  [         S-   SS[         -  -  -  -  nS[         -  S-
  [        S[         -  [         5      S-  -  S[         -  S-
  S-  SS[         -  -  -  -  n[         [        [         [        R
                  -
  5      S-  -  [        [         S-   5      S-  -  n[        [        S-   -  S[        -  S-   -  S[        S-  -  S[        -  -   S-
  -  S-  nSS[        S-   -  [        S-  S[        S-  -  -
  S	[        -  -   S
-
  -  -   n	[        S-   [        [        S-  S[        -  -
  S-   -  [        S5      -  S[        S-  -  S[        S-  -  -
  S[        -  -   S-
  -
  -  S[        S-  -  [        S5      -  [        S-  -   S[        S-  -  -   S-
  -  S-  n
[        SS5      SS[        -  -  [        S-   -  S[        S-  -  S[        S-  -  -   S[        S-  -  -   S[        -  -
  S-   -  S[        S[        -  [        5      -  -  -   n[        SS5      S[        S-  -  S[        -  -   S-   [        S[        -  S-   5      -  SS[        -  -  [        [        5      -  [        [        S-   5      -  [        [        S-   5      -  -  -   nS[        -  S-   S-  [        S[        -  [        5      S-  -  SS[        -  -  [        S-   -  -  n[        S[        -  [        5      S-  * SS[        -  -  -  nS[        -  S[        -  S-   S-  S[        -  S-   -  [        [        [        R
                  -
  5      S-  -  [        [        S-   5      S-  -  -
  n[        U [         S[        45      nUb  [        UU-
  5      S:X  d   e[        U[         S[        45      nUb  [        UU	-
  5      S:X  d   e[        U[         S[        45      nUb  [        UU
-
  5      S:X  d   e[        U[         S[        45      nUb  [        UU-
  5      S:X  d   e[        U[         S[        45      nUb  [        UU-
  5      S:X  d   e[        U[         S[        45      nUb  [        UU-
  5      S:X  d   e[        U[         S[        45      nUb  [        UU-
  5      S:X  d   e[        U[         S[        45      nUb%  [        UU-
  5      R                  [        5      S:X  d   eg )Nr   r   r   r   r   r.         	      r0      r*      ?   p         i  iQ   i     (   r   )r   r   r   r   r   r&   r   r   r   r   r   rewriter   )f1af1bf1cf1df1ef1ff1gf1hg1ag1bg1cg1dg1eg1fg1gg1hgs                    r"   test_gosper_sum_AeqB_part1r`   c   sM   
Q$C
Q$q!t)C
QTDGAI!
"C
Q$q!t)HQqS!$
$C
AaC.)A,yQ'77	!a%8HHQN
OC
1Q3
A
Aq1Q3x/
0CQ37HQqS!$a'
'!A#'Aa!A#h)>
?C
Ia!&&j!1$
$Yq1u%5q%8
8C
QU)QqS1W
qAv!|a/
0
3C
q1q5z1a4!AqD&=1Q3.34
4Cq51adQqSj1n%d1g-	!Q$1a4"Q$"$ %&'1fT!Wnq!t&;a1f&Dq&HJJKLC
2s
a1fa!enbAgAqD.@2ad7.JT// HQqS!,,. .C
2q/R1Ws1u_s2I	!a5 RU(9Q<'	!a%(881q59IIK KCQ37Q,x!Q'*
*A!Ha!e,<
=CAaCQ
q1Q3x
'C
B$1q1acAg&yQVV'<a'??	!a%@PRS@SS
SC3Aq	"A=Xa#g.!3333Aq	"A=Xa#g.!3333Aq	"A=Xa#g.!3333Aq	"A=Xa#g.!3333Aq	"A=Xa#g.!3333Aq	"A=Xa#g.!3333Aq	"A=Xa#g.!3333Aq	"A =Xa#g.66u=BBBBr$   c                     [         S-  [        [         -  -  n [         [        S-  -
  [        [        [         5      -  n[	        [         S-
  5      S-  [	        [         [
        -
  5      [	        [         [
        -   5      -  -  n[        * [        S-   -  [        S-
  S-  -  [        [        S-   -  [        S-  [        S-  -  S[        -  [        S-  -  -
  [        S-  -   S[        -  [        -  -
  S[        -  -   [        -   S-   -  [        S-
  S-  -  -   n[        [        -
  [        [        [        5      -  S-  n[	        S[
        -
  5      [	        S[
        -   5      -  nSU-  SS[
        S-  -  -
  -  [	        [        5      S-  [
        S-  [	        [        [
        -
  5      -  [	        [        [
        -   5      -  -  -   n[        U [         S[        45      nUb  [        Xs-
  5      S:X  d   e[        U[         S[        45      nUb  [        Xt-
  5      S:X  d   e[        U[         S[        45      nUb  [        Xv-
  5      S:X  d   eg )Nr   r   r   r   )	r   r   r   r   r   r   r   r   r   )f2af2bf2cg2ag2bffg2cr_   s           r"   test_gosper_sum_AeqB_part2ri      s   
Q$q!t)Cqs7HQN
"C
AE
A
yQ/	!a%0@@
AC"a!e*a!eaZ
!	A#1QT	AaC1H$q!t+ac!e3ac9A=A#CDEEA:#N NCq5(1a.
 
"C	1q5	)AE*	*B
B$	AadF
lAoq!tIa!e,<'<Yq1u=M'MNOC 	3Aq	"A=Xag.!3333Aq	"A=Xag.!3333Aq	"A=Xag.!3333r$   c                     [        SSS9n [        SSS9n[        SSS9n[        SSS9nX"U -   U-   -  X-  -  X-  -  [        X -   5      [        X!-   5      -  -  nS[        U S-
  5      [        US-
  5      -  -  XS-   -  XS-   -  -  [        X-   5      [        X-   5      -  -  -
  n[        XBS	U45      n[        Xe-
  5      S	:X  d   eg )
Nr   T)positiver   r   )integerr   r   r   )r   r   r   r   )r   r   r   r   f2dg2dr_   s          r"   test_gosper_nanro      s    sT"AsT"AsD!AsD!A
UQY-
QT
!9QU#3Iae4D#D
EC
Yq1ui	A  !e*QQZ'15)9)AE:J)JKLC3Aq	"AAG!!!r$   c                     S[         S-  -  n S[         -  S-   S[         S-  -  S[         S-  -  -   S[         S-  -  -   S[         -  -   S-   -  nS[         -  [         S-  S[         -  -
  S-
  -  [         S-  [         S-   S-  -  -  n[         S-  S[         -  -  [         S-   [         S-   -  -  nS[         -  [         S-   -  nS[         S-
  -  [         S-  S[         -  -
  S-
  -  [         S-  [         S-   S-  -  [         S-
  S-  -  [         S-
  S-  -  -  n[         S-  S[         S-  -  -
  S[         -  -
  S	-
  S[         -  -  [         S-  [         S-   S-  -  [         S-   S-  -  [         S-   S-  -  -  n[        [        S-   -  S[        S-  -  S[        -  -   S-   -  nS[        -  [        S-  -  S-
  n[        SS5      S[        S-   -  [        S-
  -  [        S-   -  S-  -   n	[        S
S5      S[        S-
  S-  [        S-   S-  -  -  -   * n
[        SS	5      S[        S-   -  [        S-   S-  [        S-   S-  -  -  -   n[        U [         S[        45      nUb   e[        U[         S[        45      nUb  [	        X-
  5      S:X  d   e[        U[         S[        S-
  45      nUb  [	        X-
  5      S:X  d   e[        U[         S[        45      nUb  [	        X-
  5      S:X  d   e[        U[         S[        S-
  45      nUb   e[        U[         S[        45      nUb  [	        X-
  5      S:X  d   e[        U[         S[        45      nUb  [	        X-
  5      S:X  d   eg )Nr   r   r*   r      r         rB   r+      rE   r   )r   r   r   r   r   )f3af3bf3cf3df3ef3ff3gg3bg3cg3dg3fg3gr_   s                r"   test_gosper_sum_AeqB_part3r      sN   
AqD&CQ37Qq!tVa1f_qAv-!3a7
8C
Q$1qs
Q
Aq1uqj
1C
Q$q!t)a!ea!e_
%C
Q$A,C
QU)QTAaCZ!^
$adAEA:oq1uqj&@!a%!&K
LCa4"QT'>BqD 1$ad
*AqD!a%!OQUQJ,FEA:- C QU)Qq!tVac\A%
&C
Q$q!t)a-C
1a.1q1u:q1u-q1u5a7
7CRq1q51*a!eaZ"788
9C
2q/AAJQ
AEA:(=>
>C3Aq	"A993Aq	"A=Xag.!3333Aq1u&A=Xag.!3333Aq	"A=Xag.!3333Aq1u&A993Aq	"A=Xag.!3333Aq	"A=Xag.!3333r$   N).__doc__sympy.core.numbersr   r   sympy.core.singletonr   sympy.core.symbolr   (sympy.functions.combinatorial.factorialsr   r   &sympy.functions.elementary.exponentialr	   r
   (sympy.functions.elementary.miscellaneousr   'sympy.functions.special.gamma_functionsr   sympy.polys.polytoolsr   sympy.simplify.simplifyr   sympy.concrete.gosperr   r   r   	sympy.abcr   r   r   r   r   r   r   r   r#   r(   r,   r1   r3   r5   r>   r`   ri   ro   r   r'   r$   r"   <module>r      sp    A - " $ J = 9 9 & , H H , , ,AH
 BA.I

+ 'CT4(	"4r$   