ó
¡¼™\c           @   sJ  d  Z  d d l m Z m Z d d l m Z m Z m Z m Z m	 Z	 d d l
 m Z m Z d d l m Z m Z m Z m Z m Z d d l m Z m Z d d l m Z m Z m Z m Z m Z d d l m Z d d	 l m Z m  Z  d d
 l! m" Z" m# Z# d d l$ m% Z% m& Z& m' Z' d „  Z( d „  Z) d „  Z* d „  Z+ d „  Z, d „  Z- d „  Z. d „  Z/ d „  Z0 d „  Z1 d „  Z2 d „  Z3 d „  Z4 d „  Z5 d „  Z6 d „  Z7 d „  Z8 d „  Z9 d „  Z: d „  Z; d  „  Z< d! „  Z= d" „  Z> d# „  Z? d$ „  Z@ d% „  ZA d& „  ZB d' „  ZC d( „  ZD d) „  ZE d* „  ZF d+ „  ZG d, „  ZH d- „  ZI d. „  ZJ d/ „  ZK d0 „  ZL d1 „  ZM d2 „  ZN d3 „  ZO d4 „  ZP d5 „  ZQ d6 „  ZR d7 „  ZS d8 „  ZT d9 „  ZU d: „  ZV d; „  ZW d< „  ZX d= „  ZY d> „  ZZ d? „  Z[ d@ „  Z\ dA „  Z] dB „  Z^ dC „  Z_ dD „  Z` dE „  Za dF „  Zb dG „  Zc dH „  Zd dI „  Ze dJ S(K   s   Test sparse polynomials. iÿÿÿÿ(   t   addt   mul(   t   ringt   xringt   sringt   PolyRingt   PolyElement(   t   fieldt	   FracField(   t   ZZt   QQt   RRt   FFt   EX(   t   lext   grlex(   t   GeneratorsErrort   GeneratorsNeededt   ExactQuotientFailedt   MultivariatePolynomialErrort   CoercionFailed(   t   raises(   t   Symbolt   symbols(   t   reducet   range(   t   sqrtt   pit   ooc          C   sî  t  t d ƒ \ }  } } } t t d t t ƒ j ƒ d k sB t ‚ t t |  t t ƒ j ƒ d k si t ‚ t t d t t ƒ j ƒ d k s t ‚ t t |  | | f t t ƒ j ƒ d k sÀ t ‚ t t d t t ƒ j ƒ d	 k sç t ‚ t t g  t t ƒ j ƒ d	 k st ‚ t t	 d
 „  ƒ t d t | t ƒ j
 t | k sGt ‚ t d d t ƒ j
 t | k slt ‚ t d t d t t ƒ t ƒ j
 t | k st ‚ t t	 d „  ƒ t d ƒ } t d t t ƒ j t k sÚt ‚ t d t | ƒ j t k sût ‚ t d t d ƒ j t k st ‚ t d t t ƒ } t d t t ƒ } t d t t ƒ } | j | j d	 k snt ‚ | j | j d k sŠt ‚ | j | j k s¢t ‚ | j | j k sºt ‚ | j | j k sÒt ‚ | j | j k sêt ‚ d  S(   Nt   xyzts   x,y,zi   i   t   xt   yt   zt    i    c           S   s   t  d t t ƒ S(   Ni    (   R   R	   R   (    (    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   <lambda>   R!   s   ZZ[t]t   tc           S   s   t  d t  d t t ƒ t ƒ S(   NR   (   R   R	   R   (    (    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   !   R!   R   s   x,y(   R   R   R    (   t   mapR   t   lenR   R	   R   t   genst   AssertionErrorR   R   t   domaint   orderR   R   (   R   R   R    R#   t   _lext   R1t   R2t   R3(    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyRing___init__   s2    '''0'')%1!!!c          C   s1   t  d t ƒ \ }  } } } t |  ƒ s- t ‚ d  S(   Ns   x,y,z(   R   R
   t   hashR'   (   t   RR   R   R    (    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyRing___hash__3   s    c           C   s¼  t  d t ƒ d t  d t ƒ d k s, t ‚ t  d t ƒ d t  d t ƒ d k sX t ‚ t  d t ƒ d t  d t ƒ d k s„ t ‚ t  d t ƒ d t  d t ƒ d k	 s° t ‚ t  d t ƒ d t  d t ƒ d k sÜ t ‚ t  d t ƒ d t  d t ƒ d k	 st ‚ t  d t ƒ d t  d t ƒ d k s4t ‚ t  d t ƒ d t  d t ƒ d k	 s`t ‚ t  d t ƒ d t  d t ƒ d k sŒt ‚ t  d t ƒ d t  d t ƒ d k	 s¸t ‚ d  S(   Ns   x,y,zi    s   x,y(   R   R
   R'   R	   (    (    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyRing___eq__7   s    ,,,,,,,,,c       	   C   s“  t  d t ƒ \ }  } } } |  j d ƒ |  d ƒ k s< t ‚ |  j d | | | ƒ d | | | k so t ‚ | d d | | d | d | d d | d } |  j d g g d g d g g d d d g g g ƒ | k sç t ‚ |  j i d d 6d d 6d d 6d d 6d d 6d d 6ƒ | k s,t ‚ |  j d d d d d d g ƒ | k sYt ‚ t  d
 t ƒ \ }  |  j d g ƒ |  d ƒ k st ‚ d  S(   Ns   x,y,zi   i   i   i   i   i   i   i    R!   (   i   i    i    (   i   i   i    (   i   i    i    (   i    i    i   (   i    i    i   (   i    i    i    (   i   i    i    (   (   i   i    i    i   (   i   i   i    (   (   i   i   i    i   (   i   i    i    (   (   i   i    i    i   (   i    i    i   (   (   i    i    i   i   (   i    i    i   (   (   i    i    i   i   (   i    i    i    (   (   i    i    i    i   (    (   (    i   (   R   R
   t   ring_newR'   (   R0   R   R   R    t   f(    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyRing_ring_newG   s    !36BE-c             sõ  t  d t ƒ \ ‰  ‰ ‰ }  ˆ  j ˆ ƒ t d t t ƒ k sB t ‚ ˆ  j ˆ ƒ t d t t ƒ k si t ‚ ˆ  j |  ƒ t d t t ƒ k s t ‚ ˆ  j d ƒ t d t t ƒ k s· t ‚ ˆ  j d ƒ j d ƒ t d t t ƒ k sç t ‚ ˆ  j d ƒ j d ƒ j d ƒ t k st ‚ ˆ  j d ƒ t d t t ƒ k s;t ‚ ˆ  j d ƒ t d t t ƒ k sbt ‚ ˆ  j d ƒ j d ƒ t d	 t t ƒ k s’t ‚ ˆ  j d ƒ j d ƒ j d ƒ t k s¿t ‚ t t ‡  f d
 †  ƒ t t ‡  ‡ ‡ f d †  ƒ d  S(   Ns   x,y,zs   y,zs   x,zs   x,yi    R    i   i   R   c              s   ˆ  j  d ƒ S(   Ni   (   t   drop(    (   R0   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   g   R!   c              s   ˆ  j  ˆ ƒ j  ˆ ƒ S(   N(   R6   (    (   R0   R   R   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   h   R!   (   R   R	   R6   R   R   R'   R   t
   ValueError(   R    (    (   R0   R   R   s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyRing_dropV   s    ''''0-''0-c          C   s›   t  d t ƒ \ }  } } } |  d t d t t ƒ k s= t ‚ |  d t d t t ƒ k s_ t ‚ |  d t d t t ƒ k s t ‚ |  d t k s— t ‚ d  S(   Ns   x,y,zi    i   s   y,zi   R    i   (   R   R	   R   R   R'   (   R0   R   R   R    (    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyRing___getitem__j   s
    """c          C   s¸   t  d t t ƒ }  |  j t k s' t ‚ |  j t k s< t ‚ t  d t t ƒ }  |  j t k sc t ‚ |  j t k sx t ‚ t  d t t ƒ }  |  j t k sŸ t ‚ |  j t k s´ t ‚ d  S(   NR   s   x,y,zR!   (   R   R
   R   t   is_univariatet   TrueR'   t   is_multivariatet   False(   R0   (    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyRing_is_r   s    c          C   s¾   t  d t ƒ \ }  } g  t d ƒ D] } | d d | d ^ q" } |  j | ƒ t t | ƒ k oy d | d d k n s„ t ‚ t  d t ƒ \ }  |  j d d d g ƒ d	 k sº t ‚ d  S(
   NR   i   i   i   i   R!   i   i   i   (   R   R	   R   R    R   R'   (   R0   R   t   it   F(    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyRing_add‚   s
    /@c          C   sÞ   t  d t ƒ \ }  } g  t d ƒ D] } | d d | d ^ q" } |  j | ƒ t t | ƒ k o™ | d d | d d | d d	 | d d
 k n s¤ t ‚ t  d t ƒ \ }  |  j d d d g ƒ d k sÚ t ‚ d  S(   NR   i   i   i   i   i   i   iÎ   iè  i±  R!   i   i   (   R   R	   R   R   R   R'   (   R0   R   R?   R@   (    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyRing_mulŒ   s
    /`c          C   sL  t  d ƒ \ }  } } } t d t t ƒ } t |  d | d | ƒ | | j d | j d | j f k sq t ‚ t d t	 t ƒ } t |  d | | d ƒ | | j d | j | j d f k sÊ t ‚ t |  d | | d g ƒ | | j d | j | j d g f k st ‚ t d t t ƒ } t d | t ƒ } t |  d | | d | d | |  | | ƒ | | j d | j
 | j d | j
 d | j f k s¥t ‚ t d t	 t ƒ } t d | t ƒ } t |  | | d | d | d |  | | ƒ | | j | j
 | j d | j
 d | j d f k s7t ‚ t d t t ƒ } t d | t ƒ } t |  d | | | d | d |  | | ƒ | | j d | j | j
 | j
 d | j d f k sÉt ‚ t d ƒ t d ƒ } t | d t ƒ\ } } | j t	 j | ƒ k st ‚ | j d k s*t ‚ | | j j | ƒ k sHt ‚ d  S(   Ns   x,y,z,ts   x,y,zi   i   R#   t	   extension(    (   R   R   R	   R   R   R   R   R    R'   R
   R#   R   R   R;   R(   t   algebraic_fieldR&   t
   from_sympy(   R   R   R    R#   R0   t   Rtt   rt   a(    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt
   test_sring–   s(    GGInnnc          C   s9   t  d t ƒ \ }  } } } t | | | ƒ s5 t ‚ d  S(   Ns   x,y,z(   R   R
   R/   R'   (   R0   R   R   R    (    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement___hash__²   s    c          C   sd  t  d t t ƒ \ }  } } | | d | | d k t k sC t ‚ | | d | | d | | k t k ss t ‚ d | | d | | k t k s› t ‚ d | | | | d | | k t k sË t ‚ | | | | d k t k sï t ‚ d | | | | k t k st ‚ | | | | d k t k s7t ‚ d | | | | k t k s[t ‚ | | | | d k t k st ‚ d | | | | k t k s£t ‚ | | d | | d k t k sËt ‚ | | d | | d | | k t k sût ‚ d | | d | | k t k s#t ‚ d | | | | d | | k t k sSt ‚ | | | | d k t k swt ‚ d | | | | k t k s›t ‚ | | | | d k t k s¿t ‚ d | | | | k t k sãt ‚ t  d t ƒ \ } } t  d | ƒ \ }  } } | d | | | d k t k s8t ‚ | d | | | d k t k s`t ‚ d  S(	   Ns   x,yi   i   i    i   R#   i   i   (   R   R	   R   R=   R'   R;   (   R0   R   R   RF   R#   (    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement___eq__¶   s.    (0(0$$$$$$(0(0$$$$(c          C   s  t  d t ƒ \ }  } } |  d ƒ | k  oH | d k  oH | d k  n sS t ‚ |  d ƒ | k oƒ | d k oƒ | d k n sŽ t ‚ | d | d k o¾ | k o¾ |  d ƒ k n sÉ t ‚ | d | d k où | k où |  d ƒ k n st ‚ d  S(   Ns   x,yi   i   i   (   R   R	   R'   (   R0   R   R   (    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement__lt_le_gt_ge__Ø   s
    ;;;c          C   sk   t  d t ƒ \ }  } } } | | d | } | j ƒ  } | | k sK t ‚ d | d <| | k sg t ‚ d  S(   Ns   x,y,zi   i   i   (   i   i   i   (   R   R	   t   copyR'   (   R0   R   R   R    R4   t   g(    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement_copyá   s    
c             sn  t  d t ƒ \ }  } } } d | d | | | | d | d d ‰ |  j \ ‰  } } d ˆ  d | ˆ  | | d | d d } ˆ | k s› t ‚ ˆ j ƒ  | k s³ t ‚ t d ƒ \ ‰  } } d ˆ  d | ˆ  | | d | d d } ˆ | k st ‚ ˆ j ˆ  | | ƒ | k s)t ‚ t t ‡  ‡ f d †  ƒ t  d t ƒ \ }  |  d ƒ j ƒ  d k d  S(   Ns   x,y,zi   i   i   i   c              s   ˆ j  ˆ  ƒ S(   N(   t   as_expr(    (   t   XR4   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   û   R!   R!   (   R   R	   R   R'   RP   R   R7   (   R0   R   R   R    t   Yt   ZRN   (    (   RQ   R4   s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement_as_exprë   s    ...!c             sD  t  d ƒ \ ‰ }  } t ˆ |  | f t ƒ \ ‰  } } } ˆ  j d ƒ } | d k rf t | ˆ  j ƒ sl t ‚ ˆ  j ˆ ƒ } | | k r™ t | ˆ  j ƒ sŸ t ‚ ˆ  j ˆ |  | ƒ } | | | | k rÜ t | ˆ  j ƒ sâ t ‚ ˆ  j ˆ |  | ˆ |  ˆ ƒ } | | | | | | | k r7t | ˆ  j ƒ s=t ‚ ˆ  j ˆ d |  | ˆ d |  d d ƒ } | | d | | | d | d d k rªt | ˆ  j ƒ s°t ‚ t t ‡  ‡ f d †  ƒ t t ‡  ‡ f d †  ƒ t t ‡  ‡ f d †  ƒ t d	 t ƒ \ ‰  ˆ  j d ƒ } | d k r:t | ˆ  j ƒ s@t ‚ d  S(
   Ns   x,y,zi   i   i   i   c              s   ˆ  j  d ˆ ƒ S(   Ni   (   t	   from_expr(    (   R0   R   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"     R!   c              s   ˆ  j  d ˆ ƒ S(   Ni   (   RU   (    (   R0   R   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"     R!   c              s   ˆ  j  d ˆ t d ƒ ƒ S(   Ni   i   (   RU   R   (    (   R0   R   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"     R!   R!   (	   R   R   R	   RU   t
   isinstancet   dtypeR'   R   R7   (   R   R    RQ   RR   RS   R4   (    (   R0   R   s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement_from_expr   s$    $$$,#8/Dc          C   sÔ  t  d t ƒ \ }  } } } |  d ƒ j ƒ  t k s: t ‚ |  d ƒ j ƒ  d k sX t ‚ | d j ƒ  d k st t ‚ d | d | j ƒ  d k s˜ t ‚ | | d | j ƒ  d k s¼ t ‚ | d | d | j ƒ  d k sä t ‚ |  d ƒ j | ƒ t k st ‚ |  d ƒ j | ƒ d k s't ‚ | d j | ƒ d k sFt ‚ d | d | j | ƒ d k smt ‚ | | d | j | ƒ d k s”t ‚ d | d | d | j | ƒ d k sÃt ‚ |  d ƒ j | ƒ t k såt ‚ |  d ƒ j | ƒ d k st ‚ | d j | ƒ d k s%t ‚ d | d | j | ƒ d k sLt ‚ | | d | j | ƒ d k sst ‚ d | d | d | j | ƒ d k s¢t ‚ |  d ƒ j | ƒ t k sÄt ‚ |  d ƒ j | ƒ d k såt ‚ | d j | ƒ d k st ‚ d | d | j | ƒ d k s+t ‚ | | d | j | ƒ d k sRt ‚ d | d | d | j | ƒ d k st ‚ t  d t ƒ \ }  |  d ƒ j ƒ  t k s²t ‚ |  d ƒ j ƒ  d k sÐt ‚ d  S(	   Ns   x,y,zi    i   i   i   i   i   R!   (   R   R	   t   degreeR   R'   (   R0   R   R   R    (    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement_degree  s8    $$("!''/"!''/"!''/c          C   s4  t  d t ƒ \ }  } } } |  d ƒ j ƒ  t k s: t ‚ |  d ƒ j ƒ  d k sX t ‚ | d j ƒ  d k st t ‚ d | d | d | j ƒ  d k s  t ‚ | | d | d | j ƒ  d k sÌ t ‚ | d | d | d | j ƒ  d k sü t ‚ |  d ƒ j | ƒ t k st ‚ |  d ƒ j | ƒ d k s?t ‚ | d j | ƒ d k s^t ‚ d | d | d | j | ƒ d k st ‚ | | d | d | j | ƒ d k s¼t ‚ d | d | d | d | j | ƒ d k sót ‚ |  d ƒ j | ƒ t k st ‚ |  d ƒ j | ƒ d k s6t ‚ | d j | ƒ d k sUt ‚ d | d | d | j | ƒ d k s„t ‚ | | d | d | j | ƒ d k s³t ‚ d | d | d | d | j | ƒ d k sêt ‚ |  d ƒ j | ƒ t k st ‚ |  d ƒ j | ƒ d k s-t ‚ | d j | ƒ d k sLt ‚ d | d | d | j | ƒ d k s{t ‚ | | d | d | j | ƒ d k sªt ‚ d | d | d | d | j | ƒ d k sát ‚ t  d t ƒ \ }  |  d ƒ j ƒ  t k st ‚ |  d ƒ j ƒ  d k s0t ‚ d  S(	   Ns   x,y,zi    i   i   i   i   i   R!   (   R   R	   t   tail_degreeR   R'   (   R0   R   R   R    (    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement_tail_degree>  s8    ,,0"!//7"!//7"!//7c          C   s—   t  d t ƒ \ }  } } } |  d ƒ j ƒ  t t t f k sE t ‚ |  d ƒ j ƒ  d k sc t ‚ | d | | d | d j ƒ  d k s“ t ‚ d  S(   Ns   x,y,zi    i   i   i   (   i    i    i    (   i   i   i   (   R   R	   t   degreesR   R'   (   R0   R   R   R    (    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement_degreesa  s    *c          C   s—   t  d t ƒ \ }  } } } |  d ƒ j ƒ  t t t f k sE t ‚ |  d ƒ j ƒ  d k sc t ‚ | d | | d | d j ƒ  d k s“ t ‚ d  S(   Ns   x,y,zi    i   i   i   (   i    i    i    (   i   i    i    (   R   R	   t   tail_degreesR   R'   (   R0   R   R   R    (    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement_tail_degreesh  s    *c             s¶  t  d t t ƒ \ }  ‰ ‰ ‰ d ˆ d ˆ ˆ ˆ ˆ d ˆ d d ‰  ˆ  j d ƒ d k sg t ‚ t t ‡  f d †  ƒ ˆ  j ˆ ƒ d k s˜ t ‚ ˆ  j ˆ ƒ d k s³ t ‚ ˆ  j ˆ ƒ d k sÎ t ‚ ˆ  j ˆ d ˆ ƒ d k sñ t ‚ ˆ  j ˆ ˆ ˆ ƒ d	 k st ‚ ˆ  j ˆ d ƒ d k s3t ‚ t t ‡  ‡ ‡ f d
 †  ƒ t t ‡  ‡ ‡ ‡ f d †  ƒ t t ‡  ‡ f d †  ƒ t  d t ƒ \ }  |  d ƒ j d ƒ d k d  S(   Ns   x,y,zi   i   i   i   i   c              s   ˆ  j  d ƒ S(   Ni   (   t   coeff(    (   R4   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   t  R!   i    iÿÿÿÿc              s   ˆ  j  d ˆ d ˆ ƒ S(   Ni   i   (   Ra   (    (   R4   R   R   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   ~  R!   c              s   ˆ  j  ˆ ˆ ˆ ƒ S(   N(   Ra   (    (   R4   R   R   R    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"     R!   c              s   ˆ  j  d ˆ d ƒ S(   Ni   i   (   Ra   (    (   R4   R    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   €  R!   R!   (   R   R	   R   Ra   R'   R   R7   (   R0   (    (   R4   R   R   R    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement_coeffo  s    .##c          C   s«   t  d t t ƒ \ }  } } |  d ƒ j t d ƒ k s< t ‚ t d d ƒ | j t d d ƒ k sg t ‚ t d d ƒ | | t d d ƒ | j t d d ƒ k s§ t ‚ d  S(   Ns   x,yi    i   i   i   (   R   R
   R   t   LCR'   (   R0   R   R   (    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement_LC…  s    !+c          C   s“   t  d t t ƒ \ }  } } |  d ƒ j d k s6 t ‚ t d d ƒ | j d k sX t ‚ t d d ƒ | | t d d ƒ | j d k s t ‚ d  S(	   Ns   x,yi    i   i   i   (   i    i    (   i   i    (   i   i   (   R   R
   R   t   LMR'   (   R0   R   R   (    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement_LM‹  s    "c          C   s  t  d t t ƒ \ }  } } |  d ƒ j d t d ƒ f k sB t ‚ t d d ƒ | j d t d d ƒ f k ss t ‚ t d d ƒ | | t d d ƒ | j d	 t d d ƒ f k s¹ t ‚ t  d t ƒ \ }  |  d ƒ j d k sæ t ‚ |  d ƒ j d k st ‚ d  S(   Ns   x,yi    i   i   i   R!   (   i    i    (   i   i    (   i   i   (    (   (    i    (    (   (    i   (   R   R
   R   t   LTR'   R	   (   R0   R   R   (    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement_LT‘  s    '1Fc          C   s    t  d t t ƒ \ }  } } |  d ƒ j ƒ  d k s9 t ‚ t d d ƒ | j ƒ  | k s^ t ‚ t d d ƒ | | t d d ƒ | j ƒ  | | k sœ t ‚ d  S(   Ns   x,yi    i   i   i   (   R   R
   R   t   leading_monomR'   (   R0   R   R   (    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement_leading_monom›  s    %c          C   sº   t  d t t ƒ \ }  } } |  d ƒ j ƒ  d k s9 t ‚ t d d ƒ | j ƒ  t d d ƒ | k sk t ‚ t d d ƒ | | t d d ƒ | j ƒ  t d d ƒ | | k s¶ t ‚ d  S(   Ns   x,yi    i   i   i   (   R   R
   R   t   leading_termR'   (   R0   R   R   (    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement_leading_term¡  s    2c          C   sJ  t  d t ƒ \ }  } } } | d d | d d | d d j ƒ  } | d t d d ƒ f d t d d ƒ f d t d d ƒ f g k s t ‚ t  d t t ƒ \ }  } } | | d	 d | d | d } | j ƒ  | j t ƒ k o| j d
 ƒ k od d g k n st ‚ | j t ƒ | j d ƒ k oFd d g k n sQt ‚ t  d t t ƒ \ }  } } | | d	 d | d | d } | j ƒ  | j t ƒ k oÎ| j d ƒ k oÎd d g k n sÙt ‚ | j t ƒ | j d
 ƒ k od d g k n st ‚ t  d t ƒ \ }  |  d ƒ j ƒ  d! g k sFt ‚ d  S("   Ns   x,y,zi   i   i   i   i    i   s   x,yi   R   R   R!   (   i   i    i    (   i    i   i    (   i    i    i   (   i   i   (   (   i   i   i   (   i   i   (   (   i   i   i   (   i   i   (   (   i   i   i   (   i   i   (   (   i   i   i   (   i   i   (   (   i   i   i   (   i   i   (   (   i   i   i   (   i   i   (   (   i   i   i   (   i   i   (   (   i   i   i   (    (   (    i   (   R   R
   t   termsR'   R	   R   R   (   R0   R   R   R    Rm   R4   (    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement_terms§  s    ,H"K:"K:c          C   sê  t  d t ƒ \ }  } } } | d d | d d | d d j ƒ  } | d d d g k sb t ‚ t  d t t ƒ \ }  } } | | d d | d | d } | j ƒ  | j t ƒ k oß | j d	 ƒ k oß d d g k n sê t ‚ | j t ƒ | j d ƒ k od d g k n s$t ‚ t  d t t ƒ \ }  } } | | d d | d | d } | j ƒ  | j t ƒ k o¡| j d ƒ k o¡d d g k n s¬t ‚ | j t ƒ | j d	 ƒ k oÛd d g k n sæt ‚ d  S(   Ns   x,y,zi   i   i   i   i    s   x,yi   R   i   R   (   i   i    i    (   i    i   i    (   i    i    i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   R   R
   t   monomsR'   R	   R   R   (   R0   R   R   R    Ro   R4   (    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement_monoms»  s    ,"K:"Kc          C   s  t  d t ƒ \ }  } } } | d d | d d | d d j ƒ  } | t d d ƒ t d d ƒ t d d ƒ g k s} t ‚ t  d t t ƒ \ }  } } | | d d | d | d } | j ƒ  | j t ƒ k oú | j d	 ƒ k oú d d g k n st ‚ | j t ƒ | j d
 ƒ k o4d d g k n s?t ‚ t  d t t ƒ \ }  } } | | d d | d | d } | j ƒ  | j t ƒ k o¼| j d
 ƒ k o¼d d g k n sÇt ‚ | j t ƒ | j d	 ƒ k oöd d g k n st ‚ d  S(   Ns   x,y,zi   i   i   i   i   s   x,yi   R   R   (   R   R
   t   coeffsR'   R	   R   R   (   R0   R   R   R    Rq   R4   (    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement_coeffsÌ  s    ,6"K:"Kc             sÇ  t  d t ƒ \ }  ‰  t  d t ƒ \ } ‰ } t  d | ƒ \ } ‰ } } t ˆ d | ƒ i d d 6d d 6k sv t ‚ t ˆ ˆ ƒ t ˆ ˆ ƒ k o¯ i d d 6ˆ d 6k n sº t ‚ t ˆ ˆ | ƒ t ˆ | ˆ ƒ k oû i d d 6ˆ d 6k n st ‚ t ˆ ˆ | | ƒ t ˆ | | ˆ ƒ k oVi d d 6d d 6ˆ d 6k n sat ‚ t ˆ ˆ ˆ ƒ t ˆ ˆ ˆ ƒ k oŸi ˆ d d 6k n sªt ‚ t ˆ ˆ ˆ | ƒ t ˆ | ˆ ˆ ƒ k oói d d 6ˆ d 6k n sþt ‚ t ˆ ˆ ˆ | | ƒ t ˆ | | ˆ ˆ ƒ k oVi d d 6d d 6ˆ d 6k n sat ‚ t t ‡  ‡ f d †  ƒ t t ‡  ‡ f d †  ƒ t t ‡  ‡ f d	 †  ƒ t t ‡  ‡ f d
 †  ƒ t d t ƒ \ } ‰ } t  d | ƒ \ } ‰ } } t ˆ ˆ ƒ t ˆ ˆ ƒ k o1i d d 6ˆ d 6k n s<t ‚ t  d t ƒ \ } ‰ } } t t t ƒ ˆ | | ƒ t ˆ | | t t ƒ ƒ k o¸i t d ƒ d 6t t ƒ d 6k n sÃt ‚ d  S(   NR#   s   u,vs   x,y,zi   i   i    c              s   ˆ  ˆ S(   N(    (    (   R#   R   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   ì  R!   c              s   ˆ ˆ  S(   N(    (    (   R#   R   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   í  R!   c              s   ˆ  ˆ S(   N(    (    (   R#   t   u(    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   î  R!   c              s   ˆ ˆ  S(   N(    (    (   R#   Rs   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   ï  R!   (   i   i    i    (   i    i   i    (   i   i    i    (   i    i    i    (   i   i   i    (   i    i    i    (   i   i   i    (   i    i    i   (   i    i    i    (   i   i    i    (   i   i   i    (   i   i    i    (   i   i   i    (   i    i    i   (   i   i    i    (   i   i    i    (   i    i    i    (   i   i   i   (   i    i    i    (	   R   R	   t   dictR'   R   t	   TypeErrorR   R   R   (   RF   t   Ruvt   vt   RxyzR   R    t   Fuv(    (   R#   Rs   R   s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement___add__Ý  s&    .DL[ITcDc             s×  t  d t ƒ \ }  ‰  t  d t ƒ \ } ‰ } t  d | ƒ \ } ‰ } } t ˆ d | ƒ i d d 6d d 6k sv t ‚ t ˆ ˆ ƒ t ˆ ˆ ƒ k o± i d d 6ˆ d 6k n s¼ t ‚ t ˆ ˆ | ƒ t ˆ | ˆ ƒ k oÿ i d d 6ˆ d 6k n s
t ‚ t ˆ ˆ | | ƒ t ˆ | | ˆ ƒ k o\i d d 6d d 6ˆ d 6k n sgt ‚ t ˆ ˆ ˆ ƒ t ˆ ˆ ˆ ƒ k o§i ˆ d d 6k n s²t ‚ t ˆ ˆ ˆ | ƒ t ˆ | ˆ ˆ ƒ k oýi d d 6ˆ d 6k n st ‚ t ˆ ˆ ˆ | | ƒ t ˆ | | ˆ ˆ ƒ k obi d d 6d d 6ˆ d 6k n smt ‚ t t ‡  ‡ f d †  ƒ t t ‡  ‡ f d	 †  ƒ t t ‡  ‡ f d
 †  ƒ t t ‡  ‡ f d †  ƒ t d t ƒ \ } ‰ } t  d | ƒ \ } ‰ } } t ˆ ˆ ƒ t ˆ ˆ ƒ k o?i d d 6ˆ d 6k n sJt ‚ t  d t ƒ \ } ‰ } } t t t ƒ ˆ | | ƒ t ˆ | | t t ƒ ƒ k oÈi t d ƒ d 6t t ƒ d 6k n sÓt ‚ d  S(   NR#   s   u,vs   x,y,zi   i   i    iýÿÿÿc              s   ˆ  ˆ S(   N(    (    (   R#   R   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   	  R!   c              s   ˆ ˆ  S(   N(    (    (   R#   R   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   
  R!   c              s   ˆ  ˆ S(   N(    (    (   R#   Rs   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"     R!   c              s   ˆ ˆ  S(   N(    (    (   R#   Rs   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"     R!   (   i   i    i    (   i    i   i    (   i   i    i    (   i    i    i    (   i   i   i    (   i    i    i    (   i   i   i    (   i    i    i   (   i    i    i    (   i   i    i    (   i   i   i    (   i   i    i    (   i   i   i    (   i    i    i   (   i   i    i    (   i   i    i    (   i    i    i    (   i   i   i   (   i    i    i    (	   R   R	   Rt   R'   R   Ru   R   R   R   (   RF   Rv   Rw   Rx   R   R    Ry   (    (   R#   Rs   R   s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement___sub__ú  s&    .FN]KVeFc             s®  t  d t ƒ \ }  ‰  t  d t ƒ \ } ‰ } t  d | ƒ \ } ‰ } ‰ t ˆ ˆ ƒ t ˆ ˆ ƒ k oz i ˆ d 6k n s… t ‚ t d ˆ ˆ ˆ ƒ t ˆ d ˆ ˆ ƒ k oÒ i d ˆ d 6d d 6k n sÝ t ‚ t ˆ d ˆ ˆ ƒ t d ˆ ˆ ˆ ƒ k o*i d ˆ d 6d d 6k n s5t ‚ t d ˆ ˆ ˆ ƒ t ˆ d ˆ ˆ ƒ k o‚i d ˆ d 6d d 6k n st ‚ t ˆ ˆ d ˆ ƒ t ˆ ˆ d ˆ ƒ k oÚi d ˆ d 6d d 6k n såt ‚ t d ˆ ˆ | ˆ ƒ t ˆ | d ˆ ˆ ƒ k o:i d ˆ d 6d d 6k n sEt ‚ t ˆ d ˆ | ˆ ƒ t d ˆ | ˆ ˆ ƒ k oši d ˆ d 6d d 6k n s¥t ‚ t d ˆ ˆ | ˆ ƒ t ˆ | d ˆ ˆ ƒ k oúi d ˆ d 6d d 6k n st ‚ t ˆ ˆ | d ˆ ƒ t ˆ | ˆ d ˆ ƒ k oZi d ˆ d 6d d 6k n set ‚ t d ˆ | ˆ ˆ ƒ t | ˆ d ˆ ˆ ƒ k oºi d ˆ d 6d d 6k n sÅt ‚ t ˆ d | ˆ ˆ ƒ t d | ˆ ˆ ˆ ƒ k oi d ˆ d 6d d  6k n s%t ‚ t d ˆ | ˆ ˆ ƒ t | ˆ d ˆ ˆ ƒ k ozi d ˆ d! 6d d" 6k n s…t ‚ t ˆ | ˆ d ˆ ƒ t | ˆ ˆ d ˆ ƒ k oÚi d ˆ d# 6d d$ 6k n såt ‚ t d ˆ ˆ | ˆ ƒ t ˆ | d ˆ ˆ ƒ k oEi d ˆ d% 6d ˆ d& 6d d' 6k n sPt ‚ t t ‡  ‡ ‡ f d †  ƒ t t ‡  ‡ ‡ f d	 †  ƒ t t ‡  ‡ ‡ f d
 †  ƒ t t ‡  ‡ ‡ f d †  ƒ t d t ƒ \ } ‰ } t  d | ƒ \ } ‰ } ‰ t ˆ ˆ ƒ t ˆ ˆ ƒ k o%i ˆ d( 6k n s0t ‚ t  d t ƒ \ } ‰ } ‰ t t t ƒ ˆ | ˆ ƒ t ˆ | ˆ t t ƒ ƒ k oŸi t t ƒ d) 6k n sªt ‚ d  S(*   NR#   s   u,vs   x,y,zi   i    i   i   c              s   ˆ  ˆ ˆ S(   N(    (    (   R#   R   R    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   /  R!   c              s   ˆ ˆ  ˆ S(   N(    (    (   R#   R   R    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   0  R!   c              s   ˆ  ˆ ˆ S(   N(    (    (   R#   Rs   R    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   1  R!   c              s   ˆ ˆ  ˆ S(   N(    (    (   R#   Rs   R    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   2  R!   (   i   i    i    (   i   i    i    (   i    i    i   (   i   i    i    (   i    i    i   (   i   i    i    (   i    i    i   (   i   i    i    (   i    i    i   (   i   i   i    (   i    i    i   (   i   i   i    (   i    i    i   (   i   i   i    (   i    i    i   (   i   i   i    (   i    i    i   (   i   i   i    (   i    i    i   (   i   i   i    (   i    i    i   (   i   i   i    (   i    i    i   (   i   i   i    (   i    i    i   (   i   i    i    (   i    i   i    (   i    i    i   (   i   i    i    (   i   i   i   (	   R   R	   Rt   R'   R   Ru   R   R   R   (   RF   Rv   Rw   Rx   R   Ry   (    (   R#   Rs   R   R    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement___mul__  s4    =XXXX````````k=c    	         s  t  d t ƒ \ }  ‰ } } d ˆ d d d ˆ d d k sE t ‚ d ˆ d d d ˆ d k sk t ‚ ˆ d d j ˆ ƒ ˆ k sŽ t ‚ ˆ d ˆ j ˆ ƒ ˆ d k sµ t ‚ ˆ d d ˆ ˆ ˆ d k sÛ t ‚ ˆ d ˆ ˆ ˆ d k sý t ‚ ˆ d d d ˆ ˆ d ˆ d d k s/t ‚ ˆ d d j d ˆ ƒ d k sVt ‚ ˆ d ˆ ˆ d ˆ d ˆ j ˆ d ƒ k o’ˆ k n st ‚ t  d t ƒ \ }  ‰ } } t ˆ d d | d d | d d j ƒ  ƒ d k söt ‚ t  d t ƒ \ }  ‰ } } t ˆ d d | d d | d d j ƒ  ƒ d k sOt ‚ t  d	 t ƒ \ } ‰ t  d
 t ƒ \ } ‰ } t  d | ƒ \ } ‰ } } t ˆ d ˆ ˆ ˆ ƒ i ˆ d6 6d d7 6k sÍt ‚ t t	 ‡ ‡ f d †  ƒ t t	 ‡ ‡ f d †  ƒ t t	 ‡ ‡ f d †  ƒ t t	 ‡ ‡ f d †  ƒ t t	 ‡ ‡ f d †  ƒ t  d t ƒ \ }  ‰ ˆ d d ˆ d |  d ƒ ‰  ‰ t t
 ‡  ‡ f d †  ƒ t t
 ‡  ‡ f d †  ƒ t t
 ‡  ‡ f d †  ƒ t t
 ‡  ‡ f d †  ƒ t t
 ‡  ‡ f d †  ƒ t t
 ‡  ‡ f d †  ƒ t t
 ‡  ‡ f d †  ƒ t  d t ƒ \ }  ‰ } ˆ | d ˆ d |  d ƒ ‰  ‰ t t
 ‡  ‡ f d †  ƒ t t
 ‡  ‡ f d †  ƒ t t
 ‡  ‡ f d †  ƒ t t
 ‡  ‡ f d †  ƒ t t
 ‡  ‡ f d †  ƒ t t
 ‡  ‡ f d †  ƒ t t
 ‡  ‡ f d †  ƒ t  d t ƒ \ }  ‰ ˆ d d d ˆ d ‰  ‰ |  d ƒ ˆ d d } } ˆ  j ˆ ƒ t ˆ  ˆ ƒ k o—| | f k n s¢t ‚ ˆ  j ˆ ƒ ˆ  ˆ k oÆ| k n sÑt ‚ ˆ  j ˆ ƒ ˆ  ˆ k oõ| k n s t ‚ t t ‡  ‡ f d  †  ƒ d ˆ d ˆ d ˆ d d ˆ d d ˆ d ‰  ‰ |  d ƒ ˆ  } } ˆ  j ˆ ƒ t ˆ  ˆ ƒ k o”| | f k n sŸt ‚ ˆ  j ˆ ƒ ˆ  ˆ k oÃ| k n sÎt ‚ ˆ  j ˆ ƒ ˆ  ˆ k oò| k n sýt ‚ t t ‡  ‡ f d! †  ƒ d ˆ d d ˆ d d ˆ d d ˆ d ˆ d d ˆ d ‰  ‰ d ˆ d d" ˆ d# ˆ d } } ˆ  j ˆ ƒ t ˆ  ˆ ƒ k o³| | f k n s¾t ‚ ˆ  j ˆ ƒ ˆ  ˆ k oâ| k n sít ‚ ˆ  j ˆ ƒ ˆ  ˆ k o| k n st ‚ t t ‡  ‡ f d$ †  ƒ d ˆ d d ˆ d d ˆ d d ˆ d ˆ ˆ d d ˆ d d% ‰  ‰ d ˆ d" d& ˆ d d ˆ d d' ˆ d( } } ˆ  j ˆ ƒ t ˆ  ˆ ƒ k oê| | f k n sõt ‚ ˆ  j ˆ ƒ ˆ  ˆ k o	| k n s$	t ‚ ˆ  j ˆ ƒ ˆ  ˆ k oH	| k n sS	t ‚ t t ‡  ‡ f d) †  ƒ t  d t ƒ \ }  ‰ ˆ d d d ˆ d ‰  ‰ ˆ d d |  d ƒ } } ˆ  j ˆ ƒ t ˆ  ˆ ƒ k oè	| | f k n só	t ‚ ˆ  j ˆ ƒ ˆ  ˆ k o
| k n s"
t ‚ ˆ  j ˆ ƒ ˆ  ˆ k oF
| k n sQ
t ‚ t t ‡  ‡ f d* †  ƒ d ˆ d ˆ d ˆ d d ˆ d d ˆ d ‰  ‰ t d d ƒ ˆ t d+ d, ƒ t d- d, ƒ ˆ t d. d, ƒ } } ˆ  j ˆ ƒ t ˆ  ˆ ƒ k o| | f k n st ‚ ˆ  j ˆ ƒ ˆ  ˆ k oB| k n sMt ‚ ˆ  j ˆ ƒ ˆ  ˆ k oq| k n s|t ‚ t t ‡  ‡ f d/ †  ƒ t  d t ƒ \ }  ‰ } ˆ d | d ˆ | ‰  ‰ ˆ | |  d ƒ } } ˆ  j ˆ ƒ t ˆ  ˆ ƒ k o| | f k n st ‚ ˆ  j ˆ ƒ ˆ  ˆ k o?| k n sJt ‚ ˆ  j ˆ ƒ ˆ  ˆ k on| k n syt ‚ ˆ  j ˆ ƒ | k s”t ‚ ˆ d | d ˆ | ‰  ‰ ˆ | d | d } } ˆ  j ˆ ƒ t ˆ  ˆ ƒ k où| | f k n st ‚ ˆ  j ˆ ƒ ˆ  ˆ k o(| k n s3t ‚ ˆ  j ˆ ƒ ˆ  ˆ k oW| k n sbt ‚ t t ‡  ‡ f d0 †  ƒ ˆ d | d ˆ | ‰  ‰ ˆ | d | d } } ˆ  j ˆ ƒ t ˆ  ˆ ƒ k oâ| | f k n sít ‚ ˆ  j ˆ ƒ ˆ  ˆ k o| k n st ‚ ˆ  j ˆ ƒ ˆ  ˆ k o@| k n sKt ‚ t t ‡  ‡ f d1 †  ƒ ˆ d | d d ˆ d | ‰  ‰ |  d ƒ ˆ  } } ˆ  j ˆ ƒ t ˆ  ˆ ƒ k oË| | f k n sÖt ‚ ˆ  j ˆ ƒ ˆ  ˆ k oú| k n st ‚ ˆ  j ˆ ƒ ˆ  ˆ k o)| k n s4t ‚ t t ‡  ‡ f d2 †  ƒ t  d t ƒ \ }  ‰ } ˆ d | d ˆ | ‰  ‰ ˆ | |  d ƒ } } ˆ  j ˆ ƒ t ˆ  ˆ ƒ k oÈ| | f k n sÓt ‚ ˆ  j ˆ ƒ ˆ  ˆ k o÷| k n st ‚ ˆ  j ˆ ƒ ˆ  ˆ k o&| k n s1t ‚ ˆ  j ˆ ƒ | k sLt ‚ ˆ d | d ˆ | ‰  ‰ ˆ | d | d } } ˆ  j ˆ ƒ t ˆ  ˆ ƒ k o±| | f k n s¼t ‚ ˆ  j ˆ ƒ ˆ  ˆ k oà| k n sët ‚ ˆ  j ˆ ƒ ˆ  ˆ k o| k n st ‚ t t ‡  ‡ f d3 †  ƒ ˆ d | d ˆ | ‰  ‰ ˆ | d | d } } ˆ  j ˆ ƒ t ˆ  ˆ ƒ k oš| | f k n s¥t ‚ ˆ  j ˆ ƒ ˆ  ˆ k oÉ| k n sÔt ‚ ˆ  j ˆ ƒ ˆ  ˆ k oø| k n st ‚ t t ‡  ‡ f d4 †  ƒ ˆ d | d d ˆ d | ‰  ‰ ˆ d | d d | d } } ˆ  j ˆ ƒ t ˆ  ˆ ƒ k o‘| | f k n sœt ‚ ˆ  j ˆ ƒ ˆ  ˆ k oÀ| k n sËt ‚ ˆ  j ˆ ƒ ˆ  ˆ k oï| k n sút ‚ t t ‡  ‡ f d5 †  ƒ d  S(8   Ns   x,y,zi   i   i   i   iÿÿÿÿi    i   R#   s   u,vc              s   ˆ  ˆ  d ˆ ˆ  S(   Ni   (    (    (   Rs   R   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   Y  R!   c              s   ˆ  ˆ S(   N(    (    (   R#   R   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   [  R!   c              s   ˆ ˆ  S(   N(    (    (   R#   R   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   \  R!   c              s   ˆ  ˆ S(   N(    (    (   R#   Rs   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   ]  R!   c              s   ˆ ˆ  S(   N(    (    (   R#   Rs   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   ^  R!   R   c              s   ˆ  j  ˆ ƒ S(   N(   t   div(    (   R4   RN   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   c  R!   c              s   t  ˆ  ˆ ƒ S(   N(   t   divmod(    (   R4   RN   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   d  R!   c              s   ˆ  j  ˆ ƒ S(   N(   t   rem(    (   R4   RN   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   e  R!   c              s   ˆ  ˆ S(   N(    (    (   R4   RN   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   f  R!   c              s   ˆ  j  ˆ ƒ S(   N(   t   quo(    (   R4   RN   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   g  R!   c              s   ˆ  ˆ S(   N(    (    (   R4   RN   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   h  R!   c              s   ˆ  j  ˆ ƒ S(   N(   t   exquo(    (   R4   RN   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   i  R!   s   x,yc              s   ˆ  j  ˆ ƒ S(   N(   R}   (    (   R4   RN   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   n  R!   c              s   t  ˆ  ˆ ƒ S(   N(   R~   (    (   R4   RN   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   o  R!   c              s   ˆ  j  ˆ ƒ S(   N(   R   (    (   R4   RN   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   p  R!   c              s   ˆ  ˆ S(   N(    (    (   R4   RN   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   q  R!   c              s   ˆ  j  ˆ ƒ S(   N(   R€   (    (   R4   RN   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   r  R!   c              s   ˆ  ˆ S(   N(    (    (   R4   RN   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   s  R!   c              s   ˆ  j  ˆ ƒ S(   N(   R   (    (   R4   RN   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   t  R!   c              s   ˆ  j  ˆ ƒ S(   N(   R   (    (   R4   RN   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   ~  R!   c              s   ˆ  j  ˆ ƒ S(   N(   R   (    (   R4   RN   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   †  R!   i   i   c              s   ˆ  j  ˆ ƒ S(   N(   R   (    (   R4   RN   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   Ž  R!   i	   i   i,   i6   c              s   ˆ  j  ˆ ƒ S(   N(   R   (    (   R4   RN   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   –  R!   c              s   ˆ  j  ˆ ƒ S(   N(   R   (    (   R4   RN   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"      R!   i   i   i4   io   c              s   ˆ  j  ˆ ƒ S(   N(   R   (    (   R4   RN   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   ¨  R!   c              s   ˆ  j  ˆ ƒ S(   N(   R   (    (   R4   RN   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   º  R!   c              s   ˆ  j  ˆ ƒ S(   N(   R   (    (   R4   RN   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   Â  R!   c              s   ˆ  j  ˆ ƒ S(   N(   R   (    (   R4   RN   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   Ê  R!   c              s   ˆ  j  ˆ ƒ S(   N(   R   (    (   R4   RN   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   Ü  R!   c              s   ˆ  j  ˆ ƒ S(   N(   R   (    (   R4   RN   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   ä  R!   c              s   ˆ  j  ˆ ƒ S(   N(   R   (    (   R4   RN   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   ì  R!   (   i   i    i    (   i    i    i    (   R   R	   R'   R€   R%   Rm   R
   Rt   R   Ru   t   ZeroDivisionErrorR}   R~   R   R   R   (	   R0   R   R    RF   Rv   Rw   Rx   t   qRG   (    (   R4   RN   R#   Rs   R   s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement___div__=  s   *&#'&"2'G>>6##://9://I%://Q5://://9A://://://://%://://://://%!://c             s+  t  d t t ƒ \ }  } d | d ‰  ˆ  d d k s< t ‚ ˆ  d ˆ  k sR t ‚ t t ‡  f d †  ƒ | d | d k s‚ t ‚ ˆ  d ˆ  j d ƒ k oÎ ˆ  j d ƒ k oÎ d | d d	 | d
 k n sÙ t ‚ ˆ  d ˆ  j d ƒ k o1ˆ  j d ƒ k o1d | d d | d d | d k n s<t ‚ ˆ  d ˆ  j d ƒ k o ˆ  j d ƒ k o d | d d | d d | d d | d k n s«t ‚ ˆ  d ˆ  j d ƒ k oˆ  j d ƒ k od | d d | d d | d d | d d | d k n s&t ‚ t  d t t ƒ \ }  } } } | d | d | | d d | d ‰  | d | d d | d | d d | d | | d | d | d | d | d d	 | | d | d | | d d
 | d d | d } ˆ  d ˆ  j d ƒ k o@ˆ  j d ƒ k o@| k n sKt ‚ t  d t ƒ \ }  } d | d d | d d ‰  d  | d d! | d" d# | d	 d$ | d% d& | d d' | d d( | d d) | d d* } ˆ  d ˆ  j d ƒ k oˆ  j d ƒ k o| k n s't ‚ d  S(+   NR   i   i   i    i   c              s   ˆ  d S(   Niÿÿÿÿ(    (    (   R4   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   ô  R!   iÿÿÿÿi   i   i	   i   i$   i6   i   i   i`   iØ   iQ   i   i    ið   iÐ  i8  i*  ió   s   x,y,zi   R#   i@Ôÿÿi,
  i1   I   Aç7 I  @ÉLý3 i   I  ¦®,' I @&+Ä  i
   I AöòØ  I ‡c#b  I`J„   i°›
IiÁöW (   R   R	   R   R'   R   R7   t   _pow_generict   _pow_multinomial(   R0   R   R   R    RN   R#   (    (   R4   s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement___pow__î  s$    Wco{*šCfc    	      C   s$  t  d t t ƒ \ }  } | d d | d d } | d } | d d | d } d } | j | g ƒ | g | f k s t ‚ t  d t t ƒ \ }  } | d d | d } | j |  d	 ƒ g ƒ | g d
 f k sÚ t ‚ t  d t t ƒ \ }  } | d d | d } | j |  d ƒ g ƒ t d	 d ƒ | d | d	 g d
 f k sNt ‚ t  d t t ƒ \ }  } } d | d | d | | d | d | d } | j |  d ƒ g ƒ d | d | | | d | | d g d
 f k sìt ‚ | j d | g ƒ d | d | d	 g d | d f k s/t ‚ | d	 } | d	 } | j | g ƒ d
 g | f k sjt ‚ | | d d	 } | | d	 | d	 g } | d g } d } | j | ƒ | | f k sÇt ‚ | d | | | d | d } | | d	 | d d	 g } | | d	 g } | | d	 } | j | ƒ | | f k sDt ‚ | d d	 | | d	 g } | d	 | g } d | d	 } | j | ƒ | | f k sŸt ‚ t  d t ƒ \ }  |  d ƒ j |  d ƒ ƒ d k sØt ‚ t  d t ƒ \ }  |  d ƒ j |  d ƒ ƒ t d d ƒ d
 f k s t ‚ d  S(   NR   i   i   i   i*   i	   i   i…ÿÿÿi   i    s   x,yi   i   iÿÿÿÿR!   (   i    i   (   R   R	   R   R}   R'   R
   (	   R0   R   R4   RN   Rƒ   RG   R   t   Gt   Q(    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement_div  sJ    
'-F2QC

'!"!!'c          C   s	  t  d t t ƒ \ }  } | d d | d d } | d } d } | j | g ƒ | j | g ƒ d k ou | k n s€ t ‚ t  d t t ƒ \ }  } } d	 | d | d | | d	 | d | d
 } | j |  d ƒ g ƒ | j |  d ƒ g ƒ d k od k n st ‚ | j d | g ƒ | j d | g ƒ d k oZd	 | d
 k n set ‚ | d } | d } | j | g ƒ | j | g ƒ d k o¬| k n s·t ‚ | | d d } | | d | d g } d } | j | ƒ | j | ƒ d k o| k n st ‚ | d | | | d | d } | | d | d d g } | | d } | j | ƒ | j | ƒ d k o˜| k n s£t ‚ | d d | | d g } d | d } | j | ƒ | j | ƒ d k oú| k n st ‚ d  S(   NR   i   i   i   i*   i…ÿÿÿi   s   x,yi   i   i    (   R   R	   R   R   R}   R'   (   R0   R   R4   RN   RG   R   Rˆ   (    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement_remF  s.    
>2JN

>8"8c          C   sœ  t  d t ƒ \ }  } d | d j | d d | d d ƒ d d | | d d | d g f k sl t ‚ t  d t ƒ \ }  } } |  d ƒ j |  d ƒ ƒ d	 d d g f k s· t ‚ |  d ƒ j |  d ƒ ƒ d
 d d g f k sê t ‚ |  d ƒ j |  d ƒ ƒ d d d g f k st ‚ |  d ƒ j d | ƒ d d d | g f k sRt ‚ d | j d | ƒ d d | d | g f k s‰t ‚ |  d ƒ j d | d ƒ d d d | g f k sÂt ‚ d | d j d | d ƒ d d | d | g f k st ‚ | d | d | d | d } | d | d | d | d } | j | ƒ d | d | d | | d | | d | | d g f k s˜t ‚ d  S(   NR   i   i   i   s   x,yi    i   (   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   R   R	   t   deflateR'   (   R0   R   R   R4   RN   (    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement_deflatel  s    W333579?""c          C   s©  t  d t ƒ \ }  } } |  d ƒ j ƒ  t d ƒ d f k sB t ‚ |  d ƒ j ƒ  t d ƒ d f k sl t ‚ |  t d d ƒ ƒ j ƒ  d6 k s“ t ‚ |  t d d ƒ ƒ j ƒ  d7 k sº t ‚ d | d | j ƒ  d d | d | f k sð t ‚ | d t d d ƒ | j ƒ  d d | d | f k s/t ‚ t  d t t ƒ \ } } } t  d t t ƒ \ } } } | t d d ƒ | d t d	 d
 ƒ | d t d d ƒ | d t d d ƒ | d t d d ƒ | d t d d ƒ | d t d d ƒ | t d d ƒ | d t d d ƒ | d t d d ƒ | d t d d ƒ | d t d  d! ƒ | d t d" d! ƒ | d t d# d ƒ | d t d$ d ƒ | t d% d ƒ g } d& | d' | d d( | d d) | d d* | d d+ | d d, | d d- | d. d | d d/ | d d | d d0 | d d1 | d d2 | d d3 | d d4 | d5 g }	 g  | D] }
 |
 j ƒ  d j | ƒ ^ qt|	 k s¥t ‚ d  S(8   Ns   x,yi   i   i   i   s   x,tl   ùÊO{‘]K•_É$í-é\·WåKÜ.j/%=udLhàL` l     :P·$¯GÌœ¢N„A3œVßC„ðc„8RNe]†Ú l   ©HBSWÜ~b]"zZ„Mî}§Eî |uÀ"Õ¿KÉ2 l    h^%==2þpDu.˜q´~„@|`‘:*w
Ìh i   l   Ù[_•+Jê[¼kíPŽuä=\L=ªIÅGS{,ð²c.\) o l    P=Kzzdüa‰ê$\0ci}=$?&ø@#uTn0˜Q i   l   CNºVO&ilo?¥uTvB¯p5ºy\
$l©$ÖaPÑ-NCR l    Hi)Sbx|5eS6O--:‹QRbV.r?1l–W i   l   Mƒ[Sýµ hlÙó<ÝMÏ6¾>‡P|oPoÔDugÍe l    Ð[¤WGfNQNBÁ3NÖoCBxcBR'å.Cml   Ã.wSK-­Gã¡+~96nzLwGDÉÍ<u)qàGµ	l   °>0I	íB£,Iu!˜|çJÚ=yÂ9¶-l   @¹VóT×ry![tÔ
¯RdløCHjò\L¬L‡f:' l   0Å%’H8[JÝ/@)\LMñ3B\_>þmxwr) l   ×$ä><JkðtGl³+oßgÆKàz·ÉeXBO†R¢Fl   „`%C!+[O‡;RY.²{À;©°gW!Ýo^@*ß> i   l   `(“s÷x´]Yl   i ½4&äm: l   À,8y'X^l   ±¥:ÕW]l    kÌB`l    
ÄOª<âpä{l   ;7>œr¬I° l    ``6]j—_{l    @åo;bÉ|?l      Tõ=–-Él     Êl‹FORl     
RtJ)1~M²C©MgKÝb¨q«ùcÃL¶e«l   Árýa2ÈU!J'B\KW4Du+Á%B:®N'Œ/|,ç3D`N l    >C_õ=DèmbgrVJ5n,»Oÿ{Ž-[8 ·Dî/7Ê"²l   *×uæQ!ó3'É; ÄPtµSäo"_ ;2g0PZwg
l   À§.ëSö[_iºªák
8Cšn|#	v*’u0Ht–S¡l    5‘u3ÜjÁx˜]L*Ÿ(ýIIyLÚ1iC©Âo§latÖ1:'É6(l    P­gÿ];meVŠÎqÌæ'Ž%°op¹Z "¼Mmtä:%63l    P*71}<U1qÕq,¼+¼'ÔcíX0rVvQa;ô pA9l    @ir›0ê@ƒ>/3,«F%*Á;W@ {=5|o&à(Ëc_46l   `k-·@\K'l    4C|	,Ydm l    Loÿ5§R®s l     "#?ÇVq l    @otc?c l      t¢-JOl     Sêz(Gç(   i   i   (   i   i   (   R   R
   t   clear_denomsR	   R'   R   t   set_ring(   R0   R   R   t   rQQR#   t   rZZRQ   t   TR@   Rˆ   R4   (    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement_clear_denoms€  s     **''6?	Ÿ©	W[
c    
      C   sþ  t  d t ƒ \ }  } } |  d ƒ |  d ƒ } } | j | ƒ d k sL t ‚ |  d ƒ |  d ƒ } } | j | ƒ d k s€ t ‚ |  d ƒ |  d ƒ } } | j | ƒ d k s´ t ‚ |  d ƒ |  d ƒ } } | j | ƒ d k sè t ‚ |  d ƒ d | d } } | j | ƒ d | d d d f k s/t ‚ d | d |  d ƒ } } | j | ƒ d | d d d f k svt ‚ |  d ƒ |  d ƒ } } | j | ƒ d k sªt ‚ |  d ƒ |  d ƒ } } | j | ƒ d k sÞt ‚ |  d ƒ |  d ƒ } } | j | ƒ d k st ‚ |  d ƒ |  d ƒ } } | j | ƒ d k sFt ‚ | d d | d |  d ƒ } } | j | ƒ d | d d | d d f k st ‚ | d d | d |  d ƒ } } | j | ƒ d | d d | d d f k sôt ‚ d | d d | d |  d ƒ } } | j | ƒ d | d d | d d f k sOt ‚ |  d ƒ d | d d | d } } | j | ƒ d d | d d | d f k sªt ‚ d | d d | d | d } } | j | ƒ | d d | d d f k sÿt ‚ | d d | d d | d } } | j | ƒ | d d d | d f k sTt ‚ t  d t ƒ \ }  } } } } | d d | d d | d } } | j | ƒ | d | d d f k sÃt ‚ | d | d d | d | | d | | | | d d | d } } | d | d | | d | | d } } }	 | j | ƒ | | |	 f k sdt ‚ | j | ƒ | |	 | f k sˆt ‚ t  d t ƒ \ }  } } t d d ƒ | d | t d d ƒ } t d d ƒ | t d d ƒ } | d } | j | ƒ | | t d d ƒ f k st ‚ | j | ƒ | t d d ƒ | f k sLt ‚ t  d t ƒ \ }  } } d	 | | d d	 | | d	 | } d	 | d
 } d | } | j | ƒ | | | | | f k sÎt ‚ | j | ƒ | | | | | f k sút ‚ d  S(   Ns   x,yi    i   i   iþÿÿÿiÿÿÿÿi   s   x,y,z,tgÍÌÌÌÌÌ @i   g      ð?(   i    i    i    (   i   i   i    (   i   iÿÿÿÿi    (   i   i    iÿÿÿÿ(   i   i   i   (   i   iÿÿÿÿi   (   i   i   iÿÿÿÿ(   i   iÿÿÿÿiÿÿÿÿ(   R   R	   t	   cofactorsR'   R
   R   (
   R0   R   R   R4   RN   R    R#   t   ht   cfft   cfg(    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement_cofactorsµ  sh    ,,#4#4'4'4%0%0%,M0$$( 
--&
,c          C   sƒ   t  d t ƒ \ }  } } t d d ƒ | d | t d d ƒ } t d d ƒ | t d d ƒ } | j | ƒ | d k s t ‚ d  S(   Ns   x,yi   i   (   R   R
   t   gcdR'   (   R0   R   R   R4   RN   (    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement_gcd  s    ( c    
      C   s[  t  d t ƒ \ }  } } d | d d | d d | } d | d d | } d | d } d } | j | ƒ | | f k s… t ‚ | j | ƒ | | f k s¨ t ‚ | j | ƒ | | f k sË t ‚ t  d t ƒ \ }  } } t d d ƒ | d | d t d d ƒ | } t d d ƒ | d t d d ƒ | } d | d } d } | j | ƒ | | f k spt ‚ | j | ƒ | | f k s“t ‚ | j | ƒ | | f k s¶t ‚ t d t ƒ \ } } t  d | ƒ \ } }	 | d d d |	 } |	 d | d d d } | j | ƒ | d d |	 d |	 d d | d d f k sWt ‚ d  S(   Ns   x,yi   i   i   i   R   R#   (   R   R	   t   cancelR'   R
   R   (
   R0   R   R   R4   RN   R@   Rˆ   t   FxRF   R#   (    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement_cancel  s*    "!##0(!##c          C   sŒ   t  d t ƒ \ }  } } |  d ƒ j ƒ  d k s6 t ‚ |  d ƒ j ƒ  d k sT t ‚ | d d | d d | d j ƒ  d k sˆ t ‚ d  S(   Ns   x,yi    i   i   i   i   (   R   R	   t   max_normR'   (   R0   R   R   (    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement_max_norm/  s    c          C   sŒ   t  d t ƒ \ }  } } |  d ƒ j ƒ  d k s6 t ‚ |  d ƒ j ƒ  d k sT t ‚ | d d | d d | d j ƒ  d k sˆ t ‚ d  S(   Ns   x,yi    i   i   i   i   i
   (   R   R	   t   l1_normR'   (   R0   R   R   (    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement_l1_norm7  s    c          C   sü  t  d t ƒ \ }  } t d d ƒ | d d | d d | d d	 | d
 d d | d d | d d	 | d d	 d | d d d | d d } | j | d ƒ t d d ƒ | d d | d d | d d	 | d
 d d | d | d d	 | d d	 d | d k s$t ‚ | j | d ƒ t d d ƒ | d d | d d | d d | d
 d d | d d | d d	 | d d k s¤t ‚ | j | d
 ƒ t d d ƒ | d d | d d | d d	 | d
 k søt ‚ d  S(   Ns   x:11i   i   i    i   i   i   i   i   i
   i   i 	  i   i   i`  i   i@  (   R   R
   t   diffR'   (   R0   RQ   R4   (    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement_diff?  s
    ‡ˆ€c             sÀ  t  d t ƒ \ }  } d | d ‰  ˆ  d ƒ d k s; t ‚ ˆ  d ƒ d k sS t ‚ t t ‡  f d †  ƒ t t ‡  f d †  ƒ t t ‡  f d †  ƒ t  d	 t ƒ \ }  } } d | | d
 d ‰  ˆ  d d ƒ d k sÞ t ‚ ˆ  d d ƒ d k sù t ‚ |  j | ƒ } ˆ  d ƒ | j d
 d k s+t ‚ ˆ  d ƒ | j d
 d k sNt ‚ t t ‡  f d †  ƒ t t ‡  f d †  ƒ t t ‡  f d †  ƒ t t ‡  f d †  ƒ t t ‡  f d †  ƒ d  S(   NR   i   i   i    i   c              s   ˆ  ƒ  S(   N(    (    (   R4   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   O  R!   c              s   ˆ  d d ƒ S(   Ni    i   (    (    (   R4   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   P  R!   c              s   ˆ  t  d d ƒ ƒ S(   Ni   i   (   R
   (    (   R4   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   R  R!   s   x,yi   i   i5   c              s   ˆ  ƒ  S(   N(    (    (   R4   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   _  R!   c              s   ˆ  d d d ƒ S(   Ni    i   i   (    (    (   R4   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   `  R!   c              s   ˆ  d t  d d ƒ ƒ S(   Ni   i   (   R
   (    (   R4   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   b  R!   c              s   ˆ  t  d d ƒ d ƒ S(   Ni   i   (   R
   (    (   R4   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   c  R!   c              s   ˆ  t  d d ƒ t  d d ƒ ƒ S(   Ni   i   (   R
   (    (   R4   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   d  R!   (   R   R	   R'   R   R7   R   R6   R   (   R0   R   R   t   Ry(    (   R4   s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement___call__H  s&    ##c             s‘  t  d t ƒ \ }  ‰ ˆ d d ˆ d d ˆ d ‰  ˆ  j ˆ d ƒ } | d k re t | t ƒ sk t ‚ t t ‡  ‡ f d †  ƒ t  d t ƒ \ }  ‰ ‰ } ˆ ˆ d d ˆ ˆ d d ˆ ˆ d ‰  ˆ  j ˆ d ƒ } | d k rt | |  j ˆ ƒ j	 ƒ st ‚ ˆ  j ˆ d f ˆ d f g ƒ } | d k rWt | |  j ˆ ˆ ƒ j	 ƒ s]t ‚ ˆ  j ˆ d ƒ } | d k r–t | |  j ˆ ƒ j	 ƒ sœt ‚ ˆ  j ˆ d f ˆ d f g ƒ } | d k rçt | |  j ˆ ˆ ƒ j	 ƒ sít ‚ ˆ  j ˆ d f ˆ d f | d f g ƒ } | d k r3t | t ƒ s9t ‚ t t ‡  ‡ ‡ f d †  ƒ t t ‡  ‡ ‡ f d	 †  ƒ t t ‡  ‡ ‡ f d
 †  ƒ d  S(   NR   i   i   i   i    c              s   ˆ  j  ˆ t d d ƒ ƒ S(   Ni   i   (   t   evaluateR
   (    (   R4   R   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   m  R!   s   x,y,zc              s(   ˆ  j  ˆ d f ˆ t d d ƒ f g ƒ S(   Ni   i   (   R¦   R
   (    (   R4   R   R   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   ~  R!   c              s(   ˆ  j  ˆ t d d ƒ f ˆ d f g ƒ S(   Ni   i   (   R¦   R
   (    (   R4   R   R   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"     R!   c              s1   ˆ  j  ˆ t d d ƒ f ˆ t d d ƒ f g ƒ S(   Ni   i   (   R¦   R
   (    (   R4   R   R   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   €  R!   (
   R   R	   R¦   RV   R   R'   R   R   R6   RW   (   R0   RG   R    (    (   R4   R   R   s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement_evaluatef  s(    "".-!0-!0*"c             s–  t  d t ƒ \ }  ‰ ˆ d d ˆ d d ˆ d ‰  ˆ  j ˆ d ƒ } | d k rg t | |  j ƒ sm t ‚ t t ‡  ‡ f d †  ƒ t  d t ƒ \ }  ‰ ‰ } ˆ d d ˆ d d ˆ d ‰  ˆ  j ˆ d ƒ } | d k ró t | |  j ƒ sù t ‚ ˆ  j ˆ d f ˆ d f g ƒ } | d k r8t | |  j ƒ s>t ‚ t t ‡  ‡ ‡ f d †  ƒ t t ‡  ‡ ‡ f d	 †  ƒ t t ‡  ‡ ‡ f d
 †  ƒ d  S(   NR   i   i   i   i    c              s   ˆ  j  ˆ t d d ƒ ƒ S(   Ni   i   (   t   subsR
   (    (   R4   R   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   ‰  R!   s   x,y,zc              s(   ˆ  j  ˆ d f ˆ t d d ƒ f g ƒ S(   Ni   i   (   R¨   R
   (    (   R4   R   R   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   “  R!   c              s(   ˆ  j  ˆ t d d ƒ f ˆ d f g ƒ S(   Ni   i   (   R¨   R
   (    (   R4   R   R   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   ”  R!   c              s1   ˆ  j  ˆ t d d ƒ f ˆ t d d ƒ f g ƒ S(   Ni   i   (   R¨   R
   (    (   R4   R   R   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   •  R!   (   R   R	   R¨   RV   RW   R'   R   R   (   R0   RG   R    (    (   R4   R   R   s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement_subs‚  s    "$"$!$c             sV  t  d t ƒ \ }  ‰ ˆ d d ˆ d d ˆ d ‰  ˆ  j ˆ d ƒ } | d k rg t | |  j ƒ sm t ‚ ˆ  j ˆ ˆ ƒ ˆ  k s‹ t ‚ ˆ  j ˆ ˆ d ƒ ˆ d d ˆ d d ˆ d d k sÍ t ‚ t t ‡  ‡ f d †  ƒ t  d t ƒ \ }  ‰ } } ˆ d d ˆ d d ˆ d ‰  ˆ  j ˆ d ƒ } | d k rSt | |  j ƒ sYt ‚ ˆ  j ˆ d f | d f g ƒ } | d k r˜t | |  j ƒ sžt ‚ ˆ d d ˆ d d ˆ | | d j ˆ | | d d	 ƒ } | | d d	 d d | | d d	 d d | | d d	 | | d } | | k rLt | |  j ƒ sRt ‚ d  S(
   NR   i   i   i   i    i   c              s   ˆ  j  ˆ t d d ƒ ƒ S(   Ni   i   (   t   composeR
   (    (   R4   R   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   ¡  R!   s   x,y,zi   (   R   R	   Rª   RV   RW   R'   R   R   (   R0   RG   R   R    Rƒ   (    (   R4   R   s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement_compose—  s     "$B"$!$BNc             s—  t  d t ƒ \ }  ‰  } } ˆ  ˆ  j t k s4 t ‚ ˆ  ˆ  j t k sM t ‚ ˆ  ˆ  j t k sf t ‚ ˆ  ˆ  j t k s t ‚ ˆ  ˆ  d j t k sœ t ‚ ˆ  ˆ  d j t k s¹ t ‚ ˆ  ˆ  d j t k sÖ t ‚ ˆ  ˆ  d j t k só t ‚ ˆ  j t k st ‚ ˆ  j t k st ‚ ˆ  j t k s2t ‚ ˆ  j t k sGt ‚ ˆ  | j t k s`t ‚ ˆ  | j t k syt ‚ ˆ  | j t k s’t ‚ ˆ  | j t k s«t ‚ d ˆ  j t k sÄt ‚ d ˆ  j t k sÝt ‚ d ˆ  j t k söt ‚ d ˆ  j t k st ‚ d ˆ  d j t k s,t ‚ d ˆ  d j t k sIt ‚ d ˆ  d j t k sft ‚ d ˆ  d j t k sƒt ‚ |  d ƒ j	 t k sžt ‚ |  d ƒ j	 t k s¹t ‚ |  d ƒ j
 t k sÔt ‚ |  d ƒ j
 t k sït ‚ ˆ  d j t k st ‚ d ˆ  d j t k s%t ‚ d ˆ  d j t k sBt ‚ d ˆ  d j t k s_t ‚ ˆ  | | d j t k s€t ‚ ˆ  | | d j t k s¡t ‚ ˆ  | | d j t k sÂt ‚ ˆ  | | d j t k sãt ‚ ˆ  d j t k süt ‚ ˆ  d d j t k st ‚ ˆ  d ˆ  d j t k s:t ‚ ˆ  d d ˆ  d j t k s_t ‚ t  d t d ƒ ƒ \ } } d	 | d j t k s—t ‚ d	 | d d | d j t k sÀt ‚ t  d
 t ƒ \ } } | d | d | d | d | d | d } | j t k st ‚ | d j t k s5t ‚ t t ‡  f d †  ƒ t  d t ƒ \ }  |  d ƒ j t k sxt ‚ |  d ƒ j t k s“t ‚ d  S(   Ns   x,y,zi   i   i    i   i   R#   i   i   Rs   i   i   i
   i   i   c              s   ˆ  j  S(   N(   t   is_cyclotomic(    (   R   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"   ó  R!   R!   (   R   R
   t   is_generatorR=   R'   t	   is_groundR;   t   is_monomialt   is_termt   is_zerot   is_onet   is_monict   is_primitivet	   is_lineart   is_quadratict   is_squarefreet   is_irreducibleR   R	   R¬   R   R   (   R0   R   R    t   _R#   Rs   R4   (    (   R   s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement_is_¯  sh    !!!!!%)2c             só   t  d t ƒ \ }  ‰  } ‰ |  d ƒ j d ƒ j  t d t t ƒ k sK t ‚ |  d ƒ j d ƒ j d ƒ j  t d t t ƒ k s„ t ‚ t |  d ƒ j d ƒ j d ƒ j d ƒ |  j ƒ t k sÃ t ‚ t	 t
 ‡ f d †  ƒ t	 t
 ‡  f d †  ƒ d  S(   Ns   x,y,zi   i    s   y,zR    c              s   ˆ  j  d ƒ j  d ƒ j  d ƒ S(   Ni    (   R6   (    (   R    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"      R!   c              s   ˆ  j  d ƒ S(   Ni    (   R6   (    (   R   (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyR"     R!   (   R   R	   R6   R   R   R'   RV   RW   R=   R   R7   (   R0   R   (    (   R   R    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement_dropù  s    09?c          C   s¼   t  d t ƒ \ }  } } | d | d | | } } | | d } } | j | ƒ | | f k sg t ‚ | j | ƒ | k s‚ t ‚ | j | ƒ | k s t ‚ | j | ƒ | k s¸ t ‚ d  S(   Ns   x,yi   i    (   R   R	   t   pdivR'   t   premt   pquot   pexquo(   R¹   R   R   R4   RN   Rƒ   RG   (    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement_pdiv  s    !c          C   s™   t  d t ƒ \ }  } d | | d d } } | d t d d ƒ d } } } | j | ƒ | | f k sq t ‚ | j | ƒ | | | f k s• t ‚ d  S(   NR   i   i   i    i   (   R   R
   t
   half_gcdexR'   t   gcdex(   R¹   R   R4   RN   t   sR#   R•   (    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement_gcdex  s
    "!c          C   sq   t  d t ƒ \ }  } | d d | d | d d d | d } } } | j | ƒ | | | g k sm t ‚ d  S(   NR   i   i   (   R   R	   t   subresultantsR'   (   R¹   R   R4   RN   R•   (    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement_subresultants  s    4c          C   s`   t  d t ƒ \ }  } | d d | d | d d d } } } | j | ƒ | k s\ t ‚ d  S(   NR   i   i   i    (   R   R	   t	   resultantR'   (   R¹   R   R4   RN   R•   (    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement_resultant  s    ,c          C   sÓ   t  d t ƒ \ }  } | d d | d d | d d } } | j ƒ  | k sV t ‚ t  d t ƒ \ } } } } t  d | ƒ \ }  } | | d | | | | d d | | } } | j ƒ  | k sÏ t ‚ d  S(	   NR   i   i   i	   i   ipÒÿÿs   a,b,ci   (   R   R	   t   discriminantR'   (   R¹   R   R4   RN   R@   RH   t   bt   c(    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement_discriminant#  s    )1c          C   sÏ   t  d t ƒ \ }  } | d d | d d | d d | d d	 | d
 d | d d | d } | d
 d | d } | d d | } | j | | ƒ | k s­ t ‚ | j ƒ  | | g k sË t ‚ d  S(   NR   i   i   i
   i–   i   iô  i   iq  i   i   i   i	   i   (   R   R	   Rª   R'   t	   decompose(   R¹   R   R4   RN   R•   (    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement_decompose0  s    Rc          C   sT   t  d t ƒ \ }  } | d d | d j d ƒ | d d | d k sP t ‚ d  S(   NR   i   i   (   R   R	   t   shiftR'   (   R¹   R   (    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement_shift:  s    c       	   C   s‡  t  d t ƒ \ }  } t d |  ƒ \ } } d d | d | d d d | d | d	 d
 d | d	 | d d d | d	 | d |  d ƒ d | |  d ƒ d } | j ƒ  | d d | d | d	 d | d | d	 d d | d d | | d	 d | d	 d |  d ƒ d | d | d	 d d | d d | d d | d	 d | d d | d	 d g k sƒt ‚ d  S(    NR#   R   i   i	=  i   i   i   iq  i   i    i   i€   i   i   i$ô  id   i@   i   i   iÈ   i`   i N  i	   i   i÷ÿÿÿi   i È¯ I  NZ  i@  i  ¦I   „×  (   R   R	   R   t   sturmR'   (   R@   R#   R¹   R   R4   (    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement_sturm>  s    ‚	3.c          C   sö   t  d t ƒ \ }  } | d d | d | d d | d } | j ƒ  | d f | d d f g k sm t ‚ | | d d | d d | d d | d } | j ƒ  | d d | d d f | d d | d d f | d f g k sò t ‚ d  S(   NR   i   i   i   i   i   (   R   R	   t   gff_listR'   (   R¹   R   R4   (    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement_gff_listK  s
    *.2c          C   s  t  d t j t d ƒ ƒ ƒ \ }  } |  j ƒ  j } | d d j ƒ  d | d d t d ƒ | d | d d | d d f k sŠ t ‚ t  d t j t d ƒ ƒ ƒ \ }  } |  j ƒ  j } | d d j ƒ  d | d d t d ƒ | d | d d | d d f k st ‚ d  S(   NR   i   i   i   i   i
   (   R   R
   RD   R   t	   to_groundR   t   sqf_normR'   (   R0   R   RQ   (    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement_sqf_normT  s    $W$c          C   sÅ   t  d t ƒ \ }  } | d | d | d d } | d d | d d | d } | d } | d | d | d } | j ƒ  | k s‘ t ‚ | j ƒ  d | d f | d f g f k sÁ t ‚ d  S(   NR   i   i   i   i   i   (   R   R	   t   sqf_partR'   t   sqf_list(   R¹   R   R4   RN   R•   t   p(    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement_sqf_list_  s    "
c          C   s–   t  d t ƒ \ }  } | d | d | d d } | d } | d } | d | d } | j ƒ  d | d f | d f | d f g f k s’ t ‚ d  S(   NR   i   i   i   i   (   R   R	   t   factor_listR'   (   R¹   R   R4   Rs   Rw   t   w(    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   test_PolyElement_factor_listj  s    

N(f   t   __doc__t   operatorR    R   t   sympy.polys.ringsR   R   R   R   R   t   sympy.polys.fieldsR   R   t   sympy.polys.domainsR	   R
   R   R   R   t   sympy.polys.orderingsR   R   t   sympy.polys.polyerrorsR   R   R   R   R   t   sympy.utilities.pytestR   t
   sympy.coreR   R   t   sympy.core.compatibilityR   R   t   sympyR   R   R   R.   R1   R2   R5   R8   R9   R>   RA   RB   RI   RJ   RK   RL   RO   RT   RX   RZ   R\   R^   R`   Rb   Rd   Rf   Rh   Rj   Rl   Rn   Rp   Rr   Rz   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×   RÛ   RÞ   (    (    (    s;   lib/python2.7/site-packages/sympy/polys/tests/test_rings.pyt   <module>   s   (((	"							
	
			"			
			#	#						
								&	±		;	&		5	Q		!									J	
							
						