
    g                     d    d Z ddlmZmZ ddlmZmZmZ ddlm	Z	 d Z
d Zd Zd Zd	 Zd
 Zd ZdS )zTest ideals.py code.    )QQilex)xyz)raisesc                     t          j        t          t                    } |                     t                    }|                     t                    }|                     t          t          z            }|                     t          t                    }||k    rJ ||k    sJ |                    |          |k    sJ ||z   |k    sJ ||z   |k    sJ |                    |          rJ |                    |          sJ |                    |          |k    sJ ||z  |k    sJ t          |z  |k    sJ |t          z  |k    sJ |                     t                    |z  |k    sJ ||                     t                    z  |k    sJ |	                                rJ |
                                rJ |                     t          dz  dz   t                    
                                sJ |                                 |                     d          k    sJ |                                 	                                sJ |                    t          t          z            sJ |                    t          t          g          sJ |                    t                     | d           | d          gk    sJ |dz  |                     d          k    sJ |dz  |k    sJ |dz  |                     t          dz  t          dz  t          t          z            k    sJ |dz  |                     t          dz            k    sJ d S )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        ^/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/polys/agca/tests/test_ideals.pytest_ideal_operationsr      s   
AA	

A	

A	!A	1AQ6666771::????q5A::::q5A::::xx{{88A;;99Q<<1Q3!8888Q3!8888Q3!888899Q<<>QQYYq\\>Qyy{{     771a4!8Q--/////7799

""""7799::ac??88QF##A&&11Q441,6666a41771::a419999a41771a4Aqs++++++a41771a4==          c                      t          j        t                                        t                     t          j        t                                        d          t          t           fd           t          t           fd           t          t           fd           t          t           fd            k    du sJ  k    sJ d S )Nr   c                  8                          t                    S N)r   r   )r   s   r   <lambda>z!test_exceptions.<locals>.<lambda>5   s    qwwqzz r   c                       z   S r!    r   r   s   r   r"   z!test_exceptions.<locals>.<lambda>6       q1u r   c                       z  S r!   r$   r%   s   r   r"   z!test_exceptions.<locals>.<lambda>7   r&   r   c                  .                                    S r!   )r   r%   s   r   r"   z!test_exceptions.<locals>.<lambda>8   s    qwwqzz r   F)r   r   r   r   r   r   
ValueErrorr%   s   @@r   test_exceptionsr*   2   s    
!!!$$A
!!!$$A
:))))***
:}}}}}%%%
:}}}}}%%%
:)))))***Fu666666r   c                  *   t          j        t          t          t                    fd}  | t          t          gt                    sJ  | t          t          gt          t          z             sJ  | t          t          gd          rJ  | t          t          gt                    rJ  | t          dz  t          z   t          dz  t          z   gt          t          z
            sJ  | t          t          z   t          z   t          t          z  t          t          z  z   t          t          z  z   t          t          z  t          z  gt          dz            rJ  | t          t          z   t          z   t          t          z  t          t          z  z   t          t          z  z   t          t          z  t          z  gt          dz            sJ  | t          t          z   t          z   t          t          z  t          t          z  z   t          t          z  z   t          t          z  t          z  gt          dz            sJ  | t          t          z   t          z   t          t          z  t          t          z  z   t          t          z  z   t          t          z  t          z  gt          t          dz  z            rJ  | t          t          z   t          z   t          t          z  t          t          z  z   t          t          z  z   t          t          z  t          z  gt          dz  t          dz  z   dt          z  t          z  t          z  z             sJ  | t          t          z   t          z   t          t          z  t          t          z  z   t          t          z  z   t          t          z  t          z  gt          t          z  t          z            sJ  | t          dt          z   t          z   ddt          z  z
  gd          sJ  | t          dz  t          dz  z   t          dz  t          dz  z   t          dz  t          dz  z   t          dz  t          z  t          dz  t          z  z   t          dz  t          z  z   gt          dz            sJ  | t          dz  t          dz  z   t          dz  t          dz  z   t          dz  t          dz  z   t          dz  t          z  t          dz  t          z  z   t          dz  t          z  z   gt          dz  t          dz  z             rJ  | t          dt          z   t          z   z  t          dt          z   z  gt                    rJ  | t          dt          z   t          z   z  t          dt          z   z  gt          t          z             rJ d S )Nc                 >     j         |                      |          S r!   r   r   r   fr   s     r   r   z%test_nontriv_global.<locals>.contains@       qw{##A&&&r   r   r
         r      )r   r   r   r   r   r   r   s    @r   test_nontriv_globalr5   =   s5   
Aq!!A' ' ' ' ' 8QFA8QFAE"""""xA"""""xA"""""8QTAXq!tax(!a%00000xQAaC!A#I!OQqSU;QTBBBBB8QUQY!ac	AaC1Q7A>>>>>8QUQY!ac	AaC1Q7A>>>>>xQAaC!A#I!OQqSU;Qq!tVDDDDD8QUQY!ac	AaC1Q7A1qs1uQw9NOOOOO8QUQY!ac	AaC1Q71Q?????8QA	1qs7+Q/////8	
A1adQTk1a4!Q$;1QAa!Q$q&0HI	1     x	
A1adQTk1a4!Q$;1QAa!Q$q&0HI	1q!t    
 xAEAI1q5	2A66666xAEAI1q5	2AE:::::::r   c                     t          j        t          t          t          t
                    fd}  | t          t          gt                    sJ  | t          t          gt          t          z             sJ  | t          t          gd          rJ  | t          t          gt                    rJ  | t          dz  t          z   t          dz  t          z   gt          t          z
            sJ  | t          t          z   t          z   t          t          z  t          t          z  z   t          t          z  z   t          t          z  t          z  gt          dz            rJ  | t          dt          z   t          z   z  t          dt          z   z  gt                    sJ  | t          dt          z   t          z   z  t          dt          z   z  gt          t          z             sJ d S )Norderc                 >     j         |                      |          S r!   r-   r.   s     r   r   z$test_nontriv_local.<locals>.contains^   r0   r   r   r
   )r   r   r   r   r   r   r4   s    @r   test_nontriv_localr:   [   s   
Aq---A' ' ' ' ' 8QFA8QFAE"""""xA"""""xA"""""8QTAXq!tax(!a%00000xQAaC!A#I!OQqSU;QTBBBBB8QA	]Aq1uI.222228QA	]Aq1uI.A6666666r   c            	         t          j        t          t          t                    } |                     t          t                                        |                     t          dz  t                              |                     t          dz  t          t          z  t          t          z            k    sJ |                     t          t                                        |                                                                           sJ t          j        t          t          t          d          } |                     t          t                                        |                     t          dz  t          dz  t          z  z   t          t          t          dz  z  t          z  z                       |                     t          dz  t          t          z  t          t          z            k    sJ d S )Nr
   r   r7   r1   )r   r   r   r   r   r   	intersectr   r   s    r   test_intersectionr>   k   sJ   
Aq!!A771a==""1771a4#3#3441ac1Q38O8OOOOO771a==""17799--5577777
Aq///A771a==""1771a4!Q$q&=!a1fQh,#G#GHH	1ac1Q3           r   c                  @   t          j        t          t          t                    } |                     t          t                                        |                     t          dz  t                              |                     t          t                    k    sJ d S )Nr
   )r   r   r   r   r   r   quotientr=   s    r   test_quotientrA   w   se    
Aq!!A771a==!!!''!Q$"2"233qwwq!}}DDDDDDr   c                     ddl m}  t          j        t          t
                    }|                    t          dz  t
                    }|                    t          dz  t
          dz  z             }|                    |          |k    sJ |                    ||           |                    t          dz            k    sJ d S )Nr   )sdm_nf_buchberger_reducedr   r1   r
   )NF)	sympy.polys.distributedmodulesrC   r   r   r   r   r   r   reduce_element)rC   r   r   es       r   test_reductionrH   }   s    HHHHHH
AA	1aA			!Q$A+AA!####A";<<		!Q$OOOOOOr   N)__doc__sympy.polysr   r   	sympy.abcr   r   r   sympy.testing.pytestr   r   r*   r5   r:   r>   rA   rH   r$   r   r   <module>rM      s                                ' ' ' ' ' ''! '! '!T  ; ; ;<7 7 7 	  	  	 E E EP P P P Pr   