ó
¡¼™\c           @   s‹   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(   s   Test ideals.py code.iÿÿÿÿ(   t   QQt   ilex(   t   xt   yt   z(   t   raisesc          C   sú  t  j t t ƒ }  |  j t ƒ } |  j t ƒ } |  j t t ƒ } |  j t t ƒ } | | k sh t ‚ | | k sz t ‚ | j | ƒ | k s• t ‚ | | | k s« t ‚ | | | k sÁ t ‚ | j | ƒ s× t ‚ | j | ƒ sì t ‚ | j | ƒ | k st ‚ | | | k st ‚ t | | k s3t ‚ | t | k sIt ‚ |  j	 t ƒ | | k sht ‚ | |  j	 t ƒ | k s‡t ‚ | j
 ƒ  sšt ‚ | j ƒ  s­t ‚ |  j t d d t ƒ j ƒ  sÓt ‚ |  j ƒ  |  j d ƒ k sôt ‚ |  j ƒ  j
 ƒ  st ‚ | j t t ƒ s%t ‚ | j t t g ƒ s@t ‚ | j t ƒ |  d ƒ |  d ƒ g k smt ‚ | d |  j d ƒ k sŒt ‚ | d | k s¢t ‚ | d |  j t d t d t t ƒ k sÓt ‚ | d |  j t d ƒ k söt ‚ d  S(   Ni   i   i    i   (   R    t   old_poly_ringR   R   t   idealt   AssertionErrort   uniont   subsett   productt   convertt   is_zerot   is_whole_ringt   containst   in_terms_of_generators(   t   Rt   It   Jt   St   T(    (    sA   lib/python2.7/site-packages/sympy/polys/agca/tests/test_ideals.pyt   test_ideal_operations   s<    &!-1c              s¿   t  j t ƒ j t ƒ ‰  t  j t ƒ j d ƒ ‰ t t ‡  f d †  ƒ t t ‡  ‡ f d †  ƒ t t ‡  ‡ f d †  ƒ t t ‡  ‡ f d †  ƒ ˆ  ˆ k t k s© t ‚ ˆ  ˆ k s» t ‚ d  S(   Ni   c              s   ˆ  j  t ƒ S(   N(   R	   R   (    (   R   (    sA   lib/python2.7/site-packages/sympy/polys/agca/tests/test_ideals.pyt   <lambda>5   t    c              s   ˆ  ˆ S(   N(    (    (   R   R   (    sA   lib/python2.7/site-packages/sympy/polys/agca/tests/test_ideals.pyR   6   R   c              s   ˆ  ˆ S(   N(    (    (   R   R   (    sA   lib/python2.7/site-packages/sympy/polys/agca/tests/test_ideals.pyR   7   R   c              s   ˆ  j  ˆ ƒ S(   N(   R	   (    (   R   R   (    sA   lib/python2.7/site-packages/sympy/polys/agca/tests/test_ideals.pyR   8   R   (	   R    R   R   R   R   R   t
   ValueErrort   FalseR   (    (    (   R   R   sA   lib/python2.7/site-packages/sympy/polys/agca/tests/test_ideals.pyt   test_exceptions2   s    c             sü  t  j t t t ƒ ‰  ‡  f d †  }  |  t t g t ƒ s? t ‚ |  t t g t t ƒ s^ t ‚ |  t t g d ƒ sz t ‚ |  t t g t ƒ s– t ‚ |  t d t t d t g t t ƒ sÅ t ‚ |  t t t t t t t t t t t t g t d ƒ st ‚ |  t t t t t t t t t t t t g t d ƒ sRt ‚ |  t t t t t t t t t t t t g t d ƒ s˜t ‚ |  t t t t t t t t t t t t g t t d ƒ sãt ‚ |  t t t t t t t t t t t t g t d t d d t t t ƒ sAt ‚ |  t t t t t t t t t t t t g t t t ƒ s‹t ‚ |  t d t t d d t g d ƒ s¹t ‚ |  t d t d t d t d t d t d t d t t d t t d t g t d ƒ s"t ‚ |  t d t d t d t d t d t d t d t t d t t d t g t d t d ƒ s”t ‚ |  t d t t t d t g t ƒ sÄt ‚ |  t d t t t d t g t t ƒ søt ‚ d  S(   Nc            s   ˆ  j  |  Œ  j | ƒ S(   N(   R   R   (   R   t   f(   R   (    sA   lib/python2.7/site-packages/sympy/polys/agca/tests/test_ideals.pyR   @   s    i   i   i   i   i   i   (   R    R   R   R   R   R   (   R   (    (   R   sA   lib/python2.7/site-packages/sympy/polys/agca/tests/test_ideals.pyt   test_nontriv_global=   s,    /GFFK^J.SS0c             sx  t  j t t t d t ƒ‰  ‡  f d †  }  |  t t g t ƒ sE t ‚ |  t t g t t ƒ sd t ‚ |  t t g d ƒ s€ t ‚ |  t t g t ƒ sœ t ‚ |  t d t t d t g t t ƒ sË t ‚ |  t t t t t t t t t t t t g t d ƒ st ‚ |  t d t t t d t g t ƒ sAt ‚ |  t d t t t d t g t t ƒ stt ‚ d  S(   Nt   orderc            s   ˆ  j  |  Œ  j | ƒ S(   N(   R   R   (   R   R   (   R   (    sA   lib/python2.7/site-packages/sympy/polys/agca/tests/test_ideals.pyR   ^   s    i   i   (   R    R   R   R   R   R   R   (   R   (    (   R   sA   lib/python2.7/site-packages/sympy/polys/agca/tests/test_ideals.pyt   test_nontriv_local[   s    /G/c          C   s!  t  j t t t ƒ }  |  j t t ƒ j |  j t d t ƒ ƒ |  j t d t t t t ƒ k sg t ‚ |  j t t ƒ j |  j ƒ  ƒ j ƒ  s” t ‚ t  j t t t d d ƒ}  |  j t t ƒ j |  j t d t d t t t t d t ƒ ƒ |  j t d t t t t ƒ k st ‚ d  S(   Ni   R   R   i   (	   R    R   R   R   R   R   t	   intersectR   R   (   R   (    (    sA   lib/python2.7/site-packages/sympy/polys/agca/tests/test_ideals.pyt   test_intersectionk   s    R-Dc          C   s\   t  j t t t ƒ }  |  j t t ƒ j |  j t d t ƒ ƒ |  j t t ƒ k sX t ‚ d  S(   Ni   (   R    R   R   R   R   R   t   quotientR   (   R   (    (    sA   lib/python2.7/site-packages/sympy/polys/agca/tests/test_ideals.pyt   test_quotientw   s    c          C   s    d d l  m }  t j t t ƒ } | j t d t ƒ } | j t d t d ƒ } | j | ƒ | k sn t	 ‚ | j | d |  ƒ| j t d ƒ k sœ t	 ‚ d  S(   Niÿÿÿÿ(   t   sdm_nf_buchberger_reducedi   i   i   t   NF(
   t   sympy.polys.distributedmodulesR$   R    R   R   R   R   R   t   reduce_elementR   (   R$   R   R   t   e(    (    sA   lib/python2.7/site-packages/sympy/polys/agca/tests/test_ideals.pyt   test_reduction}   s    N(   t   __doc__t   sympy.polysR    R   t	   sympy.abcR   R   R   t   sympy.utilities.pytestR   R   R   R   R   R!   R#   R)   (    (    (    sA   lib/python2.7/site-packages/sympy/polys/agca/tests/test_ideals.pyt   <module>   s   	*					