
    \h                     b    S r SSKJrJr  SSKJrJrJr  SSKJ	r	  S r
S rS rS rS	 rS
 rS rg)zTest ideals.py code.    )QQilex)xyz)raisesc                     [         R                  " [        [        5      n U R	                  [        5      nU R	                  [        5      nU R	                  [        [        -  5      nU R	                  [        [        5      nX:X  a   eX:X  d   eUR                  U5      U:X  d   eX-   U:X  d   eX-   U:X  d   eUR                  U5      (       a   eUR                  U5      (       d   eUR                  U5      U:X  d   eX-  U:X  d   e[        U-  U:X  d   eU[        -  U:X  d   eU R                  [        5      U-  U:X  d   eXR                  [        5      -  U:X  d   eUR                  5       (       a   eUR                  5       (       a   eU R	                  [        S-  S-   [        5      R                  5       (       d   eU R	                  5       U R	                  S5      :X  d   eU R	                  5       R                  5       (       d   eUR                  [        [        -  5      (       d   eUR                  [        [        /5      (       d   eUR                  [        5      U " S5      U " S5      /:X  d   eUS-  U R	                  S5      :X  d   eUS-  U:X  d   eUS-  U R	                  [        S-  [        S-  [        [        -  5      :X  d   eUS-  U R	                  [        S-  5      :X  d   eg )N      r      )r   old_poly_ringr   r   idealunionsubsetproductconvertis_zerois_whole_ringcontainsin_terms_of_generators)RIJSTs        Z/var/www/auris/envauris/lib/python3.13/site-packages/sympy/polys/agca/tests/test_ideals.pytest_ideal_operationsr      sq   
AA	
A	
A	!A	1A<6M6771:??5A::5A::xx{{?88A;;;99Q<13!8O8Q3!8O8Q3!8O899Q<>QYYq\>Qyy{{?    771a4!8Q--////779
"""779::ac???88QF##A&1Q41,666a41771:a4199a41771a4Aqs++++a41771a4=       c                  ~  ^ ^ [         R                  " [        5      R                  [        5      m [         R                  " [        5      R                  S5      m[        [        U 4S j5        [        [        U U4S j5        [        [        U U4S j5        [        [        U U4S j5        T T:H  SL d   eT T:w  d   eg )Nr   c                  .   > T R                  [        5      $ N)r   r   )r   s   r   <lambda>!test_exceptions.<locals>.<lambda>5   s    qwwqzr   c                     > T T-   $ r!    r   r   s   r   r"   r#   6   	    q1ur   c                     > T T-  $ r!   r%   r&   s   r   r"   r#   7   r'   r   c                  &   > T R                  T5      $ r!   )r   r&   s   r   r"   r#   8   s    qwwqzr   F)r   r   r   r   r   r   
ValueErrorr&   s   @@r   test_exceptionsr+   2   s    
!!!$A
!!!$A
:)*
:}%
:}%
:)*Fu6M6r   c                  B
  ^ [         R                  " [        [        [        5      mU4S jn U " [        [        /[        5      (       d   eU " [        [        /[        [        -   5      (       d   eU " [        [        /S5      (       a   eU " [        [        /[        5      (       a   eU " [        S-  [        -   [        S-  [        -   /[        [        -
  5      (       d   eU " [        [        -   [        -   [        [        -  [        [        -  -   [        [        -  -   [        [        -  [        -  /[        S-  5      (       a   eU " [        [        -   [        -   [        [        -  [        [        -  -   [        [        -  -   [        [        -  [        -  /[        S-  5      (       d   eU " [        [        -   [        -   [        [        -  [        [        -  -   [        [        -  -   [        [        -  [        -  /[        S-  5      (       d   eU " [        [        -   [        -   [        [        -  [        [        -  -   [        [        -  -   [        [        -  [        -  /[        [        S-  -  5      (       a   eU " [        [        -   [        -   [        [        -  [        [        -  -   [        [        -  -   [        [        -  [        -  /[        S-  [        S-  -   S[        -  [        -  [        -  -   5      (       d   eU " [        [        -   [        -   [        [        -  [        [        -  -   [        [        -  -   [        [        -  [        -  /[        [        -  [        -  5      (       d   eU " [        S[        -   [        -   SS[        -  -
  /S5      (       d   eU " [        S-  [        S-  -   [        S-  [        S-  -   [        S-  [        S-  -   [        S-  [        -  [        S-  [        -  -   [        S-  [        -  -   /[        S-  5      (       d   eU " [        S-  [        S-  -   [        S-  [        S-  -   [        S-  [        S-  -   [        S-  [        -  [        S-  [        -  -   [        S-  [        -  -   /[        S-  [        S-  -   5      (       a   eU " [        S[        -   [        -   -  [        S[        -   -  /[        5      (       a   eU " [        S[        -   [        -   -  [        S[        -   -  /[        [        -   5      (       a   eg )Nc                 @   > TR                   " U 6 R                  U5      $ r!   r   r   r   fr   s     r   r   %test_nontriv_global.<locals>.contains@       ww{##A&&r   r   r
         r      )r   r   r   r   r   r   r   s    @r   test_nontriv_globalr7   =   s   
Aq!A' QFAQFAE""""A""""A""""QTAXq!tax(!a%0000QAaC!A#I!OQqSU;QTBBBBQUQY!ac	AaC1Q7A>>>>QUQY!ac	AaC1Q7A>>>>QAaC!A#I!OQqSU;Qq!tVDDDDQUQY!ac	AaC1Q7A1qs1uQw9NOOOOQUQY!ac	AaC1Q71Q????QA	1qs7+Q////	
A1adQTk1a4!Q$;1QAa!Q$q&0HI	1    	
A1adQTk1a4!Q$;1QAa!Q$q&0HI	1q!t   
 AEAI1q5	2A6666AEAI1q5	2AE:::::r   c                    ^ [         R                  " [        [        [        [
        S9mU4S jn U " [        [        /[        5      (       d   eU " [        [        /[        [        -   5      (       d   eU " [        [        /S5      (       a   eU " [        [        /[        5      (       a   eU " [        S-  [        -   [        S-  [        -   /[        [        -
  5      (       d   eU " [        [        -   [        -   [        [        -  [        [        -  -   [        [        -  -   [        [        -  [        -  /[        S-  5      (       a   eU " [        S[        -   [        -   -  [        S[        -   -  /[        5      (       d   eU " [        S[        -   [        -   -  [        S[        -   -  /[        [        -   5      (       d   eg )Norderc                 @   > TR                   " U 6 R                  U5      $ r!   r.   r/   s     r   r   $test_nontriv_local.<locals>.contains^   r2   r   r   r
   )r   r   r   r   r   r   r6   s    @r   test_nontriv_localr=   [   sJ   
Aq-A' QFAQFAE""""A""""A""""QTAXq!tax(!a%0000QAaC!A#I!OQqSU;QTBBBBQA	]Aq1uI.2222QA	]Aq1uI.A6666r   c            	      \   [         R                  " [        [        [        5      n U R                  [        [        5      R                  U R                  [        S-  [        5      5      U R                  [        S-  [        [        -  [        [        -  5      :X  d   eU R                  [        [        5      R                  U R                  5       5      R                  5       (       d   e[         R                  " [        [        [        SS9n U R                  [        [        5      R                  U R                  [        S-  [        S-  [        -  -   [        [        [        S-  -  [        -  -   5      5      U R                  [        S-  [        [        -  [        [        -  5      :X  d   eg )Nr
   r   r9   r3   )r   r   r   r   r   r   	intersectr   r   s    r   test_intersectionrA   k   s   
Aq!A771a=""1771a4#341ac1Q38OOOO771a=""1779-557777
Aq/A771a=""1771a4!Q$q&=!a1fQh,#GH	1ac1Q3     r   c                     [         R                  " [        [        [        5      n U R                  [        [        5      R                  U R                  [        S-  [        5      5      U R                  [        [        5      :X  d   eg )Nr
   )r   r   r   r   r   r   quotientr@   s    r   test_quotientrD   w   sR    
Aq!A771a=!!!''!Q$"23qwwq!}DDDr   c                  P   SSK Jn   [        R                  " [        [
        5      nUR                  [        S-  [
        5      nUR                  [        S-  [
        S-  -   5      nUR                  U5      U:X  d   eUR                  X0S9UR                  [        S-  5      :X  d   eg )Nr   )sdm_nf_buchberger_reducedr   r3   r
   )NF)	sympy.polys.distributedmodulesrF   r   r   r   r   r   r   reduce_element)rF   r   r   es       r   test_reductionrK   }   s    H
AA	1aA			!Q$A+AA!###A<		!Q$OOOr   N)__doc__sympy.polysr   r   	sympy.abcr   r   r   sympy.testing.pytestr   r   r+   r7   r=   rA   rD   rK   r%   r   r   <module>rP      s:         ''!T;<7 	 EPr   