
    \hK+                         S r SSKJrJrJrJrJrJrJrJ	r	J
r
JrJr  SSKJr  SSKJrJrJrJrJrJr  SSKJrJr  SSK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)zJTests for tools and arithmetics for monomials of distributed polynomials.     )itermonomialsmonomial_countmonomial_mulmonomial_divmonomial_gcdmonomial_lcmmonomial_maxmonomial_minmonomial_dividesmonomial_powMonomial)ExactQuotientFailed)abcxyz)Ssymbols)raisesc                  (   [        [        / S5      5      [        R                  1:X  d   e[        [        / S5      5      [        R                  1:X  d   e[        [        / S5      5      [        R                  1:X  d   e[        [        / SS5      5      [        R                  1:X  d   e[        [        / SS5      5      [        R                  1:X  d   e[        [        / SS5      5      [        R                  1:X  d   e[	        [
        S 5        [	        [
        S 5        [	        [
        S 5        [        [        / SS5      5      [        5       :X  d   e[        [        / SS5      5      [        5       :X  d   e[        [        / SS5      5      [        5       :X  d   e[	        [        S 5        [	        [        S	 5        [	        [        S
 5        [        [        [        /S5      5      [        R                  1:X  d   e[        [        [        /S5      5      [        R                  [        1:X  d   e[        [        [        /S5      5      [        R                  [        [        S-  1:X  d   e[        [        [        /S5      5      [        R                  [        [        S-  [        S-  1:X  d   e[        [        [        [        /S5      5      [        R                  1:X  d   e[        [        [        [        /S5      5      [        R                  [        [        1:X  d   e[        [        [        [        /S5      5      [        R                  [        [        [        S-  [        S-  [        [        -  1:X  d   e[        [        [        [        /S5      5      [        R                  [        [        [        S-  [        S-  [        S-  [        S-  [        [        -  [        [        S-  -  [        [        S-  -  1
:X  d   e[        SSS9u  pn[        [        XU/S5      5      [        R                  1:X  d   e[        [        XU/S5      5      [        R                  XU1:X  d   e[        [        XU/S5      5      [        R                  XX S-  US-  US-  X-  X-  X-  X-  X -  X!-  1:X  d   e[        [        XU/S5      5      1 [        R                  iU iUiUiU S-  iUS-  iUS-  iX-  iX-  iX-  iX-  iX -  iX!-  iU S-  iUS-  iUS-  iU S-  U-  iU S-  U-  iXS-  -  iX S-  -  iUS-  U -  iUS-  U-  iXS-  -  iX!S-  -  iUS-  U -  iUS-  U-  iXS-  -  iXS-  -  iX-  U -  iX-  U -  iX-  U-  iX-  U-  iX -  U-  iX!-  U-  iX-  U-  iX-  U-  iX-  U-  iX-  U -  iX -  U-  iX!-  U -  i:X  d   e[        [        [        X/S5      5      [        R                  1:X  d   e[        [        [        X/S5      5      [        R                  [        X1:X  d   e[        [        [        X/S5      5      [        R                  [        X[        U -  [        U-  X-  X-  [        S-  U S-  US-  1:X  d   e[        [        [        X/S5      5      [        R                  [        X[        U -  [        U-  X-  X-  [        S-  U S-  US-  [        S-  U S-  US-  [        S-  U -  [        S-  U-  [        U S-  -  XS-  -  U S-  U-  X-  U -  [        US-  -  XS-  -  US-  U -  X-  U-  [        U -  U-  [        U-  U -  1:X  d   e[        [        / / 5      5      [        R                  1:X  d   e[	        [        S 5        [	        [        S 5        [	        [        S 5        [	        [        S 5        [	        [        S 5        [	        [        S 5        [	        [        S 5        [	        [        S 5        [	        [        S 5        [	        [        S 5        [	        [        S 5        [	        [        S 5        [	        [        S 5        [	        [        S 5        [	        [        S 5        [	        [        S 5        [	        [        S 5        [	        [        S 5        [        [        [        /S/5      5      [        R                  1:X  d   e[        [        [        /S/5      5      [        R                  [        1:X  d   e[        [        [        /S/5      5      [        R                  [        [        S-  1:X  d   e[        [        [        /S/5      5      [        R                  [        [        S-  [        S-  1:X  d   e[        [        [        /S/S/5      5      [        [        S-  [        S-  1:X  d   e[        [        [        /S/S/5      5      [        S-  [        S-  1:X  d   e[        [        [        [        /SS5      5      [        S-  [        S-  [        -  [        [        S-  -  [        S-  1:X  d   e[        [        [        [        /SS5      5      [        S-  [        [        -  [        S-  [        S-  [        S-  [        -  [        [        S-  -  [        S-  1:X  d   e[        [        [        [        /SS/5      5      [        R                  1:X  d   e[        [        [        [        /SS/5      5      [        R                  [        1:X  d   e[        [        [        [        /SS/5      5      [        R                  [        [        S-  1:X  d   e[        [        [        [        /SS/SS/5      5      [        [        S-  1:X  d   e[        [        [        [        /SS/SS/5      5      [        S-  1:X  d   e[        [        [        [        /SS/5      5      [        R                  [        1:X  d   e[        [        [        [        /SS/5      5      [        R                  [        [        [        [        -  1:X  d   e[        [        [        [        /SS/5      5      [        R                  [        [        [        [        -  [        S-  [        [        S-  -  1:X  d   e[        [        [        [        /SS/SS/5      5      [        [        -  [        [        S-  -  1:X  d   e[        [        [        [        /SS/SS/5      5      [        [        S-  -  1:X  d   e[        [        [        [        /SS/5      5      [        R                  [        [        S-  1:X  d   e[        [        [        [        /SS/5      5      [        R                  [        [        [        [        -  [        S-  [        S-  [        -  1:X  d   e[        [        [        [        /SS/5      5      [        R                  [        S-  [        [        S-  -  [        [        [        -  [        S-  [        S-  [        S-  -  [        [        S-  [        -  1	:X  d   e[        SSS9u  pn[        [        XU/SS5      5      X -  U S-  X-  X-  X-  US-  US-  X!-  X-  1	:X  d   e[        [        XU/SS5      5      1 XS-  -  iXS-  -  iX -  U-  iX S-  -  iUS-  iX-  U-  iX!S-  -  iX-  U -  iX-  iUS-  U-  iU S-  U-  iX-  U-  iUS-  iU S-  iX!-  U -  iX-  U -  iX-  iUS-  U-  iXS-  -  iX!-  iX!-  U-  iX-  U -  iX-  U-  iXS-  -  iUS-  iX -  U-  iU S-  iX-  iX-  iX-  U-  iUS-  iU S-  U-  iUS-  U -  iUS-  U -  iX-  U-  iX -  i:X  d   e[        [        XU// S Q5      5      [        R                  1:X  d   e[        [        XU// S!Q5      5      SU1:X  d   e[        [        XU// S"Q5      5      SU1:X  d   e[        [        XU// S#Q5      5      U S1:X  d   e[        [        XU// S$Q5      5      US-  SU1:X  d   e[        [        XU// S%Q5      5      SXS-  1:X  d   e[        [        XU// S&Q5      5      U SU S-  1:X  d   e[        [        XU// S'Q5      5      SX!X-  X-  X U-  X-  U-  1:X  d   e[        [        XU// S(Q5      5      SX S-  US-  -  X-  US-  X U-  XS-  -  XS-  -  US-  -  U S-  U-  U S-  US-  -  US-  US-  U-  XS-  -  U-  US-  US-  -  X-  U S-  U-  U S-  US-  -  U-  XS-  U-  U-  XS-  -  XS-  -  X-  U-  U S-  US-  -  US-  -  X-  US-  -  U S-  U S-  U-  US-  -  1:X  d   e[        [        [        X// S Q5      5      [        R                  1:X  d   e[        [        [        X// S!Q5      5      SU1:X  d   e[        [        [        X// S"Q5      5      SU1:X  d   e[        [        [        X// S#Q5      5      [        S1:X  d   e[        [        [        X// S$Q5      5      US-  SU1:X  d   e[        [        [        X// S%Q5      5      SXS-  1:X  d   e[        [        [        X// S&Q5      5      [        S[        S-  1:X  d   e[        [        [        X// S'Q5      5      SX!X-  [        U-  [        [        U-  [        U-  U-  1:X  d   e[        [        [        X// S(Q5      5      SU[        S-  US-  -  X-  US-  [        [        U-  XS-  -  [        US-  -  US-  -  [        S-  U-  [        S-  US-  -  US-  US-  U-  [        US-  -  U-  US-  US-  -  [        U-  [        S-  U-  [        S-  US-  -  U-  U[        S-  U-  U-  [        US-  -  [        US-  -  [        U-  U-  [        S-  US-  -  US-  -  [        U-  US-  -  [        S-  [        S-  U-  US-  -  1:X  d   eg ))Nr         c                  .    [        [        / SS5      5      $ )Nr   r   nextr        X/var/www/auris/envauris/lib/python3.13/site-packages/sympy/polys/tests/test_monomials.py<lambda> test_monomials.<locals>.<lambda>       $}RA'>"?r   c                  .    [        [        / SS5      5      $ )Nr   r   r   r   r   r    r!   r"      r#   r   c                  .    [        [        / SS5      5      $ )Nr      r   r   r   r    r!   r"      r#   r   r&   c                  ,    [        [        / S5      5      $ Nsetr   r   r   r    r!   r"   %   s    s=R#89r   c                  6    [        [        [        /S5      5      $ r(   r+   r   r   r   r   r    r!   r"   &   s    s=!b#9:r   c                  @    [        [        [        [        /S5      5      $ r(   r+   r   r   r   r   r   r    r!   r"   '   s    s=!Q#<=r   zi j kF)commutativec                  .    [        [        / S/5      5      $ )Nr   r*   r   r   r    r!   r"   S       s=aS#9:r   c                  .    [        [        / S/5      5      $ Nr   r*   r   r   r    r!   r"   T   r2   r   c                  .    [        [        / S/5      5      $ Nr   r*   r   r   r    r!   r"   U   r2   r   c                  :    [        [        [        /S// 5      5      $ r4   r-   r   r   r    r!   r"   W   s    s=!qc2#>?r   c                  <    [        [        [        /SS// 5      5      $ Nr   r   r-   r   r   r    r!   r"   X   s    s=!q!fb#ABr   c                  <    [        [        [        // SQ/ 5      5      $ Nr   r   r&   r-   r   r   r    r!   r"   Y   s    s=!i#DEr   c                  :    [        [        [        // S/5      5      $ r4   r-   r   r   r    r!   r"   [   s    s=!b1##>?r   c                  <    [        [        [        // SS/5      5      $ r9   r-   r   r   r    r!   r"   \   s    s=!b1a&#ABr   c                  <    [        [        [        // / SQ5      5      $ r;   r-   r   r   r    r!   r"   ]   s    s=!b)#DEr   c                  J    [        [        [        [        /SS// SQ5      5      $ )Nr   r   r<   r/   r   r   r    r!   r"   _   s    s=!Q!Q#KLr   c                  T    [        [        [        [        [        // SQSS/5      5      $ )Nr<   r   r   r+   r   r   r   r   r   r   r    r!   r"   `   s    s=!QI1v#NOr   c                  <    [        [        [        /S/S/5      5      $ )Nr   r)   r-   r   r   r    r!   r"   b   s    s=!qcB4#@Ar   c                  J    [        [        [        [        /SS/SS/5      5      $ )Nr   r   r)   r/   r   r   r    r!   r"   c   s    s=!Q!Q!R#IJr   c                  .    [        [        / / S5      5      $ r4   r*   r   r   r    r!   r"   e       s=R#;<r   c                  .    [        [        / / S5      5      $ r6   r*   r   r   r    r!   r"   f   rF   r   c                  .    [        [        / / S5      5      $ Nr&   r*   r   r   r    r!   r"   g   rF   r   c                  J    [        [        [        [        /SS/SS/5      5      $ )Nr   r   r   r/   r   r   r    r!   r"   i   s    s=!Q!Q!Q#HIr   c                  T    [        [        [        [        [        // SQ/ SQ5      5      $ )N)r   r   r&   )r   r   r   rB   r   r   r    r!   r"   j   s    s=!QIy#QRr   r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )
r+   r   r   Oner   StopIteration
ValueErrorr   r   r   )ijks      r    test_monomialsrS      s;    }R#$///}R#$///}R#$///}RA&'AEE7222}RA&'AEE7222}RA&'AEE7222
=?@
=?@
=?@}RA&'35000}RA&'35000}RA&'35000
:9:
::;
:=>}aS!$%!%%000}aS!$%!%%333}aS!$%!%%AqD)9999}aS!$%!%%AqD!Q$)????}aVQ'(QUUG333}aVQ'(QUUAqM999}aVQ'(QUUAq!Q$1ac,JJJJ}aVQ'(UUAq!Q$1adAqD!A#qAvqAvFG G G g51GA!}aAY*+w666}aAY*+qQ/????}aAY*+EE1qD!Q$1ac13QS!#qsKL L L }aAY*+QUU A q ! QT 1a4 A qs AC  ac 13  qDQ$ !1qD1HdQh()qD23d( qD1H  dQh )*qD 34d( qD1H	  dQh	 )*qD	 34d(	
 CE
 3q5
 #$#a%
 *+Q
 12A
 89s1u CE 3q5 #$#a% *+Q 12A 89s1u   }aY*+w666}aY*+q!/????}aY*+q!!QqS!#qsTUWXTXZ[]^Z^`acd`d/eeee}aY*+UUAqQqS!A#qsACAq!tQTqD!Q$1qD1HadQh1HaQ$h1q!#a%1HaQ$h1q!#a%EAIq1uqy   }R$%!%%000
::;
::;
::;
:?@
:BC
:EF
:?@
:BC
:EF
:LM
:OP
:AB
:JK
:<=
:<=
:<=
:IJ
:RS}aS1#&'AEE7222}aS1#&'AEE1:555}aS1#&'AEE1ad+;;;;}aS1#&'AEE1adAqD+AAAA}aS1#s+,AqD!Q$???}aS1#s+,Aq!t<<<}aVQ*+1ad1fa1fad/KKKK}aVQ*+1ac1a4Aq!tAvqQRTUQUvWXZ[W[/\\\\}aVaV,-!%%888}aVaV,-!%%;;;}aVaV,-!%%AqD1AAAA}aVaVaV45!QTBBB}aVaVaV45!Q$???}aVaV,-!%%;;;}aVaV,-!%%Aqs1CCCC}aVaV,-!%%AqsAqD!AqD&1QQQQ}aVaVaV45!A#qAvFFF}aVaVaV45!AqD&AAA}aVaV,-!%%AqD1AAAA}aVaV,-!%%AqsAqD!Q$q&1QQQQ}aVaV,-UUAqD!AqD&!QqS!Q$1QT	1ad1fEF F F g51GA!}aAY1-.S!Q$QS!#q!tQT13<= = =}aAY1-.Q!tV Q!tV QSU AdF AqD !#a% a4 Q  qDFqDF$%CE+,a412A78s1u>?c!eEFSqDFdF$%C)*Q01A78s1u>?1fFGd CE a4 "# '(c ,-3q5 34Q$ 9:1Q AB1Q IJ1Q CE	 3	   }aAY	23w>>>}aAY	231v===}aAY	231v===}aAY	231v===}aAY	231a|CCC}aAY	231d|CCC}aAY	231ad|CCC}aAY	231ac1PQcSTSVWXSX7YYYY}aAY	23a419ac1a4aCa4a41qDFAqDAIq!tQT!VQ!tVAXqDAIqsAqDFAqDAIaKqDF1HdFAdFACE1a419QT>13q!t8QT1a4PQ6RSUVRV;   }aY	23w>>>}aY	231v===}aY	231v===}aY	231v===}aY	231a|CCC}aY	231d|CCC}aY	231ad|CCC}aY	231ac1aPQcSTUVSVWXSX7YYYY}aY	231a419ac1a4AaCa41a41qDFAqDAIq!tQT!VQq!tVAXqDAIqsAqDFAqDAIaKAqDF1HadFAadFAaCE1a419QT>1Q3q!t8QT1a4PQ6RSUVRV;  r   c                  L    [        SS5      S:X  d   e[        SS5      S:X  d   eg )Nr      r&   
   )r   r   r   r    test_monomial_countrW      s,    !Q1$$$!Q2%%%r   c                  (    [        SS5      S:X  d   eg )Nr&      r   r   r   r   rZ   rU   r   )r   r   r   r    test_monomial_mulr]          	9-:::r   c                  (    [        SS5      S:X  d   eg )NrY   r[   r   r   r   )r   r   r   r    test_monomial_divra      r^   r   c                  (    [        SS5      S:X  d   eg NrY   r[   )r   r   r   r    test_monomial_gcdrd      r^   r   c                  (    [        SS5      S:X  d   eg rc   )r   r   r   r    test_monomial_lcmrf      r^   r   c                  *    [        SSS5      S:X  d   eg )Nr&   rZ      r   ri   r   rU   r&   	   )rU   ri   rl   )r	   r   r   r    test_monomial_maxrm          	9i8IEEEr   c                  (    [        SS5      S:X  d   eg )Nr<   r&   )r&   rU   rl   )r   r   r   r    test_monomial_powrp      s    	1%222r   c                  *    [        SSS5      S:X  d   eg )Nrh   rj   rk   )r   r&   r   )r
   r   r   r    test_monomial_minrr      rn   r   c                  H    [        SS5      SL d   e[        SS5      SL d   eg )Nr<   )rZ   ri   rU   T)r   ri   rU   F)r   r   r   r    test_monomial_dividesrt      s,    Iy1T999Iy1U:::r   c                  j  ^^ [        S[        [        [        45      m[        S[        [        [        45      n TR	                  5       [        S-  [        S-  -  [        -  :X  d   eU R	                  5       [        S-  [        S-  -  :X  d   eTR	                  [
        [        [        5      [
        S-  [        S-  -  [        -  :X  d   eU R	                  [
        [        [        5      [
        S-  [        S-  -  :X  d   eTR                  S:X  d   eTR                  [        [        [        4:X  d   eU R                  S:X  d   eU R                  [        [        [        4:X  d   eTS:X  d   eU S:w  d   eTS:w  d   eU S:X  d   eTS:H  SL d   eTS   TS	   s=:X  a  S:X  d   e   eTS   TS
   s=:X  a  S:X  d   e   eTS   TS   s=:X  a  S:X  d   e   eU S   U S	   s=:X  a  S:X  d   e   eU S   U S
   s=:X  a  S:X  d   e   eU S   U S   s=:X  a  S:X  d   e   eTS S S:X  d   eU S S S:X  d   eTU -  [        S5      :X  d   eTU -  [        S5      :X  d   eTS-  [        S5      :X  d   eTS-  [        S5      :X  d   eTR                  U 5      [        S5      :X  d   eTR                  U 5      [        S5      :X  d   eTR                  S5      [        S5      :X  d   eTR                  S5      [        S5      :X  d   eTS-  [        S5      :X  d   eTS-  T:X  d   eTS-  [        S5      :X  d   eTS-  [        S5      :X  d   e[        S5      n[        S5       H  n UTU -  :X  d   eUT-  nM     [        [        U4S j5        [        S5      m[        [        U4S j5        [!        T5      S:X  d   e[!        T5      S:X  d   e[        ["        U4S j5        [        ["        U4S j5        [        [        U4S j5        [        [$        U4S j5        [        [$        U4S j5        g )NrY   r[   r&   rZ   r   r   Fr   r)   )r&   rZ   )r   r   r\   r`   rL   )rU      r   )rl      r&   rV   c                      > T [        S5      -  $ )N)ri   r   r   )r   ms   r    r!   test_Monomial.<locals>.<lambda>  s    (9*=(=r   r<   c                  $   > T R                  5       $ )N)as_expr)mms   r    r!   r}     s    rzz|r   zMonomial((1, 2, 3))zx**3*y**4*z**1c                     > T S-  $ r4   r   r{   s   r    r!   r}   	  	    !r   c                     > T S-  $ r4   r   r{   s   r    r!   r}   
  r   r   c                     > T S-  $ r(   r   r{   s   r    r!   r}     s	    q"ur   c                  &   > T R                  S5      $ rI   )gcdr{   s   r    r!   r}         aeeAhr   c                  &   > T R                  S5      $ rI   )lcmr{   s   r    r!   r}     r   r   )r   r   r   r   r   r   r   r   	exponentsgensr   r   ranger   r   rO   strNotImplementedError	TypeError)n_ar|   r   s     @@r    test_Monomialr      s   Q1I&AQ1I&A99;!Q$q!t)A+%%%99;!Q$q!t)###99Q1Aad1,,,99Q1Aad***;;)###66aAY;;)###66aAY	>>	>>	>>	>>FuQ41R5AQ41R5AQ41R5AQ41R5AQ41R5AQ41R5ARa5F??Ra5F??Q3(9%%%%Q3(9%%%%Y;(9----Y;(9----558x	****558x	****55x	222255x	2222a48I&&&&a4199a48I&&&&a48J''''	)	B2YQTzz
a   =>	)	B
:+,r7++++q6%%%%
,
,
:}%
9&'
9&'r   N)&__doc__sympy.polys.monomialsr   r   r   r   r   r   r	   r
   r   r   r   sympy.polys.polyerrorsr   	sympy.abcr   r   r   r   r   r   
sympy.corer   r   sympy.testing.pytestr   rS   rW   r]   ra   rd   rf   rm   rp   rr   rt   r   r   r   r    <module>r      si    P    7 & & ! '\|&;;;;F3F;@(r   