
    \h+                        S SK Jr  S SKJr  S SKJr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Jr  S S
KJr  S SKJrJrJrJrJr  S SKJr  S SK J!r!J"r"  S SKJ#r#J$r$J%r%  S SK&J'r'J(r(  \
" S5      u  r)r*r+\
" S5      u  r,r-S r.S r/S r0S r1S r2S r3S r4S r5S r6S r7S r8S r9S r:S r;\(S  5       r<S! r=g")#    )Tuple)Function)ooRational)S)symbolsSymbol)
tribonacci	fibonacci)exp)sqrt)cossin)EmptySequence)SeqMulSeqAddSeqPer
SeqFormulasequence)Interval)IndexedIdx)SeqExpr	SeqExprOpRecursiveSeq)raisesslowzx y zzn mc                  (   [         R                  [        L d   e[         R                  R                  [         R                  L d   e[         R                  R                  [         R
                  L d   e[        [         R                  5      / :X  d   eg N)r   r   intervalEmptySetlengthZerolist     Y/var/www/auris/envauris/lib/python3.13/site-packages/sympy/series/tests/test_sequences.pytest_EmptySequencer(      sc    ??m+++??##qzz111??!!QVV+++ B&&&r&   c                     [        [        S[        [        5      [        [        SS5      5      n [        U [         5      (       d   eU R                  S[        [        4:X  d   eU R                  [        SS5      :X  d   eU R                  S:X  d   eU R                  S:X  d   eU R                  S:X  d   eU R                  [        4:X  d   e[        [        SSS5      [        [        S[        5      5      R                  [        L d   eg )N   r   
            )r   r   nyx
isinstancegenr    r   startstopr"   	variablesr   ss    r'   test_SeqExprr9      s     	aAaB0Aa!!!!55Q1I::!R(((77a<<66R<<88r>>;;1$5Aq>5Ar?3::b@@@r&   c                     [        S[        S4[        SS45      n [        U [         5      (       d   eU R                  [        S[        S5      :X  d   eU R                  S:X  d   eU R                  S5      S:X  d   eU R                  [        1:X  d   e[        U 5      S[        SS[        S/:X  d   eU S S  S[        SS[        S/:X  d   e[        S[        S4[        [        * S45      SS S[        SS[        S/:X  d   e[        [        S 5        [        [        S 5        [        [        S 5        [        [        [        S	-  [        S-  4[        S[        45      S S [        [        S	-  [        S-  [        [        S	-  [        S-  /:X  d   e[        [        [        S	-  [        S-  4[        S[        45      S S / S
Q:X  d   e[        [        [        4[        S[        45      S S S[        S	[        S[        /:X  d   eg )Nr*   r.   r         c                      [        SS5      $ )Nr*   r-   r.   r   r*   r-   )r   r%   r&   r'   <lambda>test_SeqPer.<locals>.<lambda>=   s    vi;r&   c                  :    [        S[        [        * [        45      $ )Nr>   )r   r1   r   r%   r&   r'   r@   rA   >   s    vi!bS">r&   c                  4    [        [        S-  S[        45      $ Nr-   r   )r   r/   r   r%   r&   r'   r@   rA   ?   s    vadQG4r&   r-   )r   r*      r.      }      )r   r/   r1   r2   
periodicalr   periodcoefffree_symbolsr$   r   r   
ValueErrormr7   s    r'   test_SeqPerrO   0   s   1ay1a)$Aa    <<5Aq>)))88q==771:??>>aS   7q!Q1a((((Q4Aq!Q1%%%%1a)a"a[)!A.1aAq!2DDDD
:;<
:>?
:451adAqD/Aq":.r2	
AqD!Q$1a4A&' ' '1adAqD/Aq":.r26KKKK1a&1a*%bq)aAq!Q-????r&   c            
      	   [        [        S-  [        SS45      n [        U [         5      (       d   eU R                  [        S-  :X  d   eU R	                  S5      S:X  d   e[        U 5      [        S5       Vs/ s H  oS-  PM	     sn:X  d   eU S S  [        S5       Vs/ s H  oS-  PM	     sn:X  d   e[        [        S-  [        [        * S45      SS [        S5       Vs/ s H  oS-  PM	     sn:X  d   e[        [        S-  S[        45      [        [        S-  [        S[        45      :X  d   e[        [        S-  S[        45      R                  [        [        5      [        [        S-  S[        45      :X  d   e[        [        [        S-  -  [        S[        45      R                  [        [        5      [        [        [        S-  -  [        S[        45      :X  d   e[        [        S 5        [        [        S 5        [        [        S	 5        [        [        [        S-  [        -   -  [        S
S45      nUR                  5       [        [        [        S-  -  [        [        -  -   [        S
S45      :X  d   e[        [!        [        [        S-  [        -   -  5      [        S
S45      nUR                  SS9[        [!        [        [        S-  -  5      [#        [        [        -  5      -  [!        [        [        -  5      [#        [        [        S-  -  5      -  -   [        S
S45      :X  d   eUR                  5       [        [!        [        [        S-  -  [        [        -  -   5      [        S
S45      :X  d   eUR                  SS9[        [!        [        [        S-  -  [        [        -  -   5      [        S
S45      :X  d   e[        [%        [        [        S-  [        -   -  5      [        S
S45      nUR                  5       [        [%        [        [        S-  -  5      [%        [        [        -  5      -  [        S
S45      :X  d   eUR                  SS9[        [%        [        [        S-  -  [        [        -  -   5      [        S
S45      :X  d   eUR                  SSS9[        [%        [        [        S-  [        -   -  5      [        S
S45      :X  d   eg s  snf s  snf s  snf )Nr-   r   r;   r.   	   r<   c                  (    [        [        S-  S5      $ )Nr-   r?   )r   r/   r%   r&   r'   r@   !test_SeqFormula.<locals>.<lambda>X   s    z!Q$	:r&   c                  H    [        [        S-  [        [        * [        45      $ Nr-   )r   r/   r   r%   r&   r'   r@   rS   Y   s    z!Q$RC=r&   c                  B    [        [        [        S-  -  S[        45      $ rD   )r   rN   r/   r   r%   r&   r'   r@   rS   Z   s    z!AqD&1b':r&   r*   d   T)trigF)	power_exp)mulrY   )r   r/   r2   formularK   r$   ranger   rN   subsr1   r   rM   r0   zexpandr   r   r   )r8   iseqs      r'   test_SeqFormularb   G   s   1a4!Q#Aa$$$$991771:??7U1X.X!tX....Q4%(+(QqD(++++adQQK(1-a1I1Q$1IIIIadQG$
1a4!Q(DDDDadQF#((A.*QTAq62JJJJa1fq!Rj)..q!41QT6Aq":&' ' ' ::;
:=>
::;
Q1q\Aq#;
/C::<:a1fqslQ3K@@@@
SAqD1H&1c{
3C::4: Js1QT6{3qs8/Cc!A#hsSTUVXYUYSY{FZ/Z]^`acf\g$hhhh::<:c!AqD&1Q3,&7!QEEEE::5:!ZAadFQqSL0AAq#;%OOOO
SAqD1H&As
4C::<:c!AqD&k#ac(&:Q3KHHHH:::&*S1a4!A#5FAs*TTTT::%5:1ZAq!taxL@QTUWXZ]S^5____/ /+1Is   9S+ S0$S5c                  $   [        [        S-  [        SS45      n [        S[        SS45      n[        [        S-  5      n[        [        S-  [        SS45      U :X  d   e[        S[        SS45      U:X  d   e[        [        S-  5      U:X  d   eg )Nr-   r   r;   r>   )r   r/   r   r   )formperinters      r'   test_sequencerg   g   s    adQ1I&D
Q1I
&Cq!tEAqD1a)$,,,I1ay)S000AqD>U"""r&   c                     [        [        S-  [        SS45      n [        S[        SS45      n[	        X5      nUR
                  [        S-  S4:X  d   eUR                  [        SS5      :X  d   eUR                  S:X  d   eUR                  S:X  d   eUR                  S:X  d   eUR                  [        [        4:X  d   eg )Nr-   r   r+   r>   r;   r<   )r   r/   r   rN   r   r3   r    r   r4   r5   r"   r6   )rd   re   r8   s      r'   test_SeqExprOpri   q   s    adQ2J'D
Q2J
'C$A55QT9%%%%::!R(((77a<<66R<<88q==;;1a&   r&   c            	         [        S[        S[        45      n [        [        S-  5      n[        S[        SS45      n[        [        S-  S5      n[        [        S-  S5      n[	        5       [
        R                  :X  d   e[	        [
        R                  5      [
        R                  :X  d   e[	        U 5      U :X  d   e[	        U [
        R                  5      U :X  d   e[	        X#5      [
        R                  :X  d   e[	        X$S	S
9nUR                  XB4:X  d   eUS S  / SQ:X  d   e[        U5      / SQ:X  d   e[        [	        XS	S
9[        5      (       d   e[	        X5      n[        U[         5      (       d   eU[        S[        SS45      :X  d   e[	        X5      n[        U[        5      (       d   eU[        S[        S-  -  S5      :X  d   e[	        XU 5      [	        U [        S[        S-  -  S5      5      :X  d   e[	        U[	        X05      5      [	        U [        S[        S-  -  S5      5      :X  d   e[	        U [	        X5      S	S
9[	        U [        S[        S-  -  S5      5      :X  d   e[	        [        S[        S[        45      [        S[        S[        45      5      [        S[        S[        45      :X  d   eg )Nr>   r   r-   r*   r-   r*   r;   r<   r+   r*   r;   Fevaluate)r-   r<   r+         )r-   rH   rH   r.   r.   r;   r-   rH   )r   r/   r   r   r   r   r   argsr$   r2   rN   re   rd   per_bouform_bou	form_bou2r8   s1s2s           r'   test_SeqAddrz   ~   s   
Q2J
'CadDVaAY'G!Q$(H1a4(I8q&&&!//"aoo555#;##q'3...'$777wE2A66i))))Q4%%%%7((((fSE:FCCCC		Bb&!!!!*Q1I6666		Bb*%%%%AadFG,,,,$#&sJqAvw/01 1 1$x-.sJqAvw/01 1 1#vd->sJqAvw/01 1 1 &!Q,fVaBZ.HIv1bz"# # #r&   c            	      x   [        S[        S[        45      n [        [        S-  5      n[        S[        SS45      n[        [        S-  [        SS45      n[        [        S-  S	5      n[	        5       [
        R                  :X  d   e[	        [
        R                  5      [
        R                  :X  d   e[	        U 5      U :X  d   e[	        U [
        R                  5      [
        R                  :X  d   e[	        X#5      [
        R                  :X  d   e[	        X$S
S9nUR                  XB4:X  d   eUS S  / SQ:X  d   e[        U5      / SQ:X  d   e[        [	        XS
S9[        5      (       d   e[	        X5      n[        U[         5      (       d   eU[        S[        SS45      :X  d   e[	        X5      n[        U[        5      (       d   eU[        [        S-  S5      :X  d   e[	        XU 5      [	        U [        [        S-  S5      5      :X  d   e[	        U[	        X05      5      [	        U [        [        S-  S5      5      :X  d   e[	        U [	        XS
S9S
S9[	        XUS
S9:X  d   e[	        [        S[        S[        45      [        S[        S[        45      5      [        S[        S[        45      :X  d   eg )Nr>   r   r-   rk   r*   r;   r<   r+   rm   Frn   )r*   rE   rQ          )r*   rH   r.   r-   r-   r<   rH   rl   )r*   rH   )
r   r/   r   r   r   r   r   rs   r$   r2   rt   s           r'   test_SeqMulr~      sy   
Q2J
'CadDVaAY'G!Q$Ar
+H1a4(I8q&&&!//"aoo555#;##q'1??:::'$777wE2A66i))))Q4$$$$7''''fSE:FCCCC		Bb&!!!!*Q1I6666		Bb*%%%%AqD'****$#&sJq!tW-./ / /$x-.sJq!tW-./ / /#vd',.8=?t)e45 5 5 &!Q,fVaBZ.HIv1bz"# # #r&   c                    ^ [        S[        S[        45      m[        [        S-  5      n T[        S5      -   [        S[        S[        45      :X  d   eU [        [        S-  5      -   [        [        S-  [        S-  -   5      :X  d   eTU -   [	        TU 5      :X  d   e[        [        U4S j5        [        [        U4S j5        g )	Nrk   r   r-   r-   r.   )r.   r;   r.   c                     > T [         -   $ r   r/   re   s   r'   r@   test_add.<locals>.<lambda>   	    cAgr&   c                     > [         T -   $ r   r   r   s   r'   r@   r      	    a#gr&   r   r/   r   r   r   r   	TypeErrorrd   re   s    @r'   test_addr      s    
!Q
$CadD&.!VFQ2J%????*QT""jA1&====:T****
9o&
9o&r&   c                    ^ [        S[        S[        45      m[        [        S-  5      n T[        S5      -
  [        S[        S[        45      :X  d   eU [        [        S-  5      -
  [        [        S-  [        S-  -
  5      :X  d   eTU -
  [	        TU * 5      :X  d   e[        [        U4S j5        [        [        U4S j5        g )	Nrk   r   r-   r   )r   r.   c                     > T [         -
  $ r   r   r   s   r'   r@   test_sub.<locals>.<lambda>   r   r&   c                     > [         T -
  $ r   r   r   s   r'   r@   r      r   r&   r   r   s    @r'   test_subr      s    
!Q
$CadD&.!VHq!Rj%AAAA:ad#$
1a4!Q$;(????:dU++++
9o&
9o&r&   c                  r   [        S[        S[        45      R                  S5      [        S[        S[        45      :X  d   e[	        [        S-  5      R                  S5      [	        S[        S-  -  5      :X  d   e[
        R                  R                  S5      [
        R                  :X  d   e[        S[        S[        45      [        S5      -  [        S[        S[        45      :X  d   e[	        [        S-  5      [	        [        S-  5      -  [	        [        S	-  5      :X  d   e[
        R                  [	        [        S-  5      -  [
        R                  :X  d   e[	        [        S-  5      [
        R                  -  [
        R                  :X  d   e[        [        S
 5        [        [        S 5        g )Nrk   r   r-   rr   rW   r   )r-   r<   r.   r;   c                  4    [        [        S-  5      [        -  $ rU   )r   r/   r%   r&   r'   r@   %test_mul__coeff_mul.<locals>.<lambda>   s    hq!tnq0r&   c                  4    [         [        [         S-  5      -  $ rU   )r/   r   r%   r&   r'   r@   r      s    a(1a4.0r&   )	r   r/   r   	coeff_mulr   r   r   r   r   r%   r&   r'   test_mul__coeff_mulr      sI   &1a*%//2fVaBZ6PPPPad%%a(JqAv,>>>>??$$S)Q__<<<&1a*%8v1bz"# # #adjA..*QT2BBBB??Z1--@@@adaoo-@@@
901
901r&   c                      [        S[        S[        45      * [        S[        S[        45      :X  d   e[        [        S-  5      * [        [        S-  * 5      :X  d   eg )N)r*   r   )r   r-   r-   )r   r/   r   r   r%   r&   r'   test_negr      sR    7Q2J''6'Aq":+FFFFq!t
AqD5 1111r&   c            	         [        S[        S[        45      n [        S[        S[        45      n[        [        S-  5      n[        [        S-  5      nX-   U-   [	        XU5      :X  d   eX-   U-
  [	        XU* 5      :X  d   eX-   [
        R                  -
  [	        X5      :X  d   eX-   U-   [	        [        S[        S[        45      U5      :X  d   e[
        R                  U -
  U * :X  d   eX"-   [        S[        S-  -  5      :X  d   eX-  U-  [        XU5      :X  d   eX"-  [        [        S-  5      :X  d   eX"* -  [        [        S-  * 5      :X  d   eX U-   -  [        U[	        X5      5      :X  d   eX U -   -  [        X!5      :X  d   eUR                  [        5      [        [        [        S-  -  [        S[        45      :X  d   eU R                  [        5      [        [        S[        -  4[        S[        45      :X  d   eg )Nrk   r   rr   r-   r.   )r.   r<   rH   )
r   r/   r   r   r   r   r   r   r   rN   )re   per2rd   form2s       r'   test_operationsr      s   
!Q
$C&1a*%DadDq!tE:5!9999:E6!:::::'6#+<<<<:vfq!Rj'A4 HHHH??S SD(((;*Qq!tV,,,,:5!9999;*QT****%<:q!te,,,,;6$s0B#CCCC9!3333>>!
1QT6Aq": >>>>==vq!A#hAr
;;;;r&   c                      [        S[        S9n [        SU 5      n[        XSS45      S S  [	        S5       Vs/ s H  o!R                  X5      PM     sn:X  d   e[        SU SS45      S S  / SQ:X  d   eg s  snf )	Nr`   )clsrr   r;   r<   rk   )r*   r-   r*   r-   r*   r-   )r   r   r   r   r\   r]   r   )r`   r   js      r'   test_Idx_limitsr     sw    AQAaQ#A&q*JA66!<*JJJJ&1a)$Q'+==== +Ks   A5c                  l   [        S[        SS45      R                  S5      SS/:X  d   e[        S[        SS45      R                  S5      / SQ:X  d   e[        [        [        S	-  -  [        [        -  -   [        S[
        45      R                  S5      / S
Q:X  d   e[        [        [        -  [        SS45      R                  S5      [        /:X  d   e[        S5      R                  SS5      / SQ:X  d   e[        S[        S5      -   S-  [        -  S[        S5      -   * S-  [        * -  -   5      R                  S5      SS/:X  d   e[        [        S[        S5      -   S-  [        -  -  [        S[        S5      -   * S-  [        * -  -  -   [        S[
        45      R                  S5      SS/:X  d   e[        S[        SS45      R                  S5      / :X  d   e[        S[        SS45      R                  S[        S9/ S 4:X  d   e[        S[        SS45      R                  S[        S9[        SS5      S[        SS5      /S[        S-  -  S[        -  -   S-
  S[        S	-  -  S[        S-  -  -
  S[        -  -   S-
  -  4:X  d   e[        [        [        5      5      R                  S[        S9SS/[        * [        S-  [        -   S-
  -  4:X  d   e[        [        [        5      5      R                  S[        S9/ SQ[        * [        S	-  [        S-  -   [        -   S-
  -  4:X  d   eg )N)r   r*   r*   r-   r.   r;   rE         "   7   r   r+   r,   r*   )r*   r-   rH            iF  i
  i2  i  iv i*    )r;   r   r<   ir.   )rH   irH   r      r   r>   r;   )r   r   r*   r-   )r*   r-   r.   rH   r<   rH   )r-   r.   rH   r;   r<   O   r<   )gfvar)r-   r.   rH   r;   rE         i   ir|   (   r   )r*   r*   r*   )
r   r/   find_linear_recurrencer1   r0   r   r   r   r   r
   r%   r&   r'   test_find_linear_recurrencer     sA   92J&&r*q!f5 5 5 !Rj004H H HAadF1Q3JAr
+BB2F  AqD1Qr(#::2>1#EEEG33B:iGGGa$q'k1_q(47{^A! 44R8QFC C CADGQ**Q!d1g+q0@QB/G-GGqH$$R(QF3 3 3KAq	*AA!DJJJNAq!9-DDQQDO
Dz  NAq!9-DDQQDO	"a#xA/#ad(RT/A2E1a4RTUVXYUYRYHY\^_`\`H`bcHc1def f fIaL!88!8D	
AAqD1HqL!"# # #JqM"99"19E	QB1q!ta!+,-. . .r&   c                      [        S5      n [        S5      n[        U " US-
  5      U " US-
  5      -   U " U5      USS/5      nUR                  S5      S:X  d   eg )Nr0   r/   r*   r-   r   r.   )r   r	   r   rK   )r0   r/   fibs      r'   test_RecursiveSeqr   4  sW    AsA
qQx!AE(*AaD!aV
<C99Q<1r&   N)>sympy.core.containersr   sympy.core.functionr   sympy.core.numbersr   r   sympy.core.singletonr   sympy.core.symbolr   r	   %sympy.functions.combinatorial.numbersr
   r   &sympy.functions.elementary.exponentialr   (sympy.functions.elementary.miscellaneousr   (sympy.functions.elementary.trigonometricr   r   sympy.seriesr   sympy.series.sequencesr   r   r   r   r   sympy.sets.setsr   sympy.tensor.indexedr   r   r   r   r   sympy.testing.pytestr   r   r1   r0   r^   r/   rN   r(   r9   rO   rb   rg   ri   rz   r~   r   r   r   r   r   r   r   r   r%   r&   r'   <module>r      s    ' ( + " - G 6 9 = &  $ - C C -
'
1au~1'A"@.`@#
!$#N%#P
'
'2 2
<0> . ..r&   