ó
Ąź\c           @   sŐ  d  Z  d d l m Z m Z m Z m Z m Z m Z m Z m	 Z	 m
 Z
 m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m  Z  m! Z! m" Z" m# Z# m$ Z$ m% Z% m& Z& m' Z' m( Z( m) Z) m* Z* m+ Z+ m, Z, m- Z- m. Z. m/ Z/ m0 Z0 m1 Z1 m2 Z2 m3 Z3 m4 Z4 m5 Z5 m6 Z6 m7 Z7 m8 Z8 m9 Z9 m: Z: m; Z; m< Z< d d l= m> Z> m? Z? m@ Z@ mA ZA mB ZB mC ZC mD ZD mE ZE mF ZF mG ZG mH ZH mI ZI mJ ZJ d d lK mL ZL d d lM mN ZN d d lO mP ZP mQ ZQ mR ZR mS ZS mT ZT d d lU mV ZV d d lW mX ZX mY ZY mZ ZZ d d	 l[ m\ Z\ m] Z] m^ Z^ m_ Z_ m` Z` ma Za mb Zb mc Zc md Zd me Ze mf Zf mg Zg mh Zh mi Zi mj Zj mk Zk ml Zl mm Zm mn Zn mo Zo mp Zp mq Zq mr Zr d d
 ls mt Zt d d lu mv Zv mw Zw d d lx my Zy d d lz m{ Z{ m| Z| d d l} m~ Z~ d d l m Z m Z m Z m Z m Z m Z m Z m Z 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   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d    Z d!   Z d"   Z d#   Z d$   Z d%   Z  d&   ZĄ d'   Z˘ d(   ZŁ d)   Z¤ d*   ZĽ d+   ZŚ d,   Z§ d-   Z¨ d.   ZŠ d/   ZŞ d0   ZŤ d1   ZŹ d2   Z­ d3   ZŽ d4   ZŻ d5   Z° d6   Zą d7   Z˛ d8   Zł d9   Z´ d:   Zľ d;   Zś d<   Zˇ d=   Z¸ d>   Zš d?   Zş d@   Zť dA   Zź dB   Z˝ dC   Zž dD   Zż dE   ZŔ dF   ZÁ dG   ZÂ dH   ZĂ dI   ZÄ dJ   ZĹ dK   ZĆ dL   ZÇ dM   ZČ dN   ZÉ dO   ZĘ dP   ZË dQ   ZĚ dR   ZÍ dS   ZÎ dT   ZĎ dU   ZĐ dV   ZŃ dW   ZŇ dX   ZÓ dY   ZÔ dZ   ZŐ d[   ZÖ d\   Z× d]   ZŘ d^   ZŮ d_   ZÚ d`   ZŰ da   ZÜ db   ZÝ dc   ZŢ dd   Zß de   Zŕ df   Zá dg   Zâ dh   Ză di   Zä dj   Zĺ dk   Zć dl   Zç dm   Zč dn   Zé do   Zę dp   Zë dq   Zě dr   Zí ds   Zî dt   Zď du   Zđ dv   Zń dw   Zň dx   Zó dy   Zô dz   Ző d{   Zö d|   Z÷ d}   Zř d~   Zů d   Zú d   Zű d   Zü d   Zý d   Zţ d   Z˙ d   Z d   Zd   Zd   Zd   Zd   Zd   Zd   Zd   Zd   Z	d   Z
d   Zd   Zd   Zd   Zd   Zd   Zd   Zd   Zd   Zd   Zew rqe| e Zn  e| d    Zd   Zd   Zd   Zd   Zd   Zd    ZdĄ   Zd˘   ZdŁ   Zd¤ S(Ľ   sB   Tests for user-friendly public interface to polynomial functions. i˙˙˙˙(;   t   Polyt   PurePolyt   polyt   parallel_poly_from_exprt   degreet   degree_listt   total_degreet   LCt   LMt   LTt   pdivt   premt   pquot   pexquot   divt   remt   quot   exquot
   half_gcdext   gcdext   invertt   subresultantst	   resultantt   discriminantt	   terms_gcdt	   cofactorst   gcdt   gcd_listt   lcmt   lcm_listt   trunct   monict   contentt	   primitivet   composet	   decomposet   sturmt   gff_listt   gfft   sqf_normt   sqf_partt   sqf_listt   sqft   factor_listt   factort	   intervalst   refine_roott   count_rootst
   real_rootst   nrootst   ground_rootst   nth_power_roots_polyt   cancelt   reducedt   groebnert   GroebnerBasist   is_zero_dimensionalt   _torational_factor_listt   to_rational_coeffs(   t   MultivariatePolynomialErrort   ExactQuotientFailedt   PolificationFailedt   ComputationFailedt   UnificationFailedt   RefinementFailedt   GeneratorsNeededt   GeneratorsErrort   PolynomialErrort   CoercionFailedt   DomainErrort   OptionErrort	   FlagError(   t   DMP(   t   field(   t   FFt   ZZt   QQt   RRt   EX(   t	   RealField(   t   lext   grlext   grevlex(   t   St   Integert   Rationalt   Floatt   Mult   Symbolt   sqrtt	   Piecewiset
   Derivativet   expt   sint   tanht   expandt   oot   It   pit   ret   imt   rootoft   Eqt   Tuplet   Exprt   diff(   t   _aresame(   t   iterablet   PY3(   t   _keep_coeff(   t   raisest   XFAIL(   t   simplify(   t   at   bt   ct   dt   pt   qt   tt   wt   xt   yt   z(   t   MatrixSymbolc         C   s>   x7 t  |  |  D]& \ } } t | |  d k r t Sq Wt S(   Ngť˝×Ůß|Ű=(   t   zipt   abst   Falset   True(   Rq   Rr   Ry   Rz   (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   _epsilon_eqC   s    c         C   s   t  |   t  |  k r t |   r` t |   t |  k rY t d   t |  |  D  St Sq t |  t  o |  j | d t	 Sn t Sd  S(   Nc         s   s$   |  ] \ } } t  | |  Vq d  S(   N(   t
   _strict_eq(   t   .0Rs   Rt   (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pys	   <genexpr>N   s    t   strict(
   t   typeRk   t   lent   allR}   R   t
   isinstanceR    t   eqR   (   Rq   Rr   (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   J   s    %c          C   sr  t  d  }  t j i d d 6d d 6d t d |  j t |  d  |  d  g |   k s_ t  t j i d d 6d d 6d t d |  j t |  d  |  d  g |   k s˛ t  t j i d d 6d d 6d t d |  j t |  d  |  d  g |   k st  t j i d d 6d d 6d t d |  j t |  d  |  d  g |   k sXt  t j i d d 6d d 6d t t f d |  j t |  d  |  d  g |  d  g g |   k sŔt  t j i d d 6d d 6d t j t t d  t d  g t  k st  t j i d d 6d d 6d t d t	 j t t
 d  t
 d  g t
  k s`t  t j i d d 6d d 6d t d t j t t d  t d  g t  k słt  t j i d d 6d d 6d t d t
 j t t
 d  t
 d  g t
  k st  t j i d d 6d d 6d t j t t d  t d  g t  k sSt  t j i d d 6d d 6d t d t	 j t t
 d  t
 d  g t
  k sŚt  t j i d d 6d d 6d t d t j t t d  t d  g t  k sůt  t j i d d 6d d 6d t d t
 j t t
 d  t
 d  g t
  k sLt  t j i t t  d 6d t d	 t t t t  t t d d
 k st  t j i t d 6d t d	 t t t t t d d
 k sÚt  t j i d d 6d t t f d	 t t t t t t d d k s$t  t j i t d 6d t t f d	 t t t t t t d d
 k snt  d  S(   Ni   i   i    i   t   genst   domaini   RI   t	   compositeRN   RK   (   i    (   i   (   i    (   i   (   i    i    (   i   i   (   i    (   i   (   i    (   i   (   i    (   i   (   i    (   i   (   i   (   i   (   i   i   (   i   i    (   RJ   R    t	   from_dictRy   t   repRH   t   AssertionErrorRz   RK   R   RL   R]   R   R{   (   t   K(    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_from_dictW   sD    MMMMNMMMMGMMM%("%%%c          C   s]  t  d  }  t j d d g d t d |  j t |  d  |  d  g |   k sW t  t j d d g d t d |  j t |  d  |  d  g |   k s˘ t  t j d d g d t j t t d  t d  g t  k sç t  t j d d g d t d t j t t	 d  t	 d  g t	  k s2t  t j d d g d t d t j t t d  t d  g t  k s}t  t j d d g d t d t	 j t t	 d  t	 d  g t	  k sČt  t j d d	 g d t j t t
 d	  g t
  k st  t j d	 d g d t j t t
 d	  t
 d
  g t
  k sIt  t t d    d  S(   Ni   i   i   R   R   i   RI   i    g      đ?g        c           S   s   t  j g  g d t t f S(   NR   (   R    t	   from_listRy   Rz   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   <lambda>   t    (   RJ   R    R   Ry   R   RH   R   RK   R   RL   RM   Rn   R;   (   R   (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_from_list   s    KKEKKK<Ec              s1  t  t d t d t  t  t d t d d  t  t t t t d t  t d    t  j    k su t  t  j  d   j t   d    d  g    k s´ t  t  j  d t j t d d g t  k sç t  t  j  d t	 j t d d g t	  k st  t  j  d t  k s;t  t  j  d t d   j t   d    d  g    k st  t  j  d t d t j t d d g t  k sšt  t  j  d t d t	 j t d d g t	  k sňt  t  j  d t t  t d t d d k s&t  t
 t    f d	    t
 t  f d
    t
 t  f d    t  j  d t t f t  t d t t d d k s¨t  t  j  d t t f d t t  t d t t d d k sët  t  j  d t t f d t	 t  t d t t d d k s.t  t  j  d t t f d d t  t d t t d d k sqt  t d    t  j    k st  t  j  d t j t d d g t  k sËt  t
 t  f d    t  j  d   j t   d    d  g    k s t  t  j  d t  k sAt  t  j  d t d t j t d d g t  k szt  t
 t  f d    t  j  d t d   j t   d    d  g    k sŐt  t d    t  j    k süt  t  j  d t j t t d  g t d  t d  g g t  k sJt  t  j  d t	 j t t	 d  g t	 d  t	 d  g g t	  k st  t  j  d   j t   d  g   d    d  g g    k sćt  t  j  d t t  t t t d t t k st  t
 t  f d    t  j  d t d t t t  t t t d t t k svt  t
 t  f d    t  j  d t d t	 t t  t t t d t	 t k sÎt  t
 t  f d    t  j  d t t  t t t d t t k st  t
 t  f d    t  j  d t d t t t  t t t d t t k stt  t
 t  f d    t  j  d t d t	 t t  t t t d t	 t k sĚt  t
 t  f d    t  j  d t t f  k s	t  t  j  d t t f d t j t t d  g t d  t d  g g t  k sct  t  j  d t t f d t	 j t t	 d  g t	 d  t	 d  g g t	  k s˝t  t  j  d t t f d   j t   d  g   d    d  g g    k s	t  t  j  d t t f j t t d  g t d  t d  g g t  k sk	t  t  j  d t t f d t j t t d  g t d  t d  g g t  k sĹ	t  t  j  d t t f d t	 j t t	 d  g t	 d  t	 d  g g t	  k s
t  t  j  d t t f d   j t   d  g   d    d  g g    k sy
t  t  j  d t t f d t j t t	 d  g t	 d  t	 d  g g t	  k sÓ
t  t  j  d t t f d t j t t	 d  g t	 d  t	 d  g g t	  k s-t  d  S(   Ni   R   i   t   modulusi   i   R   s   ZZ[x]c              s   t  j  d t d   S(   NR   R   (   R    t	   from_polyRz   (    (   R   t   f(    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   ¨   R   c              s   t  j   d t d t S(   NR   R   (   R    R   Rz   RK   (    (   R   (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   Š   R   c              s   t  j   d t d t S(   NR   R   (   R    R   Rz   RL   (    (   R   (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   Ş   R   RK   RL   s   FF(3)i˙˙˙˙c              s   t  j   d t S(   NR   (   R    R   RL   (    (   t   g(    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   ¸   R   i    c              s   t  j   d t d t S(   NR   R   (   R    R   Ry   RL   (    (   R   (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   ˝   R   c              s   t  j   d t d t S(   NR   R   (   R    R   Ry   RK   (    (   t   h(    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   Ę   R   c              s   t  j   d t d t S(   NR   R   (   R    R   Ry   RL   (    (   R   (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   Í   R   c              s   t  j   d t d d S(   NR   R   i   (   R    R   Ry   (    (   R   (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   Đ   R   c              s   t  j   d t d t S(   NR   R   (   R    R   Rz   RK   (    (   R   (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   Ó   R   c              s   t  j   d t d t S(   NR   R   (   R    R   Rz   RL   (    (   R   (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   Ö   R   c              s   t  j   d t d d S(   NR   R   i   (   R    R   Rz   (    (   R   (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   Ů   R   RI   (   R    Ry   RK   Rz   RJ   R   R   R   RH   RL   Rn   RD   R   (    (    (   R   R   R   R   s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_from_poly   s    ?33!E994====3?!9EHHN8<<8<<'TTTNTTTTc          C   s  t  t d    t  t d    t d  }  t j t d d |  j t |  d  |  d  g |   k so t  t j t	 d d |  j t |  d  |  d  g |   k s˛ t  t j t d t d |  j t |  d  |  d  g |   k sř t  t j t	 d t	 d |  j t |  d  |  d  g |   k s>t  t j t t	 d |  j t |  d  g |  d  |  d  g g |   k st  t j t t	 t t	 d |  j t |  d  g |  d  |  d  g g |   k sčt  t j t d  j t d d g t
  k st  t j t	 d  j t d d g t
  k sJt  t j t d t  j t d d g t
  k s~t  t j t	 d t	  j t d d g t
  k s˛t  t j t d d t
 j t d d g t
  k sét  t j t	 d d t
 j t d d g t
  k s t  t j t d t d t
 j t d d g t
  k sZt  t j t	 d t	 d t
 j t d d g t
  k st  t j t d t t	 d t
 j t d g d g g t
  k s×t  t j t	 d t t	 d t
 j t d d g g t
  k st  d  S(	   Nc           S   s   t  j t d   S(   Ni    (   R    t	   from_exprRS   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   ó   R   c           S   s   t  j t d   S(   Ni   (   R    R   RS   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   ô   R   i   i   R   i   i   i    (   Rn   RA   RJ   R    R   Ry   R   RH   R   Rz   RK   (   t   F3(    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_from_exprň   s&    CCFFRX114477::Cc          C   s9  t  t d    t  t d    t  t d    t  t d    t  t d    t  t d    t  t d    t  t d    t  t d	    t  t d
    t  t d    t  t d    t  t d    t  t d    t  t d    t  t d    t  t d    t  t d    t  t d    t  t d    t  t d    t t d t t t }  t	 i t d 6t d 6t d 6t  |  k st
  t	 t t t t g  t  |  k sÄt
  t	 t t t g t  |  k sčt
  t	 t t t f t  |  k st
  t	 i  t t t  }  |  j t t t f k rK|  j   d k sQt
  t	 t	 t t t t t t  t  t	 t t t t t  k st
  t	 d t d d t d d d j   d d d g k sÚt
  t	 d t d d t d d d j   d d d g k st
  t	 d t d d t d d d j   d d d  g k s\t
  t  t d!    t	 d t d d" d t d" d d d j   t d  d" t d  d" d g k sÉt
  t t	 d t d d" d t d" d d d j   d# d$ d  g  st
  t	 d t d d t d d d j   d d d g k sVt
  t	 d t d d t d d d j   d d d g k st
  t	 d t d d t d d d j   d d d  g k sŘt
  t  t d%    t	 d& t d d' t d d d j   t d(  d) t d*  d) d g k s=t
  t	 d& t d d' t d d d j   d& d' d  g k s~t
  t	 i d d2 6d d3 6d d4 6t t  t	 t d t d t t d d t t t t  k sát
  t	 t d d d+ t j   t j t  k st
  d t d" t d, t d t d d- }  t	 |  t d. d/ d0 t t	 d t d" t d, t d t d d t d. d/ d0 t k s t
  t	 |  t d. d/ d0 t t	 d t d" d1 t d, t d d1 t d d t d. d/ d0 t k st
  t t	 t d t d   j   t  s5t
  d  S(5   Nc           S   s   t  t d t t  S(   Ni   (   R    Ry   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR     R   c           S   s   t  t t t t d t t S(   NR   (   R    Ry   Rz   RK   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR     R   c           S   s   t  t t t t d t t S(   NR   (   R    Ry   Rz   RK   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR     R   c           S   s   t  t t d t S(   Nt	   symmetric(   R    Ry   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR     R   c           S   s   t  t d t d d d t S(   Ni   R   i   R   (   R    Ry   RL   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR     R   c           S   s   t  t d t d t d t S(   Ni   R   t   gaussian(   R    Ry   RK   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR     R   c           S   s   t  t d t d d d t S(   Ni   R   i   R    (   R    Ry   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR     R   c           S   s&   t  t d t d t d t d  g S(   Ni   R   t	   extensioni   (   R    Ry   RK   RY   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR     R   c           S   s&   t  t d t d d d t d  g S(   Ni   R   i   RĄ   (   R    Ry   RY   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR     R   c           S   s   t  t d t d t d t S(   Ni   R   RĄ   (   R    Ry   RK   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR      R   c           S   s   t  t d t d d d t S(   Ni   R   i   RĄ   (   R    Ry   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   !  R   c           S   s   t  t d t d t d t S(   Ni   R   t   greedy(   R    Ry   RK   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   #  R   c           S   s   t  t d t d t d t S(   Ni   R   RI   (   R    Ry   RL   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   $  R   c           S   s   t  t d t d t d t S(   Ni   R   R˘   (   R    Ry   RK   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   &  R   c           S   s   t  t d t d t d t S(   Ni   R   RI   (   R    Ry   RL   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   '  R   c           S   s   t  t d t d d d d S(   Ni   R   i   t   orderRQ   (   R    Ry   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   )  R   c           S   s   t  t d t d d S(   Ni   RŁ   RQ   (   R    Ry   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   *  R   c           S   s   t  i d d 6d d 6 S(   Ni   i   i    (   R    (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   ,  R   c           S   s   t  d d g  S(   Ni   i   (   R    (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   -  R   c           S   s
   t  d  S(   Ni   i   (   i   i   (   R    (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   .  R   c           S   s
   t  d  S(   Ni   (   R    (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   0  R   i   i   i    i   R   RK   RL   RM   g      @g       @g      đ?c           S   s,   t  d t d d d t d d d d S(   Ni   i   i   i   R   RK   (   R    Ry   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   C  R   i   g333333ă?gŮ?c           S   s$   t  d t d d t d d d S(   NgÍĚĚĚĚĚ@i   gÍĚĚĚĚĚ @i   R   RK   (   R    Ry   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   N  R   gÍĚĚĚĚĚ@gÍĚĚĚĚĚ @i   i
   i   RĄ   i   i  R   i  R   i   (   i   i   (   i   i   (   i   i   (   Rn   RB   RF   t   NotImplementedErrorRA   Rq   Ry   Rr   Rs   R    R   t   iterRz   R{   R   t   as_exprt
   all_coeffsRD   RS   R   Ra   t
   get_domainRL   t   algebraic_fieldR   R   R   RO   (   R   (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly__new__  sn    0*$$0HAAAZIAA>UA$?5*68c           C   s2   t  t d d  j t d d f k s. t  d  S(   Ni   i   (   R    Ry   t   argsR   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly__argsc  s    c           C   s¨  t  t t t t t  j t f k s- t  t  t t t t t  j t f k sZ t  t  t t t t t  j t f k s t  t  t t t t t t  j t t f k sş t  t  t t t t t t  j t t f k sí t  t  t t t t t t t  j t t t f k s&t  t  t t t t t t t  j t t t f k s_t  t  t t t t t t t  j t t t f k st  t  t t t t  j t t t f k sČt  t  t t t t d d j t t t f k sţt  t  t t t t d d j t t t f k s4t  t  t t t t d d j t t t f k sjt  t  t t t t t t t d d j t t t f k sŠt  t  t t t t d d j t t t f k sßt  t  t t t t d d j t t t f k st  t  t t t t d d j t t t f k sKt  t  t t t t d t j t t t f k st  t  t t t t d t j t t t f k sˇt  t  t t t t d t j t t t f k sít  t  t t t t t t t d d j t t t f k s,t  t  t t t t d d d d	 j t t t f k sht  t  t t t t d d d d
 j t t t f k s¤t  d  S(   Nt   sorts	   x > p > qs	   p > x > qs	   p > q > xt   wrtRy   Ru   Rv   s   q > xs   p > x(   R    Ry   Ru   Rv   R   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly__gensg  s,    ---339990666?666666?<c           C   s\   t  t  j t  d t d t k s* t  t  t d  j t  d t d t k sX t  d  S(   Ni    R   i   (   R    Ry   t   zeroRK   R   RL   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_zero  s    *c           C   s\   t  t  j t  d t d t k s* t  t  t d  j t  d t d t k sX t  d  S(   Ni   R   i   (   R    Ry   t   oneRK   R   RL   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_one  s    *c          C   sń  t  t d    t d  }  t d  } t t t d d j t t t d d  d t |  d  g g  g |   t |  d  |  d  g g |   f k sĄ t  t t t d d j t t t d d  d t | d  g g  g |  t | d  | d  g g |  f k st  t t t t  j t t t d d  d t |  d  |  d  g g |   t |  d  g g  g |   f k st  t t t d d j t t t t   d t |  d  g g  g |   t |  d  |  d  g g |   f k st  t t d t  j t t d t   d t d d g t	  t d d g t	  f k sct  t t d t d d	 j t t d t   d t d d g t
  t d d g t
  f k sĆt  t t d t  j t t d t d d	  d t d d g t
  t d d g t
  f k s)t  t t d t  j t t d t t   d t d g d g g t	  t d g d g g t	  f k st  t t d t d d	 j t t d t t   d t d g d g g t
  t d g d g g t
  f k st  t t d t  j t t d t t d d	  d t d g d g g t
  t d g d g g t
  f k syt  t t d t t  j t t d t   d t d g d g g t	  t d g d g g t	  f k sĺt  t t d t t d d	 j t t d t   d t d g d g g t
  t d g d g g t
  f k sWt  t t d t t  j t t d t d d	  d t d g d g g t
  t d g d g g t
  f k sÉt  t t d t t  j t t d t t   d t d g d g g t	  t d g d g g t	  f k s8t  t t d t t d d	 j t t d t t   d t d g d g g t
  t d g d g g t
  f k s­t  t t d t t  j t t d t t d d	  d t d g d g g t
  t d g d g g t
  f k s"t  t t d t  j t t d t t   d t d d g g t	  t d d g g t	  f k st  t t d t d d	 j t t d t t   d t d d g g t
  t d d g g t
  f k sôt  t t d t  j t t d t t d d	  d t d d g g t
  t d d g g t
  f k s`t  t t d t t  j t t d t   d t d d g g t	  t d d g g t	  f k sĆt  t t d t t d d	 j t t d t   d t d d g g t
  t d d g g t
  f k s2	t  t t d t t  j t t d t d d	  d t d d g g t
  t d d g g t
  f k s	t  t t d t t  j t t d t t   d t d g d g g t	  t d g d g g t	  f k s
t  t t d t t d d	 j t t d t t   d t d g d g g t
  t d g d g g t
  f k s
t  t t d t t  j t t d t t d d	  d t d g d g g t
  t d g d g g t
  f k s÷
t  t t d t t  j t t d t t   d t d d g g t	  t d d g g t	  f k s`t  t t d t t d d	 j t t d t t   d t d d g g t
  t d d g g t
  f k sĎt  t t d t t  j t t d t t d d	  d t d d g g t
  t d d g g t
  f k s>t  t d
 t	  \ } } } t t t t d d j t t t t t d d  d t | | d  g | j    t | | | d  g | j    f k sßt  t t t t d d j t t t t t d d  d t | | d  g | j    t | | | d  g | j    f k sht  t  t d    t t d t d t t d d } t t d t d t t d d } | j |  d | j | j f k sít  d  S(   Nc           S   s   t  t  j t  S(   N(   R    Ry   t   _unifyRz   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR     R   i   i   R   i   i   i    R   RL   s   a,bs   ZZ[a]s   ZZ(a,b)s   ZZ(a)c           S   s/   t  t  t d t d t t d t d d S(   Ni   RI   R   s   ZZ(x)(   R    Ry   R{   Rz   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   É  R   s   QQ(x)s   QQ[x](   Rn   R?   RJ   R    Ry   R´   Rz   RH   R   RK   RL   RI   Rq   Rr   t	   to_domainRD   Rw   R   (   R   t   F5t   Ft   At   BR   R   (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly__unify  sT    .K.Kvv]cclrrlrrouufllfllouuioo:O:O%%c           C   s  t  t d d  j t h k s& t  t  t d t t  j t t t h k sV t  t  t d t t t  j t t t h k s t  t  t d t t t   j t t t h k sż t  t  t d t t t  t  j t t t h k sř t  t  t d t t t  t d t j t t t h k s7t  t  d t t d t t t  j t h k sjt  t  t t t  t  j t t h k st  d  S(   Ni   i   R   (   R    Ry   t   free_symbolsR   Rz   R{   R]   RN   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_free_symbolsŃ  s    &0369?3c           C   s/  t  t d d  j t g   k s) t  t  t d t t  j t g   k sV t  t  t d t t t  j t t h k s t  t  t d t t t   j t g   k sš t  t  t d t t t  t  j t t h k sď t  t  t d t t t  t d t j t t h k s+t  d  S(   Ni   i   R   (	   R   Ry   Rť   t   setR   Rz   R{   R]   RN   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_PurePoly_free_symbolsÜ  s    )-036c          C   s%  t  t t  t  t t  k t k s* t  t  t t d t t  t t  k t k sZ t  t  t t  t  t t d t k t k s t  t  t t d t t t  t t  k t k sž t  t  t t  t  t t d t t k t k sň t  t  t t t t  t  t t  k t k s#t  t  t t t  t  t t  k t k sPt  t  t t  t  t t t  k t k s}t  t  t d d t  t  t d d t  k t k sˇt  t  t d d t  t  t d d t  k t k sńt  t  t t d t }  t  t t d t } |  j	 |  t k s6t  |  j
 |  t k sQt  |  j	 | d t t k srt  |  j
 | d t t k st  t d  } t  | d t d t d t d t t d d }  t  | d t d t d t d t t d d } |  | k t k s!t  d  S(   NR   i   i   R   t   t0s   QQ[x,t0]s   ZZ(x,t0)(   R    Ry   R   R   RL   RK   Rq   Rz   R   R   t   neRX   Rw   (   R   R   Rż   (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly__eq__ĺ  s(    *00441--::!!55c          C   s9  t  t t  t  t t  k t k s* t  t  t t d t t  t t  k t k sZ t  t  t t  t  t t d t k t k s t  t  t t d t t t  t t  k t k sž t  t  t t  t  t t d t t k t k sň t  t  t t t t  t  t t  k t k s#t  t  t t t  t  t t  k t k sPt  t  t t  t  t t t  k t k s}t  t  t d d t  t  t d d t  k t k sˇt  t  t d d t  t  t d d t  k t k sńt  t  t t d t }  t  t t d t } |  j	 |  t k s6t  |  j
 |  t k sQt  |  j	 | d t t k srt  |  j
 | d t t k st  t  t t d t }  t  t t d t } |  j	 |  t k sŘt  |  j
 |  t k sót  |  j	 | d t t k st  |  j
 | d t t k s5t  d  S(   NR   i   i   R   (   R   Ry   R   R   RL   RK   Rq   Rz   R   R   RŔ   (   R   R   (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_PurePoly__eq__  s,    *00441--::!!!c           C   sb   t  t t t d d   t  t k s/ t  t  t t t d d   t  t k s^ t  d  S(   Ni   i   (   R   R   R    Ry   R   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_PurePoly_Poly(  s    /c           C   ső   t  d t  j   t k s" t  t  d t d d j   t k sJ t  t  d t d d j   t k sr t  t  t d  j   t k s t  t t d    t  t d d d j   t k sĚ t  t t  d t  j   t	  sń t  d  S(   Ni   R   RK   RL   c           S   s   t  t d d d S(   Ni   R   RK   (   R    Ry   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   5  R   gÉ?(
   R    Ry   R¨   RK   R   RL   Rn   RD   R   RO   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_get_domain-  s    "(("(c           C   s˛  t  d t d  j t  t  d t d  k s7 t  t  d t d  j d  t  d t d  k sn t  t  d t d  j t  t  d t d d d k sŤ t  t  d t d  j d  t  d t d d d k sč t  t  t d  d t t d  d  j d  t  d t d	  k s3t  t  d t d	  j d  t  t d  d t t d  d  k s~t  t t d
    t t d    t t	 d    d  S(   Ni   i   RK   R   RL   i
   RM   gÉ?gš?c           S   s   t  t d d  j t  S(   Ni   i   (   R    Ry   t
   set_domainRK   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   E  R   c           S   s   t  t d d d j t  S(   Ni   R   i   (   R    Ry   RĹ   RL   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   F  R   c           S   s!   t  t t t t  j t t  S(   N(   R    Ry   Rz   RĹ   RK   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   H  R   (
   R    Ry   RĹ   RK   R   RL   RS   Rn   RD   RB   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_set_domain;  s    77==KKc           C   s@   t  t d d d d j   d k s, t  t t d    d  S(   Ni   i   R   c           S   s   t  t d d  j   S(   Ni   i   (   R    Ry   t   get_modulus(    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   M  R   (   R    Ry   RÇ   R   Rn   RC   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_get_modulusK  s    ,c           C   s×   t  t d d d d j d  t  t d d d d k sC t  t  t d d d d j d  t  t d d d d k s t  t  t d d  j d  t  t d d d d k sĂ t  t t d    d  S(   Ni   i   R   i   i   c           S   s   t  t d d  j d  S(   Ni   i   (   R    Ry   t   set_modulus(    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   X  R   (   R    Ry   RÉ   R   Rn   RD   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_set_modulusP  s    @@=c           C   s3   t  t d  j d  t  t d  k s/ t  d  S(   Ni   i   i   (   R    Ry   t
   add_groundR   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_add_ground[  s    c           C   s3   t  t d  j d  t  t d  k s/ t  d  S(   Ni   i   (   R    Ry   t
   sub_groundR   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_sub_ground_  s    c           C   s7   t  t d  j d  t  d t d  k s3 t  d  S(   Ni   i   (   R    Ry   t
   mul_groundR   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_mul_groundc  s    c           C   sj   t  d t d  j d  t  t d  k s3 t  t  d t d  j d  t  t d  k sf t  d  S(   Ni   i   i   i   (   R    Ry   t
   quo_groundR   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_quo_groundg  s    3c           C   sG   t  d t d  j d  t  t d  k s3 t  t t d    d  S(   Ni   i   c           S   s   t  d t d  j d  S(   Ni   i   (   R    Ry   t   exquo_ground(    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   n  R   (   R    Ry   RÓ   R   Rn   R<   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_exquo_groundl  s    3c           C   s[   t  t d t  j   t t  t d t   k oL t  t d t  k n sW t  d  S(   Ni   (   R    Ry   R~   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_absq  s    c           C   sV   t  t d t  j   t  t d t  k oG t  t d t  k n sR t  d  S(   Ni   (   R    Ry   t   negR   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_negu  s    c           C   s  t  d t  j t  d t   t  d t  k s6 t  t  d t  t  d t  t  d t  k sg t  t  d t  j t  d t   t  d t  k s t  t  d t t  t  d t  t  d t t  k sÔ t  t  d t  j t  d t t   t  d t t  k st  t  d t t  t  d t t  t  d t t  k sJt  t  d t  t t  t d t  k svt  t  d t  t t  d t t  k sĽt  t  t t  d t  t d t  k sŃt  d t  t t  t  t d t  k sýt  d  S(   Ni    i   (   R    Ry   t   addR   Rz   R]   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_addy  s    6167<:,/,c           C   s  t  d t  j t  d t   t  d t  k s6 t  t  d t  t  d t  t  d t  k sg t  t  d t  j t  d t   t  d t  k s t  t  d t t  t  d t  t  d t t  k sÔ t  t  d t  j t  d t t   t  d t t  k st  t  d t t  t  d t t  t  d t t  k sJt  t  d t  t t  d t t  k svt  t  d t  t t  d t t  k sĽt  t  t t  d t  t d t  k sŃt  d t  t t  t  d t t  k sýt  d  S(   Ni    i   i˙˙˙˙(   R    Ry   t   subR   Rz   R]   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_sub  s    6167<:,/,c           C   sů  t  d t  j t  d t   t  d t  k s6 t  t  d t  t  d t  t  d t  k sg t  t  d t  j t  d t   t  d t  k s t  t  d t t  t  d t  t  d t t  k sÔ t  t  d t  j t  d t t   t  d t t  k st  t  d t t  t  d t t  t  d t t  k sJt  t  d t  t t  t t  k srt  t  d t  t t  t t  k st  t  t t  d t  d t t  k sÉt  d t  t t  t  d t t  k sőt  d  S(   Ni    i   i   i   i   (   R    Ry   t   mulR   Rz   R]   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_mul  s    6167<:(+,c           C   sű   t  t  t t  t d t d d k s/ t  t t  t  t  t d t d d k s^ t  d t  t  t  d t t d d k s t  t d  t  t  t  d t t d d k sÂ t  t  t  t d  t  d t t d d k s÷ t  d  S(   Ni   R   RK   iţ˙˙˙(   R    Ry   R   RS   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_issue_13079¨  s
    ///5c           C   sD   t  t t t t  j   t  t d t d t t  k s@ t  d  S(   Ni   (   R    Ry   Rz   t   sqrR   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_sqrŻ  s    c           C   s˘  t  t t  j d  t  t d t  k s1 t  t  t t  j t d   t  t d t  k sh t  t  d t t t  j d  t  d t d t t  k s§ t  t  d t t t  j t d   t  d t d t t  k sě t  t  d t t t t  d t  d t d t d t t  k s2t  t  t t d t t  d	 t t d d	 k sht  t  t t d t t  t t t d t k st  d  S(
   Ni
   i   i   i   i   i   iW  i   i˙˙˙˙(   R    Ry   t   powR   RT   Rz   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_powł  s    17?EF6c          C   sŻ  t  t d  t  t  }  } | t  d t  } } t |  |  | | f k sT t  |  | | k sj t  |  | | k s t  t |  t  | | f k sĄ t  |  t | k sˇ t  |  t | k sÍ t  t  d t  t  d t  } } t d |  | | f k st  d | | k s#t  d | | k s9t  t  t  t  t  d k s[t  t  t d  t  t  t k st  t  t  t  t d  d t k sŤt  d  S(   Ni   i    i   (   R    Ry   t   divmodR   (   R   R   Rv   t   r(    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_divmodŔ  s    !!!"&c           C   s  t  t t t t  t  t t t t  k t k s8 t  t  t t t  t  t t t t  k t k sm t  t  t t t t  t  t t t  k t k s˘ t  t  t t t  t  t t t  k t k sÔ t  t  t t t  t  t t t  k t k st  t  t t t t  t t k t k s2t  t  t t t  t t k t k s[t  t  t t t t  t t k t k st  t  t t t  t t k t k s°t  t  t t t  t t k t k sŮt  t  t t t t  t  t t t t  k t k st  t  t t t  t  t t t t  k t k sFt  t  t t t t  t  t t t  k t k s{t  t  t t t  t  t t t  k t k s­t  t  t t t  t  t t t  k t k sßt  t  t t t t  t t k t k st  t  t t t  t t k t k s4t  t  t t t t  t t k t k s`t  t  t t t  t t k t k st  t  t t t  t t k t k s˛t  t  t t  t t  k t k sŮt  t  t t  t t  k t k s t  d  S(   N(   R    Ry   Rz   R   R   R   R]   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_eq_ne×  s,    85522,),))85522,),))'c           C   sF   t  t d t   t k	 s! t  t  t d t   t k	 sB t  d  S(   Ni    i   (   t   boolR    Ry   R   R   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_nonzeroô  s    !c           C   sĘ  t  d t  j t k s t  t  d t  j t k s< t  t  d t  j t k sZ t  t  d t  j t k sx t  t  t d t  j t k s t  t  t d d t  j t k sŔ t  t  t d t  j t k sâ t  t  d t d t  j t k st  t  d t d t  j	 t k s.t  t  d t d t  j	 t k sTt  t  d t  j
 t k srt  t  t t  j
 t k st  t  t t t d  j t k sˇt  t  t t t d  j t k sŢt  t  t t t d  j t k st  t  t t t d  j t k s,t  t  t t  j t k sKt  t  t t d  j t k snt  t  t d t t  j t k st  t  t d t t  j t k sźt  t  t  j t k s×t  t  t t  j t k söt  t  t t  j t k st  t  t  j t k s0t  t  t d t d t d t d	 t d
 t d d  j t k s{t  t  t d t d t d t d	 t d
 t d d  j t k sĆt  d  S(   Ni    i   i   i   i   i   i   i
   i   i   (   R    Ry   t   is_zeroR   R   R   t   is_onet   is_sqft   is_monict   is_primitivet	   is_groundRz   R{   t	   is_lineart   is_quadratict   is_monomialt   is_homogeneoust   is_univariatet   is_multivariatet   is_cyclotomic(    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_propertiesů  s8    "&"&&&''''#''Hc           C   s´   t  t d t d  j t k s' t  t  t d d t d  j t k sR t  t  d t d d d j t k s{ t  t  d t d d t d d d j t k s° t  d  S(   Ni   i   i   i   R   i   (   R    Ry   t   is_irreducibleR   R   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_is_irreducible$  s    '+)c           C   sî   t  t d  j t d  d k s( t  t  t d  j t t  t  t d  k sZ t  t  t d  j t t  t  t d  k s t  t  t t t  j t t  t d k sť t  t  t t t  j t t  t d k sę t  d  S(   Ni   i    i   (   R    Ry   t   subsR   Rz   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_subs,  s
    (22/c           C   s|  t  t d  j t  t  t d  k s/ t  t  t d  j t  t  t d  k s^ t  t t d    t  t d  j t t  t  t d  k s  t  t  t d  j t t  t  t d  k sŇ t  t  t t  j t t  t  t t  k st  t  t t  j t t  t  t t t t  k s<t  t  t t  j t t  t  t t  k snt  t  t t  j t t  t  t t t t  k sŚt  t  t t  j t t  t  t t  k sŘt  t t d    t  t t t  j t t  t  t t t  k s t  t  t t t  j t t  t  t t t  k sXt  t t d    t t d    d  S(   Ni   c           S   s   t  t t  j t  S(   N(   R    Ry   Rz   t   replaceR{   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   :  R   c           S   s   t  t t  j t t  S(   N(   R    Ry   Rz   Rű   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   F  R   c           S   s   t  t t t  j t t  S(   N(   R    Ry   Rz   Rű   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   K  R   c           S   s   t  t t t  j t t  S(   N(   R    Ry   Rz   Rű   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   L  R   (	   R    Ry   Rű   R   Rz   Rn   RC   R{   Rw   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_replace6  s    //222828288c           C   s  t  t d    t t t t t  j t t  t t t t t  k sN t  t t t t t  j t t  t t t t t  k s t  t t t t t  j t t  t t t t t  k sĘ t  t t t t t  j t t  t t t t t  k st  t t t t t  j d t  t t t t t  k sFt  t t t t t  j d t  t t t t t  k st  d  S(   Nc           S   s   t  t t  j t t  S(   N(   R    Ry   Rz   t   reorderR{   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   P  R   RŽ   (   Rn   RC   R    Ry   Rz   Rý   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_reorderO  s    >>>>>c          C   sŐ   t  t d t t d t t t  j t  }  |  j   t d t t d k re |  j t t f k sk t  t  t t t t t t  j d  t  t t t t t  k są t  t t	 d    t t	 d    d  S(   Ni   i   c           S   s)   t  t t d t d t t  j t  S(   Ni   (   R    Ry   Rz   t   ltrim(    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   a  R   c           S   s!   t  t t t t t  j d  S(   Ni˙˙˙˙(   R    Ry   Rz   R˙   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   b  R   (
   R    Rz   R{   Ry   R˙   RŚ   R   R   Rn   RC   (   R   (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_ltrim\  s
    .=Fc           C   s~   t  t t d t t t  j t t  t k s5 t  t  t t t t t t  j t t  t k sj t  t t	 d    d  S(   Ni   c           S   s)   t  t t d t d t t  j t  S(   Ni   (   R    Ry   Rz   t   has_only_gensRw   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   h  R   (
   R    Ry   Rz   R{   R  R   R   R   Rn   RB   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_has_only_gensd  s    55c           C   s¤   t  d t d d d j   t  d t d d d k s@ t  t  d t d d d j   t  d t d d d k s t  t t d    t t d    d  S(   Ni   i   R   RK   RL   c           S   s   t  t d d  j   S(   Ni   i   (   R    Ry   t   to_ring(    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   o  R   c           S   s   t  d t d d d j   S(   Ni   i   R   i   (   R    Ry   R  (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   p  R   (   R    Ry   R  R   Rn   RD   RE   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_to_ringk  s    @@c           C   s8  t  d t d d d j   t  d t d d d k s@ t  t  d t d d d j   t  d t d d d k s t  t  t d d d d j   t  t d d d d k sŔ t  t  d t d d d j   t  d t d d d k s t  t  d t d	  j   t  d t d	  k s4t  d  S(
   Ni   i   R   RK   RL   R   i   g       @g      đ?(   R    Ry   t   to_fieldR   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_to_fields  s
    @@@@c           C   s   t  d t  j   t  d t  k s, t  t  t d  j   t  t d  k sX t  t  d t  j   t  t d  k s t  d  S(   Ni   gš?i
   (   R    Ry   t   to_exactR   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_to_exact}  s    ,,c          C   sš   t  t d d t d t t }  |  j   t  t d d t d d k sP t  |  j d t  t  t d d t d d k s t  t  d t t  j   t  d t t  k sľ t  d  S(   Ni   i   R   RK   RI   RL   i    (   R    Ry   RL   Rz   t   retractR   R   (   R   (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_retract  s    !/5c          C   s1  t  t d d t d d t d  }  |  j d d  t  d t  k sO t  |  j d d  t  d t  k sv t  |  j d d  t  d t d t  k sĽ t  |  j d d  t  d t d d t d t  k sŕ t  |  j d d  t  t d d t d d t d t  k s#t  |  j t d d  t  d t  k sMt  |  j t d d  t  d t  k swt  |  j t d d  t  d t d t  k sŠt  |  j t d d  t  d t d d t d t  k sçt  |  j t d d  t  t d d t d d t d t  k s-t  d  S(   Ni   i   i   i    i   (   R    Ry   t   sliceR   (   R   (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_slice  s    (''/;C**2>c           C   s}  t  d t  j   d g k s$ t  t  d t  j   d g k sH t  t  d t d t  j   d d g k sw t  t  d t d d t d t  j   d d d g k sľ t  t  d t d d t d t  j   d d d g k só t  t  t t d d t d t d  j d  d d g k s6t  t  t t d d t d t d  j d  d d g k syt  d  S(	   Ni    i   i   i   i   i   RP   RQ   (   R    Ry   t   coeffsR   Rz   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_coeffs  s    $$/>>Cc           C   s}  t  d t  j   d	 g k s$ t  t  d t  j   d
 g k sH t  t  d t d t  j   d d g k sw t  t  d t d d t d t  j   d d d g k sľ t  t  d t d d t d t  j   d d d g k só t  t  t t d d t d t d  j d  d d g k s6t  t  t t d d t d t d  j d  d d g k syt  d  S(   Ni    i   i   i   i   i   RP   RQ   (   i    (   i    (   i   (   i    (   i   (   i   (   i    (   i   (   i   (   i    (   i   i   (   i   i   (   i   i   (   i   i   (   R    Ry   t   monomsR   Rz   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_monomsŞ  s    $$/>>Cc           C   s}  t  d t  j   d
 g k s$ t  t  d t  j   d g k sH t  t  d t d t  j   d d g k sw t  t  d t d d t d t  j   d d d g k sľ t  t  d t d d t d t  j   d d d g k só t  t  t t d d t d t d  j d  d d  g k s6t  t  t t d d t d t d  j d  d" d$ g k syt  d  S(%   Ni    i   i   i   i   i   RP   RQ   (   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    Ry   t   termsR   Rz   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_termsˇ  s    $$/>>@c           C   sý   t  d t  j   d g k s$ t  t  d t  j   d g k sH t  t  d t d t  j   d d g k sw t  t  d t d d t d t  j   d d d g k sľ t  t  d t d d t d t  j   d d d d d g k sů t  d  S(   Ni    i   i   i   i   (   R    Ry   R§   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_all_coeffsĆ  s
    $$/>c           C   sý   t  d t  j   d g k s$ t  t  d t  j   d g k sH t  t  d t d t  j   d	 d
 g k sw t  t  d t d d t d t  j   d d d g k sľ t  t  d t d d t d t  j   d d d d d g k sů t  d  S(   Ni    i   i   i   i   i   (   i    (   i    (   i   (   i    (   i   (   i   (   i    (   i   (   i   (   i   (   i   (   i    (   R    Ry   t
   all_monomsR   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_all_monomsĐ  s
    $$/>c           C   sý   t  d t  j   d g k s$ t  t  d t  j   d
 g k sH t  t  d t d t  j   d d g k sw t  t  d t d d t d t  j   d d d g k sľ t  t  d t d d t d t  j   d d d d d g k sů t  d  S(   Ni    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    Ry   t	   all_termsR   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_all_termsÚ  s    $$/&&c          C   s   t  t d d t d  }  t  t d d t d  } d   } |  j |  | k s\ t  d   } |  j |  | k s t  d  S(   Ni   i   i  i   c         S   s   |  \ } | d d | S(   Ni
   i   (    (   t   monomt   coefft   k(    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   funcę  s    	c         S   s"   |  \ } | f | d d | f S(   Ni
   i   (    (   R  R  R  (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR  đ  s    	(   R    Ry   t   termwiseR   (   R   R   R  (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_termwiseć  s    		c           C   sâ   t  d t  j   d k s! t  t  d t  j   d k sB t  t  t t  j   d k sc t  t  t d t  j   d k s t  t  t d d t  j   d k są t  t  t d t d t  j   d k sŢ t  d  S(   Ni    i   i   i   (   R    Ry   t   lengthR   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_length÷  s    !!!%)c           C   su  t  d t  j   i  k s! t  t  d t t t  j   i  k sH t  t  d t  j   i d d 6k sp t  t  d t t t  j   i d d 6k s t  t  t d d t  j   i d d	 6d d
 6k sŐ t  t  t d d t t t  j   i d d 6d d 6k st  t  d t d t t d d t t d t t  j   i d d 6d d 6d d 6k sqt  d  S(   Ni    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    Ry   t   as_dictR   Rz   R{   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_as_dict  s    !'(.7=Ec              s  t  d t  j   d k s! t  t  d t t t  j   d k sH t  t  d t  j   d k si t  t  d t t t  j   d k s t  t  t d d t  j   t d d k sÁ t  t  t d d t t t  j   t d d k sř t  t  d t d t t d d t t d t t  j   d t d t t d d t t d t t k snt  t  t d d t t d t t t      j   t t d d t t d k sÉt    j i d t 6 d t d t d k sűt    j i d	 t 6 d
 d t t d k s-t    j i d t 6d	 t 6 d k sVt    j d d	  d k stt  t t   f d    d  S(   Ni    i   i   i   i   i   i   i
   i   iú˙˙˙iH   i{  c              s     j  i d t 6 S(   Ni   (   RŚ   R{   (    (   R   (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   &  R   (   R    Ry   RŚ   R   Rz   R{   Rn   RB   (    (    (   R   s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_as_expr  s    !'!'17s*122)c           C   s   t  t d t t d t t d t j   t  t d d t d d t d t d d t d d	 t d
 d k s~ t  d  S(   Ni   i   R    i   i   i
   iB  i   iAF R   RL   (   R    Ry   Ra   R   t   liftR   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_lift)  s    ,:c           C   sZ  t  d t  j   d t  d t  f k s0 t  t  d t  j   d t  d t  f k s` t  t  t t  j   d	 t  t t  f k s t  t  t d t  j   d
 t  t t  f k sÄ t  t  t d t  j   d t  t t  f k sř t  t  t d t t d t d t d  j   d t  t t t t d t  f k sVt  d  S(   Ni    i   i   i   i   i   (   i   (   i   (   i   (   i   (   i   (   i   i   i   (   R    Ry   t   deflateR   Rz   R{   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_deflate/  s    00044c          C   sÁ   t  t d t t t d t t d t  }  |  j   t  t d t t t d t t d t t  k ss t  |  j d t  t  t d t t t d t t d t t  k s˝ t  d  S(   Ni   i   i   t   front(   R    Ry   Rz   t   injectR   R   (   R   (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_inject;  s    /Dc       	   C   sE  t  t d t t t d t t d t t  }  |  j t  t  t t d t d t t d t d d k sx t  |  j t  t  t t d t d t t d t d d k sž t  t t t t t } t  | t t t t t  } | j t  t  | t t t t d d k s"t  | j t t  t  | t t t d d k sUt  | j t t t  t  | t t d d k st  | j t  t  | t t t t d d	 k sťt  | j t t  t  | t t t d d
 k sît  | j t t t  t  | t t d d k s!t  t t	 d    t t
 d    d  S(   Ni   i   i   R   s   ZZ[x]s   ZZ[y]s   ZZ[x, y]s   ZZ[x, y, z]s   ZZ[w]s   ZZ[w, t]s   ZZ[w, t, z]c           S   s'   t  t t t t d t t j t  S(   NR   (   R    Ry   Rz   RK   R{   t   eject(    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   R  R   c           S   s    t  t t t t t  j t  S(   N(   R    Ry   Rz   R{   R*  (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   S  R   (   R    Ry   Rz   R*  R   R{   Rw   Rx   Rn   RE   R¤   (   R   t   exR   (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_ejectB  s    2FF333333c           C   s   t  t t t  j   t  t t  k s- t  t  t t t t  j   t  t t t t  k se t  t  d t t  j   t  d t t  k s t  d  S(   Ni   (   R    Ry   Rz   t   excludeR   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_excludeV  s    -8c           C   s|  t  d t t  j d  d k s' t  t  d t t  j d  d k sN t  t  d t t  j d  d k su t  t  d t t  j d  d k s t  t t d    t t d    t  d t t  j t  d k să t  t  d t t  j t  d k s
t  t  d t t  j d  d k s1t  t  d t t  j d  d k sXt  t t d	    t t d
    d  S(   Ni   iţ˙˙˙i    i˙˙˙˙c           S   s   t  d t t  j d  S(   Ni   iý˙˙˙(   R    Ry   Rz   t   _gen_to_level(    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   b  R   c           S   s   t  d t t  j d  S(   Ni   i   (   R    Ry   Rz   R/  (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   c  R   Ry   Rz   c           S   s   t  d t t  j t  S(   Ni   (   R    Ry   Rz   R/  R{   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   k  R   c           S   s   t  d t t  j d  S(   Ni   R{   (   R    Ry   Rz   R/  (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   l  R   (   R    Ry   Rz   R/  R   Rn   RC   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly__gen_to_level\  s    ''''''''c           C   s  t  d t  j   t k s" t  t  d t  j   d k sC t  t  t t  j   d k sd t  t  d t  j d d  t k s t  t  d t  j d d  d k sł t  t  t t  j d d  d k sÚ t  t  d t  j d t  t k st  t  d t  j d t  d k s)t  t  t t  j d t  d k sPt  t  d t  j d d  t k sxt  t  d t  j d d  d k st  t  t t  j d d  d k sĆt  t t d    t t d    t t d    t  d t t  j   d k st  t  d t t t  j   d k sBt  t  t t t t  j   d k sjt  t  d t t  j d t  d k st  t  d t t t  j d t  d k sÂt  t  t t t t  j d t  d k sđt  t  d t t  j d t  d k st  t  d t t t  j d t  d k sHt  t  t t t t  j d t  d k svt  t d t  t k st  t d t  d k s­t  t t t  d k sČt  t t t d t  d k sët  t t t d t  d k st  t t t d t  d k s1t  t t	  d k sIt  t t
 d	    t t
 d
    t t d    t t d    t t  d t  t  t k sŽt  t t  d t  t  d k sŇt  t t  t d t d t   d k s˙t  t t  t d t d t t  d  d k s2t  t t  t d t d t  t  d k sbt  t t  t d t d t d t  t  d k st  d  S(   Ni    i   t   genRy   c           S   s   t  d t  j d d  S(   Ni   R1  (   R    Ry   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR     R   c           S   s   t  d t  j d t  S(   Ni   R1  (   R    Ry   R   Rz   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR     R   c           S   s   t  d t  j d d  S(   Ni   R1  Rz   (   R    Ry   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR     R   i   c           S   s   t  t d t d  S(   Ni   i   (   R   Rz   Ry   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR     R   c           S   s   t  t d t d d  S(   Ni   i   i   (   R   Rz   Ry   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR     R   c           S   s   t  t d  S(   Ngń?(   R   Ry   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR     R   c           S   s   t  t d t d d t  S(   Ni   i   i   (   R   Ry   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR     R   i   i   (   R    Ry   R   R`   R   Rn   RC   Rz   R{   Rb   t	   TypeError(    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_degreeo  sR    "!!(''(''(''$((*..*..###%$-30c           C   s  t  d t  j   t f k s% t  t  d t t  j   t t f k sQ t  t  d t t t  j   t t t f k s t  t  d t  j   d k sĽ t  t  d t t  j   d k sÉ t  t  d t t t  j   d k sđ t  t  t d t t d t d d  j   d	 k s*t  t d t  d
 k sEt  t t t  d k s`t  t t t d  d k st  t t d    d  S(   Ni    i   i   i   c           S   s
   t  d  S(   Ni   (   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   ś  R   (   i    (   i    i    (   i    i    i    (   i   i   i   (   i    (   i   (   i   i   (	   R    Ry   R   R`   R   Rz   R{   Rn   R>   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_degree_listŚ  s    %,3!$': c           C   s  t  t d t t d t d d  j   d k s: t  t  t d t d  j   d k sd t  t  t t t t d  j   d k s t  t  t d t d  j   d k sź t  t t t t d  d k sŕ t  t t t t d t t  d k s
t  t d  d k s"t  t t  t d t d t d   d k sTt  t t  t d t d t d t   d k st  t t  t d t d t d t  t  d k sÁt  t t  t d t t t t d t d t d t  t  d k st  d  S(	   Ni   i   i   i   i   i    i	   i   (   R    Ry   Rz   R{   R   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_total_degreeš  s    :*.*$*258c           C   s˛   t  t d t  j t  t  t d t t  k s; t  t  t t  j t  t  t t t t t  k ss t  t  t t d  j t  t  t t t d  k sŽ t  d  S(   Ni   (   R    Ry   Rz   t
   homogenizeR{   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_homogenizeÇ  s    ;8c           C   sy  t  d t t  j   t k s% t  t  d t t  j   d k sI t  t  t t t  j   d k sm t  t  t t t t  j   d k s t  t  t d t t  j   d  k s˝ t  t  t t t t t  j   d  k sé t  t  t d d t d t d d t t d  j   d k s/t  t  t d d t d t d d t t d  j   d  k sut  d  S(   Ni    i   i   i   i   i	   i   (   R    Ry   Rz   t   homogeneous_orderR`   R   t   None(    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_homogeneous_orderÍ  s    %$$((,Fc           C   sa  t  d t  j   d k s! t  t  d t  j   d k sB t  t  d t d t t  j   d k so t  t  t t d d t d t d  j d  d k sŹ t  t  t t d d t d t d  j d  d k sé t  t t t d d t d t d d d d k s#t  t t t d d t d t d d d d k s]t  d  S(	   Ni    i   i   i   i   RP   RQ   RŁ   (   R    Ry   R   R   Rz   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_LCÚ  s    !!-==:c           C   ss   t  d t  j   d k s! t  t  d t  j   d k sB t  t  d t d t t  j   d k so t  d  S(   Ni    i   i   (   R    Ry   t   TCR   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_TCć  s    !!c           C   sí   t  d t  j   d k s! t  t  d t  j   d k sB t  t  d t d t t  j   d k so t  t  t t d d t d t d  j d  d k sŹ t  t  t t d d t d t d  j d  d k sé t  d  S(   Ni    i   i   i   i   RP   RQ   (   R    Ry   t   ECR   Rz   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_ECě  s
    !!-=c              sş  t  d t  j d  d k s$ t  t  d t  j t  d k sH t  t  d t  j d  d k sl t  t  d t  j t  d k s t  t  t d t  j d  d k s¸ t  t  t d t  j t d  d k sä t  t  t d t  j t d  d k st  t  t d t  j t d  d k s<t  t  d t t d d t t  j d  d k sst  t  d t t d d t t  j t t d  d k s˛t  t  d t t t d  d	 t t t      j t  d	 k sůt    j t  d k st    j t t  d t d  k s=t    j   j t  d t t d  d	 k spt  t t	   f d
    t t
 d    t t
 d    t t
 d    d  S(   Ni    i   i   i   i	   i   i   i   i   c              s     j  t  S(   N(   R  Ry   (    (   Ru   (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR     R   c           S   s   t  t d  j d  S(   Ni   i    (   R    Ry   t   coeff_monomial(    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR     R   c           S   s   t  t d  j d t  S(   Ni   i   (   R    Ry   R@  (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR     R   c           S   s   t  t d  j d t t  S(   Ni   i   (   R    Ry   R@  Rz   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR     R   (   R    Ry   R@  R   Rz   R\   RŚ   R  Rn   R¤   t
   ValueError(    (    (   Ru   s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_coeffő  s&    $$$$(,,,7?,)3c           C   s¸  t  d t  j d  d k s$ t  t  d t  j d  d k sH t  t  d t  j d  d k sl t  t  d t  j d  d k s t  t  t d t  j d  d k s¸ t  t  t d t  j d  d k sŕ t  t  t d t  j d  d k st  t  t d t  j d  d k s0t  t  d t t d d t t  j d d  d k sjt  t  d t t d d t t  j d d  d k s¤t  t t d    d  S(	   Ni    i   i   i   i	   i   i   c           S   s!   t  t t d t t  j d  S(   Ni   (   R    Ry   Rz   t   nth(    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   !  R   (   R    Ry   RC  R   Rz   Rn   RA  (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_nth  s    $$$$((((::c           C   su  t  d t  j   d	 k s! t  t  d t  j   d
 k sB t  t  d t d t t  j   d k so t  t  t t d d t d t d  j d  d k sŹ t  t  t t d d t d t d  j d  d k sé t  t t t d d t d t d d d t d t d k s/t  t t t d d t d t d d d t t d k sqt  d  S(   Ni    i   i   i   i   RP   RQ   RŁ   (   i    (   i    (   i   (   i   i   (   i   i   (   R    Ry   R   R   Rz   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_LM$  s    !!-==Fc          C   s   t  t d t d t t d t t d t t t d  }  d   } |  j d d  d k sg t  |  j d |  d k s t  d  S(	   Ni   i   i   c         S   s   t  t |    S(   N(   t   tuplet   reversed(   R  (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   2  R   RŁ   RP   (   i   i   i   (   i   i   i   (   R    Ry   Rz   R{   R   R   (   R   t   rev_lex(    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_LM_custom_order0  s    @	c           C   sí   t  d t  j   d k s! t  t  d t  j   d	 k sB t  t  d t d t t  j   d
 k so t  t  t t d d t d t d  j d  d k sŹ t  t  t t d d t d t d  j d  d k sé t  d  S(   Ni    i   i   i   i   RP   RQ   (   i    (   i    (   i   (   i   i   (   i   i   (   R    Ry   t   EMR   Rz   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_EM8  s
    !!-=c           C   sy  t  d t  j   d
 k s! t  t  d t  j   d k sB t  t  d t d t t  j   d k so t  t  t t d d t d t d  j d  d k sŹ t  t  t t d d t d t d  j d  d k sé t  t t t d d t d t d d d d t d t d k s3t  t t t d d t d t d d d t t d k sut  d  S(   Ni    i   i   i   i   RP   RQ   RŁ   (   i    (   (   i    i    (   i    (   (   i    i   (   i   (   (   i   i   (   i   i   (   (   i   i   i   (   i   i   (   (   i   i   i   (   R    Ry   R	   R   Rz   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_LTA  s    !!-==Jc           C   sí   t  d t  j   d	 k s! t  t  d t  j   d k sB t  t  d t d t t  j   d k so t  t  t t d d t d t d  j d  d k sŹ t  t  t t d d t d t d  j d  d k sé t  d  S(   Ni    i   i   i   i   RP   RQ   (   i    (   (   i    i    (   i    (   (   i    i   (   i   (   (   i   i   (   i   i   (   (   i   i   i   (   i   i   (   (   i   i   i   (   R    Ry   t   ETR   Rz   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_ETM  s
    !!-=c           C   sg   t  d t  j   d k s! t  t  d t  j   d k sB t  t  d t  j   d k sc t  d  S(   Ni˙˙˙˙i   i    (   R    Ry   t   max_normR   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_max_normV  s    !!c           C   sg   t  d t  j   d k s! t  t  d t  j   d k sB t  t  d t  j   d k sc t  d  S(   Ni˙˙˙˙i   i    (   R    Ry   t   l1_normR   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_l1_norm\  s    !!c          C   sŚ  t  t d t  j   \ }  } |  d k r\ | t  t d t d d k r\ | j   t k sb t  t  t d d t  j   \ }  } |  d k rÂ | t  t d t d d k rÂ | j   t k sČ t  t  t d d t  j d t  \ }  } |  d k r.| t  t d t d d k r.| j   t k s4t  t  t t d t  j d t  \ }  } |  t k r| t  t t t d d k r| j   t t k s¤t  t  t d t	 d  t d d	 j   \ }  } |  d k r| t  t d t	 d  t d d	 k r| j   t
 k s t  t  t d t	 d  t d d	 j d t  \ }  } |  d k r| t  t d t	 d  t d d	 k r| j   t
 k s˘t  d  S(
   Ni   i   R   RK   RL   t   converts   ZZ[y]i   RN   (   R    Ry   t   clear_denomsR¨   RK   R   RL   R   Rz   RY   RN   (   R  R   (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_clear_denomsb  s&    1#1)1)5/;2c          C   sŔ   t  t d t d t  }  t  t d t t  } |  j |  t  t d t t  t  t t d t d t  f k s} t  |  j t  }  | j t  } |  j |  |  | f k sź t  d  S(   Ni   i   i   (   R    Ry   Rz   t   rat_clear_denomsR   RĹ   RN   (   R   R   (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_rat_clear_denoms}  s    ?c           C   sě  t  t d  j   t  t d d t  k s4 t  t  t d  j t  t  t d d t  k sk t  t  t d  j t d f  t  t d d t  k s¨ t  t  t t d  j t  t  t d t d t  k sç t  t  t t d  j t  t  t t d d t  k s&t  t  t t d  j t t  t  t d t d t d d  k spt  t  t t d  j t t  t  t t d d t d d  k sşt  t  t t d  j t d f  t  t d t d t d d  k st  t  t t d  j t d f  t  t t d d t d d  k sTt  t  t t d  j t t  t  t d t d d t t  k st  t  t t d  j t t  t  t d t d d t t  k sčt  d  S(   Ni   i   i   i   i   (   R    Ry   t	   integrateR   Rz   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_integrate  s    47=??JJMMJc           C   s  t  t d t  j   t  d t d  k s4 t  t  t d t  j t  t  d t d  k sk t  t  t d t  j t d f  t  d t d  k s¨ t  t  t d t d t t  j t  t  d t t d t  k só t  t  t d t d t t  j t  t  d t d t t  k s>t  t  t d t d t t  j t t  t  d t d t t  k st  t  t d t d t t  j t t  t  d t d t t  k sÖt  t  t d t d t t  j t d f  t  d t d t t  k s%t  t  t d t d t t  j t d f  t  d t d t t  k stt  t  t d t d t t  j t t  t  d t t d  k sžt  t  t d t d t t  j t t  t  d t t d  k st  d  S(   Ni   i   i   (   R    Ry   Ri   R   Rz   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_diff  s    47=KKLLOOJc           C   sť   t  t t d t   t d t d  k s4 t  t  t t d t  t d t t t t d t  t  k sz t  t t t d t  t  j   t d t d  k sˇ t  d  S(   Ni   i   t   evaluate(   Ri   R    Ry   R   R   R[   t   doit(    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_issue_9585Ž  s    4 &c          C   së  t  d t  j d  d k s$ t  t  d t  j d  d k sH t  t  t t  j d  d k sl t  t  d t  j d d  d k s t  t  d t  j d d  d k sş t  t  t t  j d d  d k sá t  t  d t  j t d  d k st  t  d t  j t d  d k s/t  t  t t  j t d  d k sVt  t  d t  j d d  d k s}t  t  d t  j d d  d k s¤t  t  t t  j d d  d k sËt  t t d    t t d    t t d    t  d t t  j d  t  d t  k s+t  t  d	 t t t  j d  t  d	 t t  k sct  t  t t t t  j d  t  d t t  k st  t  d t t  j t d  t  d t  k sÎt  t  d	 t t t  j t d  t  d	 t t  k s	t  t  t t t t  j t d  t  d t t  k sDt  t  d t t  j t d  t  d t  k swt  t  d	 t t t  j t d  t  d
 t  k sŽt  t  t t t t  j t d  t  d t t  k sét  t  t t t t t  j i d t 6 t  d t t  k s,t  t  t t t t t  j i d t 6 t  d t d t  k sst  t  t t t t t  j i d t 6d t 6 d k s°t  t  t t t t t  j i d t 6d t 6 d k sít  t  t t t t t  j d  d k st  t  t t t t t  j d d g  d k sQt  t  t d d d j t d  d	  t d  d	 k st  t  t d d d j t d	   t d	  d k sËt  t t	 d    t t
 d    t d  }  d	 |  t d	 |  t d	 d t d	 d	 t d } t  t d	 |  d t |  d t d d } | j t d t d  | k st  t  t d	 |  d t |  d t t d d } | j t d t d  t  | t d d k sçt  d  S(   Ni    i   i   Ry   c           S   s   t  d t  j d d  S(   Ni   i   (   R    Ry   t   eval(    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   Ć  R   c           S   s   t  d t  j t d  S(   Ni   i   (   R    Ry   R^  Rz   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   Ç  R   c           S   s   t  d t  j d d  S(   Ni   Rz   i   (   R    Ry   R^  (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   Č  R   i{   i   i   i   i   i1   i0   R   RK   i   c           S   s!   t  t t t t t  j d  S(   Ni   i   i   (   i   i   i   (   R    Ry   Rz   R^  (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   â  R   c           S   s-   t  t d d d j t d  d d t S(   Ni   R   RK   i   t   auto(   R    Ry   R^  RS   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   ă  R   t   alphas	   ZZ[alpha]s   ZZ(alpha,z)(   i   i   (   R    Ry   R^  R   Rn   RC   Rz   RS   RY   RA  RE   RX   R{   (   R`  t   resultR   R   (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_evalľ  sP    $$$'''''''''0883;;37;CG==/5?;6-'0c          C   sĄ   t  d t t d t t d t  }  |  d  t  d t d t d  k sV t  |  d d  t  d t d  k s t  |  d d d  d k s t  d  S(   Ni   i   i   i   i   i   i-   (   R    Ry   Rz   R{   R   (   R   (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly___call__ď  s    (.)c           C   sx  t  t d t d d g t  d t t d t  t t d d t  g k sU t  t  t t d t  t d d g t  d t t d t  t t d d t  g k sł t  t  t d t t d d t  g t  d t t d t  t t d d t  g k st  t  t t d t  t t d d t  g t  d t t d t  t t d d t  g k sxt  t  t d t d d g t t  d t t d t t  t t d d t t  g k sÖt  t  t t d t  t d d g t t  d t t d t t  t t d d t t  g k s=t  t  t d t t d d t  g t t  d t t d t t  t t d d t t  g k s¤t  t  t t d t  t t d d t  g t t  d t t d t t  t t d d t t  g k st  t  t d t d d g  d t t d t  t t d d t  g k sft  t  t t d t  t d d g  d t t d t  t t d d t  g k sÁt  t  t d t t d d t  g  d t t d t  t t d d t  g k st  t  t t d t  t t d d t  g  d t t d t  t t d d t  g k st  t  d t d d g  d t d t  t t d d t  g k sĘt  t  d t d d g  d t d t  t t d d t  g k st  t  d t t d d t  g  d t d t  t t d d t  g k sgt  t  d t t d d t  g  d t d t  t t d d t  g k sşt  t  t d d d g  d t t d d t  t d t  g k st  t  t d d d g  d t t d d t  t d t  g k sNt  t  t t d d t  d g  d t t d d t  t d t  g k sĄt  t  t t d d t  d g  d t t d d t  t d t  g k sôt  t  t t t t  t t t t  g t t d d d t t t t d d t t t t d d g k sdt  t t d    d  S(	   Ni   i   i    RŁ   RP   R   RK   c           S   s   t  d d g  S(   Ni    i   (   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   (  R   (   R   Ry   R    R   Rz   Rn   R=   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_parallel_poly_from_expr÷  sV    R[[a[aZZOXXaGGPPGGPP79c    	      C   s9  t  d t d t  t }  } t  t d } } g  |  | | | f D] } t | t  t  ^ qA \ } } } } | j |  | | f k s t  | j |  | k s§ t  | j |  | k sÂ t  | j |  | k sÝ t  t |  |  | | f k sţ t  t |  |  | k st  t |  |  | k s4t  t |  |  | k sOt  t |  | t  t  | | f k svt  t |  | t  t  | k st  t |  | t  t  | k s¸t  t |  | t  t  | k sŮt  t |  | t  t f  | | f k st  t |  | t  t f  | k s't  t |  | t  t f  | k sKt  t |  | t  t f  | k sot  t | |  | | f k st  t | |  | k sŤt  t | |  | k sĆt  t | |  | k sát  t |  | d t | | f k st  t |  | d t | k s)t  t |  | d t | k sJt  t |  | d t | k skt  t | | d t	 | | f k st  t | | d t	 | k słt  t | | d t	 | k sÔt  t | | d t	 | k sőt  t
 t d    t
 t d    t
 t d    t
 t d    d  S(   Ni   i    t   polysc           S   s   t  d d  S(   Ni   i   (   R
   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   T  R   c           S   s   t  d d  S(   Ni   i   (   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   U  R   c           S   s   t  d d  S(   Ni   i   (   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   V  R   c           S   s   t  d d  S(   Ni   i   (   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   W  R   (   Ry   Rz   R    R
   R   R   R   R   R   R   Rn   R>   (	   R   R   Rv   Rä   R   Rˇ   t   Gt   Qt   R(    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt	   test_pdiv+  sF    =!!'!!!*$$$!'!!!'!!!c             sĘ
  t  d t d t  t    t  t d }  } g     |  | f D] } t | t  t  ^ qA \ } } } } | j |  | | f k s t  | j |  | k s§ t  | j |  | k sÂ t  | j |  | k sÝ t  t     |  | f k sţ t  t     | k st  t     |  k s4t  t     |  k sOt  t    t  t  |  | f k svt  t    t  t  | k st  t    t  t  |  k s¸t  t    t  t  |  k sŮt  t    t  t f  |  | f k st  t    t  t f  | k s't  t    t  t f  |  k sKt  t    t  t f  |  k sot  t | |  | | f k st  t | |  | k sŤt  t | |  | k sĆt  t | |  | k sát  t    d t | | f k st  t    d t | k s)t  t    d t | k sJt  t    d t | k skt  t | | d t	 |  | f k st  t | | d t	 | k słt  t | | d t	 |  k sÔt  t | | d t	 |  k sőt  t
 t d    t
 t d    t
 t d    t
 t d    t  d d d t  d	    d t  d d } } t  d d d
 }	 }
 t     |	 |
 f k st  t    d t |	 |
 f k sÄt  t    d t	 | | f k sët  t    d t | | f k st  t    d t |	 |
 f k s9t  t    d t d t |	 |
 f k sft  t    d t d t	 | | f k st  t    d t d t |	 |
 f k sŔt  t    d t d t	 |	 |
 f k sít  t     |
 k st  t    d t |
 k s)t  t    d t	 | k sJt  t    d t | k skt  t    d t |
 k st  t    d t d t |
 k słt  t    d t d t	 | k sÚt  t    d t d t |
 k st  t    d t d t	 |
 k s(t  t     |	 k sCt  t    d t |	 k sdt  t    d t	 | k st  t    d t | k sŚt  t    d t |	 k sÇt  t    d t d t |	 k sît  t    d t d t	 | k st  t    d t d t |	 k s<t  t    d t d t	 |	 k sct  t  d d t  t  d    }  t     |  k st  t    d t |  k sżt  t
 t    f d    t
 t    f d    t    d t |  k s	t  t    d t d t |  k s9	t  t
 t    f d    t    d t d t |  k sy	t  t    d t d t	 |  k s 	t  t t  d  t t        j   \ }  } |  j   j rđ	| j   j sö	t    j   } | j   j s
t    j   }  |  j   j s>
t    j   }  |  j   j sb
t  t t  t t   t d t  t t        j   \ }  } |  j   j rŔ
| j   j sĆ
t  d  S(   Ni   i    Re  c           S   s   t  d d  S(   Ni   i   (   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR     R   c           S   s   t  d d  S(   Ni   i   (   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR     R   c           S   s   t  d d  S(   Ni   i   (   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR     R   c           S   s   t  d d  S(   Ni   i   (   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR     R   i   i   i   R_  R   c              s   t     d t S(   NR_  (   R   R   (    (   R   R   (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   Ż  R   c              s   t     d t S(   NR   (   R   RK   (    (   R   R   (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   °  R   c              s   t     d t d t S(   NR   R_  (   R   RK   R   (    (   R   R   (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   ł  R   (   Ry   Rz   R    R   R   R   R   R   R   R   Rn   R>   RK   RL   R<   R¨   t   is_ZZt   is_Frac(   Rv   Rä   R   Rˇ   Rf  Rg  Rh  t   qzt   rzt   qqt   rq(    (   R   R   s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_divZ  sŽ    =!!'!!!*$$$!'!!!'!!!!''''----!!!!''''!!!!'''' !!'''$+c          C   sĺ  d t  t  d d }  } t  d t d d  d } } } g  |  | | | | f D] } t | t  d d ^ qQ \ } } } }	 }
 | j |  | |
 f k s˘ t  | j |  | |	 |
 f k sĆ t  | j |  | k sá t  t |  |  | | f k st  t |  |  | | | f k s&t  t |  |  | k sAt  t |  | t   | | f k set  t |  | t   | | | f k st  t |  | t   | k sŞt  t |  | t  f  | | f k sŃt  t |  | t  f  | | | f k sűt  t |  | t  f  | k st  t | |  | |
 f k s=t  t | |  | |	 |
 f k sat  t | |  | k s|t  t |  | d t | |
 f k sŁt  t |  | d t | |	 |
 f k sÍt  t |  | d t | k sît  t | | d t | | f k st  t | | d t | | | f k s?t  t | | d t | k s`t  t d d	  d k s{t  t d d	  d k st  t d d  d k sąt  t	 t
 d    t	 t
 d    t	 t
 d    d  S(   Ni   i   i    i   R   RL   Re  id   iÔ  iě˙˙˙i   i   i   i   c           S   s   t  t d d t d d t S(   Ni   i   R_  (   R   Ry   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   í  R   c           S   s   t  t d d t d d t S(   Ni   i   R_  (   R   Ry   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   î  R   c           S   s   t  t d d t d d t S(   Ni   i   R_  (   R   Ry   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   ď  R   (   iě˙˙˙i   (   iě˙˙˙i   i   (   Ry   RU   R    R   R   R   R   R   R   Rn   RE   (   R   R   t   sRw   R   t   uRˇ   Rf  RS   t   Tt   H(    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt
   test_gcdexÇ  s<    "F!$!$$''*!!$'*!'*!c          C   s   t  d t d d t d d t d d  }  t  d t d d d t d d t d d d  } |  j d	  | k s t  d  S(
   Ni   i   i   i   i   iĐ  i=   i   i   (   R    Ry   t   revertR   (   R   R   (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_revertň  s    08c          C   s  t  d d t  d t  d d d t  d }  } } t |   t |  t |  } } } | j |  | | | g k s~ t  t |  |  |  | | g k s˘ t  t |  | t   |  | | g k sÉ t  t |  | t  f  |  | | g k só t  t | |  | | | g k st  t |  | d t | | | g k sAt  t | | d t |  | | g k skt  t t d    d  S(   Ni   i   Re  c           S   s   t  d d  S(   Ni   i   (   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR     R   (   Ry   R    R   R   R   R   Rn   R>   (   R   R   R   Rˇ   Rf  Rt  (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_subresultantsů  s    4&$$'*$**c          C   s{  t  d d t  d t  d d d }  } } t |   t |  } } | j |  | k s` t  t |  |  | k s{ t  t |  | t   | k s t  t |  | t  f  | k sş t  t | |  | k sŐ t  t |  | d t | k sö t  t | | d t | k st  t |  | d t | |  | d t  d g f k sOt  t  t t  t t t }  } } t |   t |  t |  } } } | j |  | k s°t  t |  |  | k sËt  t |  | t   | k sét  t |  | t  f  | k s
t  t | |  | k s%t  t |  | d t | k sFt  t | | d t | k sgt  t t	 d    d  S(   Ni   i   i    Re  t
   includePRSc           S   s   t  d d  S(   Ni   i   (   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR      R   (
   Ry   R    R   R   R   R   Rq   Rr   Rn   R>   (   R   R   R   Rˇ   Rf  Rt  (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_resultant  s(    ,!!!8 &!!!c          C   s  t  d d t  d d t  d d }  } t |   } | j   | k sM t  t |   | k se t  t |  t   | k s t  t |  t  f  | k s t  t |  | k sś t  t |  d t | k sÔ t  t | d t | k sň t  t t  d t t  t t d d t t }  } t |   t |  } } | j   | k sTt  t |   | k slt  t |  t  t t t  | k st  t |  t  t t t f  | k sˇt  t |  | k sĎt  t |  d t | k sít  t | d t | k st  t	 t
 d    d  S(	   Ni   i   i	   i   ipŇ˙˙Re  i   c           S   s
   t  d  S(   Ni   (   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   :  R   (   Ry   R    R   R   R   R   Rq   Rr   Rs   Rn   R>   (   R   R   Rˇ   Rf  (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_discriminant#  s&    )1$'c          C   sŇ   t  t d t d t  }  t |  j    d d g k s? t  |  j   d k sW t  t  t d d t d d t  }  |  j d  } t |  j |   d d d g k sł t  |  j |  d k sÎ t  d  S(   Ni   i   i    i   i   iý˙˙˙(   R   Ry   t   sortedt   dispersionsetR   t
   dispersiont   shift(   t   fpt   gp(    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_dispersion=  s    $#*c          C   sk  t  d d t  d d t  d d t  d g }  t |   t  d k sK t  t |  d t t t  d  k ss t  t g   d k s t  t d d g  d k sŠ t  t d d d g  d k sĘ t  t t  t d	 t  t t  d	 g  d k sý t  t g  t   } | j r$| t j k s*t  t g  t  d t } | j	 rQ| j
 sWt  t t d
    d  S(   Ni   i   i   Re  i    i   i   i   i*   c           S   s   t  g  d t S(   NRe  (   R   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   \  R   (   Ry   R   R   R   R    Rz   t	   is_NumberRS   t   Zerot   is_PolyRé   Rn   R>   (   Rˇ   R   (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_gcd_listJ  s    /(!3c          C   sł  t  d d t  d d t  d d t  d g }  t |   t  d t  d d t  d t  d t  d k so t  t |  d t t t  d t  d d t  d t  d t  d  k sť t  t g   d k sÓ t  t d d g  d k sń t  t d d d g  d	 k st  t t  t d
 t  t t  d
 g  d k sEt  t g  t   } | j rl| t j k srt  t g  t  d t } | j	 r| j
 st  t t d    d  S(   Ni   i   i   i   i   Re  i   i   i   i*   i    c           S   s   t  g  d t S(   NRe  (   R   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   q  R   (   Ry   R   R   R   R    Rz   R  RS   t   OneR  Rę   Rn   R>   (   Rˇ   R   (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_lcm_list_  s    /@L!3c          C   sň  t  d d t  d d }  } t  d t  d t  d } } t  d t  d t  d t  d } } g  |  | | | | | f D] } t |  ^ qx \ } } }	 }
 } } | j |  | |	 |
 f k sĆ t  | j |  | k sá t  | j |  | k sü t  t |  |  | | | f k s t  t |  |  | k s;t  t |  |  | k sVt  t |  | t   | | | f k s}t  t |  | t   | k st  t |  | t   | k sšt  t |  | t  f  | | | f k săt  t |  | t  f  | k st  t |  | t  f  | k s%t  t | |  | |	 |
 f k sIt  t | |  | k sdt  t | |  | k st  t |  | d t | |	 |
 f k sŠt  t |  | d t | k sĘt  t |  | d t | k sët  t | | d t | | | f k st  t | | d t | k s6t  t | | d t | k sWt  d t  d d d t  d }  } | d t  d d } } } t |  |  | | | f k s¸t  t |  |  | k sÓt  t |  |  |  k sît  d t  d d d t  d }  } | d t  d d } } } t |  |  | | | f k sOt  t |  |  | k sjt  t |  |  |  k st  t d d  d k s t  t d d  d k sťt  t d d  d	 k sÖt  t  d d t  d t  d d t  d t  d }  } t  d d t  d d t  d d t  d } t  d t  d t  d d } } } t |  | d
 d | | | f k st  t |  | d
 d | k s¨t  t |  | d
 d | k sÉt  t  d d t  d t  d d t  d t  d }  } t  d d t  d d t  d d t  d } t  d t  d t  d d } } } t |  | d
 d d t | | | f k st  t |  | d
 d d t | k s§t  t |  | d
 d d t | k sÎt  t t	 d    t t	 d    d  S(   Ni   i   i   i   Re  g      đ?i   i   i   R   i   i   R   c           S   s
   t  t  S(   N(   R   Ry   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   š  R   c           S   s
   t  t  S(   N(   R   Ry   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   ş  R   (   i   i   i   (
   Ry   R    R   R   R   R   R   R   Rn   R2  (   R   R   Rq  Rw   R   Rä   Rr  Rˇ   Rf  RS   Rs  Rt  Rh  t   l(    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_gcdt  sh    %C$$'*!!$*!!*!!!$!$5.$*!!5.$0''c           C   sĚ  t  t d d  t  s t  t  t d t d  t  s@ t  t d d  d k s[ t  t d t d  d k sz t  t  t t d  d t d  d  t  sŹ t  t  t t d  d t t d  d  t  sâ t  t t d  d t d  d  t d  d k st  t t d  d t t d  d  d k sNt  t  t d d  t  slt  t  t d t d  t  st  t d d  d k sŠt  t d t d  d k sČt  d  S(	   Ni   i	   i   i   i   g      @g      "@g      đ?(   R   R   RT   R   Ry   RS   RU   RV   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_gcd_numbers_vs_polys˝  s    "2693"c          C   s  t  d  d k s t  t  d t  d k s3 t  t  t d  t d k sS t  t  t d  t d k su t  t  d t d  d t d k s t  t  d t d  t d d t d d t k sÔ t  t  t d t t t d  t t t d t d k st  t  d t d t d t t d  d t t t d t d k s`t  t  t d t d t t d d  t t d t d t d k sŹt  t  t d t d t t d  t t t d d t d k sôt  t  d t d t d t t d  d t t t d d t d k sDt  t  d t d t d d t t d d  d t t d d t d d t d k s¤t  t  d	 t d t d
 t t d  t t d	 t d d
 t d k sôt  t t  d	 t d  d	 t d  st  t  d d t t t t d t d t d t t t k set  t  d d t t t t d d t  d t d t d t t d t t d t d d t  d k sŘt  t  t t t t  d t t t t d  k st  t	 d t d t d t
 t  }  t  |   |  k sMt  t  |  d t t	 d t d t t
 d  k st  d  S(   Ni   i   i   i   i   R[  i   i   g       @gffffff@R_   t   deep(   R   R   Ry   RW   R   Rz   Rj   R]   R   Rf   R{   (   R   (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_terms_gcdŃ  s.     "(7@LLHP`P+##7<#c          C   sŢ  t  d d t  d d t  d d t  d d t  d t  d t  d t  d t  }  } t |   t |  } } | j d  | k s t  t |  d  | k s¨ t  t |  d t   | k sĆ t  t |  d t  f  | k sç t  t | d  | k st  t |  d d t | k s#t  t | d d t | k sDt  d t  d d t  d d t  d d t  d d t  d t  d t  d t  d }  } t |   t |  } } | j d  | k sŇt  t |  d  | k sít  t |  d t   | k st  t |  d t  f  | k s,t  t | d  | k sGt  t |  d d t | k sht  t | d d t | k st  t t  d d t  d d d }  |  j d  t t  d d d d k sÚt  d  S(	   Ni   i   i   i   i   Re  i   R   (   Ry   R    R   R   R   R   (   R   R   Rˇ   Rf  (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt
   test_truncň  s(    Y!!!Z!!!"c          C   să  d t  d t  t d  d }  } t |  d d t |  } } | j   | k sZ t  t |   | k sr t  t |  t   | k s t  t |  t  f  | k sŤ t  t |  | k sĂ t  t |  d t | k sá t  t | d t | k s˙ t  t t d    t d t  d d t  d d	 t t  d d
 t  d k sQt  t t	 d    t d t  d d t  d  d t  d d t  d k sĄt  t d t  d d
 t  d d d t  d t  d k sßt  d  S(   Ni   i   R   RL   Re  c           S   s
   t  d  S(   Ni   (   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR     R   i   i   R_  i   c           S   s    t  d t d t d d t S(   Ni   i   i   R_  (   R   Ry   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR     R   g       @g      @g      @g      đ?g      @R   i   (
   Ry   RS   R    R   R   R   R   Rn   R>   R<   (   R   R   Rˇ   Rf  (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt
   test_monic  s    #B@c          C   s   d t  d t d t  d  }  } | j   d k s; t  t |   d k sS t  t t d    t d t  d d }  |  j   d k s t  d  S(   Ni   i   c           S   s
   t  d  S(   Ni   (   R    (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   )  R   R   i   i   (   Ry   R    R    R   Rn   R>   (   R   Rˇ   (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_content#  s    #c          C   s˝  d t  d d t  d }  } t |   t |  } } | j   d | f k sT t  t |   d | f k sr t  t |  t   d | f k s t  t |  t  f  d | f k sˇ t  t |  d | f k sŐ t  t |  d t d | f k sů t  t | d t d | f k st  t t d    t d t  d d }  t d t  d	 t } |  j   d |  f k swt  | j   d
 | f k st  t t	 d   t	 d  k sšt  d  S(   Ni   i   i   Re  c           S   s
   t  d  S(   Ni   (   R!   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   <  R   R   i   g       @R   g      đ?s   -3*x/4 + y + 11/8s   (1/8, -6*x + 8*y + 11)(
   Ry   R    R!   R   R   R   Rn   R>   RM   RS   (   R   R   Rˇ   Rf  (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_primitive0  s     !$$$c          C   sű  t  d d t  d d t  d d t  d d t  d	 d
 t  d d t  d }  t  d	 d
 t  d } t  d d t  } t t |  | | f  \ } } } | j |  | k sś t  t | |  |  k sŃ t  t | | t   |  k sď t  t | | t  f  |  k st  t | |  | k s+t  t | | d t | k sLt  t | | d t |  k smt  | j   | | g k st  t |   | | g k sŠt  t |  t   | | g k sĘt  t |  t  f  | | g k sît  t |  | | g k st  t |  d t | | g k s0t  t | d t | | g k sTt  t t	 d    t t	 d    t t  d
 t
 d
 t  t
 t  t
  t  d
 d
 t  t
 k sľt  t t  d
 t
 d
 t  t
 t
 t   t
 d
 d
 t  t
 k s÷t  d  S(   Ni   i   i
   i   i   iô  i   iq  i   i   i   i	   i   Re  c           S   s   t  d d  S(   Ni   i   (   R"   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   _  R   c           S   s
   t  d  S(   Ni   (   R#   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   `  R   (   Ry   t   mapR    R"   R   R   R   R#   Rn   R>   Rz   (   R   R   R   Rˇ   Rf  Rt  (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_composeH  s,    R!!!!!$$$Ac           C   sQ   t  t d d t d t  j d  t  t d d t d t  k sM t  d  S(   Ni   i   (   R    Ry   R  R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt
   test_shiftf  s    c        	   C   sň  t  t d d t d t  j t  t d  t  t d   t  d t  k o t t d d t d d t d j t t d t d   k n s t  t  t d t d d t  j t  t d  t  t d   t  d t d d t d  d t  k oKt t d d t d t d d j t t d t d   k n sVt  t  t d d t d t  j t  t t d  d  t  t d   t  t d  d t  k ot t d d t d d t d j t t t d  d t d   k n st  t  t d d t d t  j t  t d  t  t t d  d   t  t d  d t  k oÍt t t d  d d t d d t d j t t d t t d  d   k n sŘt  t  t d d t d t  j t  t d  t  t t d  d   t  t d  d t  k ot t t d  d d t d d t d j t t d t t d  d   k n st  t t d    t t d	    t t d
    t t d    t t d    d  S(   Ni   i   i   i   i   i	   g      đ?c           S   s.   t  t t  j t  t d  t  t d   S(   Ni   (   R    Ry   Rz   t	   transform(    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR     R   c           S   s*   t  t  j t  t d  t  t d   S(   Ni   (   R    Ry   R  Rz   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR     R   c           S   s*   t  t  j t  t d  t  t d   S(   Ni   (   R    Ry   R  Rz   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR     R   c           S   s.   t  t  j t  t t d  t  t d   S(   Ni   (   R    Ry   R  Rz   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR     R   c           S   s.   t  t  j t  t d  t  t t d   S(   Ni   (   R    Ry   R  Rz   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR     R   (	   R    Ry   R  R4   Rů   R   RS   Rn   RA  (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_transformi  s(    <N<.NFXFbFbc       
      s  t  t t  d d   }  d t d t  d d } } |  j   |  | g k sS t  t      | g k sq t  t   t     | g k s t  t   t  f    | g k sś t  t |   |  | g k sÔ t  t   d t |  | g k sř t  t |  d t   | g k st  t t d    t t   f d    t t	 d  d t
 d	 t  d
 t	 d  d t
 d	 t  d t	 d  d t
 d t  d t	 d  d t
 d t  d t	 d  d t  t	 d  d t  d d   t    t t  d d t  d t
 d d t  d t
 d d t  d d t d t  d d t  t
 d d t  d d t t	 d  d t
 d d t  d t
 d d t  d d t d t
 d d t
 d	 d t
 d d  d! t
 d d" t
 d	 t  d d g k sýt  d  S(#   NR   RL   i   Re  c           S   s
   t  d  S(   Ni   (   R$   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR     R   c              s   t    d t S(   NR_  (   R$   R   (    (   R   (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR     R   i   i	=  i   i   i   iq  i   i    i   i   i   i$ô  s   ZZ(pi)id   i@   i   i   iČ   i N  i	   i`   i   I  pąĽü˙˙i ČŻ i   I   ×  i  Śi@  (   Ry   R    R$   R   R   R   Rn   R>   RE   RS   Rb   (   Rˇ   R   Rf  (    (   R   s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt
   test_sturm  s$    !$$$Ś	B.<c              s¸  t  d d t  d t  d d t  d   t    j   t t   d f t t  d  d f g k sj t  t    t  d f t  d d f g k s t  t t   f d    t  t  d d t  d d t  d d t  d   t    j   t t  d d t  d  d f t t  d d t  d  d f t t   d f g k sKt  t    t  d d t  d d f t  d d t  d d f t  d f g k st  t t   f d    d  S(   Ni   i   i   i   i   c              s
   t     S(   N(   R&   (    (   R   (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   Ş  R   c              s
   t     S(   N(   R&   (    (   R   (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   ˛  R   (   Ry   R    R%   R   Rn   R¤   (    (    (   R   s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_gff¤  s    *@.2\Sc          C   s   t  d  t  d  }  } t |  t | t t t d |  | f } | j   t d t d d t d t d d t d t t d d k s t  d  S(	   Ni   i   RĄ   i   i   i	   R   RL   (   RY   R    Ry   Rz   t   normR   (   Rq   Rr   R   (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt	   test_normľ  s    *c           C   sä  t  t d d d t d  d t d d t d  t d t d d t d d f k sc t  t  t d d d t d  d t d d t d  t d t d d t d d f k sĆ t  t t d d d t d  j    d t t d d t d  t d t d t d  t t d d t d d t d d f k sSt  t t d d d t d  j    d t t d d t d  t d t d t d  t t d d t d d t d d f k sŕt  d  S(	   Ni   RĄ   i   i   i   i
   R   RL   (   R'   Ry   RY   R   R    (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_sqf_normť  s    FF#55#5c    	      C   s	  t  d t  d t  d d }  t  d d t  d d t  d } t  d } t  d t  d t  d } t t |  | | | f  \ } } } } | j   | k sŁ t  t |   | k sť t  t |  t   | k sÖ t  t |  t  f  | k sô t  t |  | k st  t |  d t | k s*t  t | d t | k sHt  | j   d | d f | d f g f k sxt  t |   d | d f | d f g f k s¨t  t |  t   d | d f | d f g f k sŰt  t |  t  f  d | d f | d f g f k st  t |  d | d f | d f g f k sAt  t |  d t d | d f | d f g f k swt  t | d t d | d f | d f g f k s­t  | j   | d f | d f g k s×t  t	 t
 d    t d  d k s˙t  t d  d g  f k st  t d t  d d d  d	 t  d d d k sUt  t |   | | d k sut  t |  t   | | d k st  t |  t  f  | | d k sžt  t  d t d } t |  |  | | d | k sřt  t |  | t   | | d | k s#t  t |  | t  f  | | d | k sQt  t t  d  t  d k sqt  t t  d  t  d k st  t t  d  t  d k słt  t d
 t  d  t d d t  d d t k sęt  t d
 t  d d t  d
  t d  d d t  d t  d k s4t  t t t  d d t  d   t  d d k sjt  d t  t  d t  t  d }  t |   d k s t  t  d d t  d d }  t |   t  d d k sÚt  t |   d t  d d f g f k st  d  S(   Ni   i   i   i   i   Re  c           S   s
   t  d  S(   Ni   (   R(   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   ĺ  R   i   i   i   i
   R[  I Č¨   I /P	   (   Ry   R  R    R(   R   R   R   R)   t   sqf_list_includeRn   R>   R*   Rz   RW   RS   (	   R   R   R   Ru   Rˇ   Rf  Rt  t   PRt   (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_sqfĘ  sT    "
'0036066*8 #&(+. " 7J6 c       	      sř  t  d t  d t  d d   t  d }  t  d } t  d t  d } t t   |  | | f  \ } } } } | j   d | d f | d f | d f g f k s¤ t  t    d |  d f | d f | d f g f k sÝ t  t   t   d |  d f | d f | d f g f k st  t   t  f  d |  d f | d f | d f g f k sXt  t |  d | d f | d f | d f g f k st  t   d t d | d f | d f | d f g f k sĐt  t | d t d |  d f | d f | d f g f k st  | j   | d f | d f | d f g k sBt  t d  d g  f k s`t  t d  d g  f k s~t  t t d  t   t d  g  f k sŤt  t d t  t   d d t  f g f k sŮt  t d t  t	 t   d d t	 f t  t	 f g f k st  t t t  t	  t   d t  t	 t
 j f g f k sOt  t d  d k rpt d  j svt  t d t   d t  d f g f k sĄt  t d t  d  d t  d f g f k sĐt  t d t   d t  k sđt  t d t  d  d t  d k st  t d t  d d d  d	 t  d d d k sPt  t    |  | d | k stt  t   t   |  | d | k st  t   t  f  |  | d | k sĹt  t  d t	 d t  t	 t  t	 t  d d f \ } } }	 }
 t   |  |  | d | | |	 k s/t  t   | t   |  | d | | |	 k sbt  t   | t  f  |  | d | | |	 k st  t d
 d t } t d d t } t d d t }
 t t t  t	   j t k sót  t t d t  d d   t d  t t  d t  d  k s9t  t t d t  d d   t d  t t  d d  k s{t  t t	 t  d t	 |  t	 | t  d | t  d | k sżt  t t	 t  d t	 |  t	 | t  d d | k sűt  t t	 t  d t	 t  t	 t  d t  d t k s7t  t t	 t  d t	 t  t	 t  d d t k sot  t t |
 d d | d | d | d d     t | d d | d  t | d  t |
 d d  } t    | k sůt  t |  | k st  t  d d |
 d d } t t |     t    t |  k s[t  t t d  t  d t  d t     j   d   d f g f k sĽt  t  d d   t      k sËt  t   d t t  d t t  d t k sýt  t   d t t  d t t  d t k s/	t  t   d t d  t  d t d  t  d t  d t d  t  d k s	t  t  d d t d  t  d   t   d t d  t  t d  d k sŐ	t  t   d d t d  t  t d  d k s
t  t t  d d t	 d d t d  t  t d  t	 t  t d  t	 k s_
t  t d t  d d t	 d d t d  d t  t d  t	 t  t d  t	 k sť
t  t t  d  t  d k sŰ
t  t t  d  t  d k sý
t  t t  d  t  d k st  t d t  d  t d d t  d d t k sTt  t t  d t  d d d d t t  d t  d t  d t  d t  d t  d t  d t  d d k sÄt  t t  d t  d d d d t t  d t  d t  d d t  d t  d d t  d t  d d t  d d k s@t  t  t t  t t   t   t	 t d d t d t	 t t   t d d t d } t    t  t t   d t k sÂt  t |  t	 t t   d t d d k sôt  t t t  d d t  d t  d d   t t  d d t  d t  d t  d  k sRt  t  d d t  d d t  d   t    t  d t  d t  d d k s¤t  t   t   t  d t  d t  d d k s×t  d t  t  d t  t  d   t    d k st  t   t   d k s(t  t d t  d d t  d t  d  d t  d t  d t  d d d t  d t  d k st  t   d t   k sŤt  t t   f d    t t d    t t  t t  d t	 d t t  d t d d t  d t	   g  t  t t  t	 t  t	 t t  t t  t t  t	 t  t	   g k sat  t t t  d t  d  j   d d  d  t  t k	 s t  t t t  d t  d  j   d d  d  t  t k sßt  t t t    t t   k st  d! t  t  d t  d t  t  d t  d t  t  d d t  d t  d t  t  d t  d! t  d t  d d t  t  d t  t  d t  t  d t  d t  d d t  t  t  d t  d t  t  d d } t |  d  k sűt  t t t  d t   t  d" t t t  t  d  t  k s=t  t t t  d t   t  d" t t t  t  d  t  k st  t t t  d   t t  d  k sŤt  t t d# t  d d# t	 d   t d$ d# t  d$ d# t	 d$ d t k s˙t  t t d# t  d# d   d% d$ t  d$ d k s9t  t  d t	 d d t  d t	 d& t  d d t  t	 d d' t  t	 d( t  d) t	 d d* t	 d+ } t | t   t  d t  d t	 d d t	 d& k sŢt  t | t  d" t t  d t  d t	 d d t	 d& k st  t | t	 d" t t	 d t	 d t  d d t  d) k s`t  d t  d t d d t     t   d" t t   d" t d, t k s°t  t   d" t d, t d t  d t d  t d- t   k sôt  d  S(.   Ni   i   i   i   Re  i   i˙˙˙˙i   i   Ru   t   positivet   it   integerRä   t   realR   i   RĄ   R    i
   R[  i   R   i  R   i	   i   i   R_   c              s   t    t d t S(   NR_   (   R,   Ry   R   (    (   R   (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   	  R   c           S   s   t  t d d d t S(   Ni   i   Re  (   R,   Ry   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   	  R   i    iţ˙˙˙R  g      ŕ?g      đ?g      Đ?i   iM   iŇ   i   i   ih  t   fractioniů˙˙˙(    Ry   R  R    R+   R   R   R   t   factor_list_includeRY   Rz   RS   t   HalfR,   t
   is_IntegerRX   t   is_PowRw   R_   R]   RN   Ra   RW   Rb   Rf   Rn   RC   RG   Rg   R{   R   R   R\   (   Rr  t   vRx   Rˇ   t   Ut   Vt   WR   Ru   Rv   Rä   R   t   eR   (    (   R   s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_factor		  sä    

'99<?9??3-.;;'+/ (8$'*:036%FBD<<86<#'22Q 26%/)3 " 7!O!L<*2X"038-EK<<&>PPBB,4 :j;AA 0c          C   s  t  d d t  d d t  d d t  d d t  d d }  t  d d t  d d t d t  d d t  d d d t t  d d t  d d } t |   t  d d t  d d t  d d k sĐ t  t |  t  d d	 t d d k sü t  t |   d t  d d f t  d d f t  d d d f g f k sEt  t |  d t d d f t  d d	 f g f k s}t  t  d t d d
 t  d d }  t  d t d d
 t  d d } t |   t  d t  t d
 t  t d
 t  d t  d t  d t  d t  d t  d k s%t  t | d t t  d t  t t d
 t  t t d
 t  d t  d t  d t  d t  d t  d k st  t |   d t  d d f t  t d
 f t  t d
 f t  d t  d t  d t  d t  d t  d d f g f k st  t | d t d t  d d f t  t t d
 f t  t t d
 f t  d t  d t  d t  d t  d t  d d f g f k st  d  S(   Ni   i   i i   iÖ i¸  i -1i­% ip  i@ i   i   i   i   R    (   Ry   Rz   R,   R   R+   R   Ra   (   R   R   (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_factor_largeľ	  s,    >?8,F8""	<'<	*G2c           C   s   t  d t d  t d d t d d t k s7 t  t  d t d d t d  t t d  d d t d d t d  k s t  d  S(   Ni   i
   i   i   i   R[  i   (   R,   Ry   RW   R   R   RS   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_factor_noevalÓ	  s    7c       
   C   s3  t  d  g  k s t  t  d  g  k s0 t  t  t d t d7 g k sQ t  t  t  d9 g k sl t  t  t d  d; g k s t  t  t d t d g  d< i d d 6d d 6f g k sČ t  t d t d t d  d	 d t t d  d
  }  |  j  d t  d= d> g k s$t  |  j    d@ dB g k sBt  |  j  d t d t  dC dD g k slt  |  j  d t  dF dH g k st  |  j  d t d  d  |  j  d d  k ot d  d d f d f t d  d t d  d f d f g k n st  |  j  d t d  d  |  j  d d  k ot d  d d f d f t d  d t d  d f d f g k n st  |  j  d t d  d  |  j  d d  k ot d  d d f d f t d  d t d  d f d f g k n st  |  j  d t d  d  |  j  d d  k ot d  d t d  d f d f t d  d t d  d f d f g k n st  d t d t d  d	 d t t d  d
 }  t  |  d t dI dJ g k sőt  t  |   dL dN g k st  t  |  d t d  d t  |  d d k ot d  d d f d f t d  d t d  d f d f g k n st  t  |  d t d  d t  |  d d k o
t d  d d f d f t d  d t d  d f d f g k n st  t  |  d t d  d t  |  d d k ot d  d d f d f t d  d t d  d f d f g k n st  t  |  d t d  d t  |  d d k ot d  d t d  d f d f t d  d t d  d f d f g k n s"t  t t d d t d d	 d t d d t d	 d	  }  |  j    d t d	  d f d f t d	  d d f d f dP dR d t d	  d f d f t d	  d d f d f g k sât  t  t d d t d d  g  t d!  d" t d#  d$ f i d d 6f t d%  d& t d"  d' f i d d 6f g k sdt  t  t d d t d d  g d t t d!  d" t d#  d$ f i d d 6f t d%  d& t d"  d' f i d d 6f g k sět  t  t d d t d d  g  t d(  d t d  d f i d d 6f t d  d d) f i d d 6f d t d  d f i d d 6f t d  d t d(  d f i d d 6f g k sąt  t  t d t d t d t d d t d t d t d d g  dS i d d 6f dT i d d 6d d	 6f dU i d d 6d d 6d d 6f dV i d d 6f g k sV	t  t d d t d d t d d t d }  } } t  |  d* t d  d d t g  k s¸	t  t  |  d* t d  d d t t d  d t d	  d f g k s
t  t  |  d+ t d  d d t dW d t d	  d f g k sG
t  t  |  d+ t d  d d t dX g k sx
t  t  | d* t d  d g  k s 
t  t  | d* t d  d t d  d t d	  d f d f g k së
t  t  | d+ t d  d dZ d t d	  d f d f g k s/t  t  | d+ t d  d d\ g k sZt  t  | | g d* t d  d g  k st  t  | | g d* t d  d t d  d t d	  d f i d d 6f g k sŕt  t  | | g d+ t d  d d] i d d 6f d^ i d d 6f d t d	  d f i d d 6f g k sNt  t  | | g d+ t d  d d_ i d d 6f d` i d d 6f g k st  t  t d t d d g  da i d d 6f db i d d 6f dc i d d 6f g k söt  t  t d t d d g d, t dd i d d 6f t d	  d d f i d d 6f de i d d 6f g k sgt  d t d d- t d	 d. t d d t d. }  t  |   g  k sąt  t  |  d/ t d t \ } } | g  k sát  t d0   t | t	 |    D  st  | t d1  d d1 t
 d d f t d1  d d1 t
 d f d2 t
 d t d1  d f d t d1  d d1 t
 d f g k st  t  |  d/ t d t d t d  d \ } } | g  k sÔt  t d3   t | t	 |    D  s˙t  t t d4    t t d5    t t d6    d  S(f   Ni    i   R*   i   i   i   i   i   i   i  i˙˙˙˙i   i   t   fastt   epsi
   gš?i  iU   i   id   g{ŽGáz?ič  güŠńŇMbP?ię  i'  g-Cëâ6?i  i   iţ˙˙˙iČ   iÉ   iK   i   ie   i#   i5  ik   i	   iG   iň˙˙˙t   inft   supR   i   i   R   c         s   sw   |  ]m \ \ } } } t  |  t  |  k  o> t  |  k  n on t |  t |  k  ol t |  k  n Vq d  S(   N(   Rc   Rd   (   R   Rq   Rr   Rä   (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pys	   <genexpr>5
  s   i(   iŘ˙˙˙c         s   sw   |  ]m \ \ } } } t  |  t  |  k  o> t  |  k  n on t |  t |  k  ol t |  k  n Vq d  S(   N(   Rc   Rd   (   R   Rq   Rr   Rä   (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pys	   <genexpr>>
  s   c           S   s   t  t d d d d S(   Ni   Rą  i
   i`yţ˙g        (   R-   Ry   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   A
  R   c           S   s   t  t d d  j d d  S(   Ni   Rą  i
   i`yţ˙g        (   R    Ry   R-   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   B
  R   c           S   s&   t  t d d t d d g d d S(   Ni   i   Rą  i
   i`yţ˙g        (   R-   Ry   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   D
  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˙˙˙˙(   i   i   (   iţ˙˙˙i˙˙˙˙(   i   i   (   iţ˙˙˙iţ˙˙˙(   iţ˙˙˙i˙˙˙˙(   i   i   (   iţ˙˙˙iţ˙˙˙(   i   i   (   R-   R   Ry   R   R    RS   R{   R   R}   R1   Ra   Rn   RA  (   R   R   R   t	   real_partt   complex_part(    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_intervalsŘ	  s     !=8$*$0Q0Q0Q0\2$0Q0Q0Q0\<	4Ac%cMYA-74.KD1(KD+.X\K?!P2	"?I.	"c              s  t  t d d      j d d d d d k s8 t    j d d d d d k s\ t    j d d d d  d t d  d f k s t    j d d d d  t d  d d f k sĹ t    j d d d d d t d  d f k sů t    j d d d d t d  d d f k s.t    j d d d d d t d t d  d f k sht    j d d d d d t t d  d d f k sŁt    j d d d	 t d  d
 t d  d t d  d f k sët    j d d d	 d t d  d t d  d f k s)t  t t   f d    t t	   f d    t t	   f d    t d d   t   d d d d d t d  d f k s­t  t   d d d d t d  d d f k sât  t   d d d d d t d t d  d f k st  t   d d d d d t t d  d d f k sWt  t   d d d	 t d  d
 t d  d t d  d f k st  t   d d d	 d t d  d t d  d f k sÝt  t t d    t t
   f d    t t
   f d    d  S(   Ni   i   t   stepsi    iţ˙˙˙i˙˙˙˙i   R°  Rą  id   i   i   i   g{ŽGáz?c              s     d j  d d d t S(   Ni   i   t	   check_sqf(   R.   R   (    (   R   (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   Y
  R   c              s     d j  d d  S(   Ni   i   (   R.   (    (   R   (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   [
  R   c              s     d j  d d  S(   Ni   i   (   R.   (    (   R   (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   \
  R   c           S   s    t  d d d d t d  d S(   Ni   i   i   Rą  id   (   R.   RS   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   i
  R   c              s   t     j d d d d S(   Ni   i   Rą  i
   i`yţ˙g        (   R    R.   (    (   R   (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   k
  R   c              s   t    d d d d S(   Ni   i   Rą  i
   i`yţ˙g        (   R.   (    (   R   (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   l
  R   (   i   i   (   iţ˙˙˙i˙˙˙˙(   R    Ry   R.   R   R9  RS   R   Rn   RC   R@   RA  (    (    (   R   s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_refine_rootG
  s0    $$4545:;H>45:;H>c           C   s   t  t d d  d k s  t  t  t d d d t d k sG t  t  t d d d t 
d k sn t  t  t d d d t d t 
d k s t  t  t d d d d d k sÂ t  t  t d d d d d k sč t  t  t d d d d d k st  t  t d d d d d k s4t  t  t d d d d d d d k s`t  t  t d d d d d d d k st  t  t d d d d d d d k s¸t  t  t d d d d d d d k sät  t  t d d  d k st  t  t d d d d t d k s.t  t  t d d d d 
t d k sYt  t  t d d d d t d d 
t d k st  t  t d d d d d k s´t  t  t d d d d d k sÚt  t  t d d d t d k st  t  t d d d t 
d k s(t  t  t d d d t 
d d t 
d k sZt  t  t d d d t d t d d k st  t t d    d  S(	   Ni   R˛  Rł  iţ˙˙˙i˙˙˙˙i   i    c           S   s
   t  d  S(   Ni   (   R/   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   
  R   (   R/   Ry   R   R`   Ra   Rn   RC   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_count_rootso
  s.     ''.&&&&,,,, *+5&&''22c              sč   t  d t d d t d d t d      j d  t d  d k sR t    j d  d k sm t    j d  d k s t  t t   f d    t  t d t d  j d  t t d t d d d  k sä t  d  S(	   Ni   i   i   i   i    i   c              s     j  d  S(   Ni   (   t   root(    (   R   (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   
  R   i   (   R    Ry   Rť  RS   R   Rn   t
   IndexErrorRe   (    (    (   R   s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_root
  s    ,&c          C   sP  t  t  d g k s t  t  t d t d g k s< t  t  t d  d d d g k sa t  t  t d d t d	 g k s t  t  t t d t d  t t d t d d  d g k sÉ t  t  t t d t d d t t t d t d d  d f d
 g k st  t  t d t d t d  t t d t d d  d d d g k set  t  t d t d t d d t t t d t d d  d f d g k s¸t  d t d d t d d t d }  t d t d } t |   j    t d  d d d g k s"t  t |  j    t | d  g k sLt  d  S(   Ni    t   multiplei   i   i   i   i   (   i    i   (   i    i   (   i    i   (   i    i   (   R0   Ry   R   R   Re   R    RS   (   R   R   (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_real_roots
  s    !%%C"-J&-&2c          C   s°   d t  d d t  d d t  d }  t  d t  d } t |   j   t d  d d d g k sj t  t |  j   t | d  t | d  t | d  g k sŹ t  d  S(   Ni   i   i   i   i   i    (   Ry   R    t	   all_rootsRS   R   Re   (   R   R   (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_all_rootsľ
  s    &2c          C   sA  t  d t  j   g  k s! t  t  d t  j   g  k sB t  t  t d d t  j   d d g k sq t  t  t d d t  j   d t d t g k s¨ t  t  t d d t  j   }  |  d d g k sÝ t  t  t d d t  j   }  |  d t d t g k st  t  t d d t d  d t  j   }  |  d d g k s]t  t  t d d t d  d t  j   }  |  d t d t g k s¨t  t  t d d t t  j   d d t d d t g k sët  t  t d d t t d t j   d d t d d t g k s4t  t  d t d	  j   d
 g k s]t  t t d t d d d }  t d  } t |  d  j d |  t j	 k s˛t  t
 |  d  d k sÎt  t |  d  d
 k sęt  t
 |  d  j d |  t j	 k st  t |  d  d
 k s1t  t
 |  d  j d 
|  t j	 k s]t  t |  d  j d 
|  t j	 k st  t
 |  d  j d |  t j	 k s´t  t |  d  j d 
|  t j	 k sŕt  t
 |  d  j d 
|  t j	 k st  t d  } t |  d  j d |  t j k sCt  t
 |  d  d k s_t  t |  d  d
 k s{t  t
 |  d  j d |  t j k sŚt  t |  d  d
 k sÂt  t
 |  d  j d 
|  t j k sît  t |  d  j d 
|  t j k st  t
 |  d  j d |  t j k sEt  t |  d  j d 
|  t j k sqt  t
 |  d  j d 
|  t j k st  t t d    t t d    t t d d  d d g k săt  t t d d  }  |  d d g k st  t t t  d t g k s2t  t t d t  d t g k sYt  t t d    t  t d d  } | j d  g  | j   D] } | j d  ^ qk sşt  t t  t d d t d d t d d  t d! d" t d# d$ t d% d& t d d' t d d(  j d   d) k s=t  d  S(*   Ni    i   i   g      đżg      đ?i   RĄ   gÉ?gš?g      ŕżi   t   ns   1e-5ghW!ĺ'čżg        gJŇ5ośëżgJŇ5ośë?gÝďPčě?gg'ŁäŐçżi   gg'ŁäŐç?s   1e-6c           S   s   t  t t t  j   S(   N(   R    Ry   Rz   R1   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   ń
  R   c           S   s   t  t t  j   S(   N(   R    Ry   Rz   R1   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   ň
  R   g       Ŕc           S   s
   t  d  S(   Ni    (   R1   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   ü
  R   i   i    i   iü  i   i@  i
   iV  i   i  i   i\ iă ie s¨   [-1.7 - 1.9*I, -1.7 + 1.9*I, -1.7 - 2.5*I, -1.7 + 2.5*I, -1.0*I, 1.0*I, -1.7*I, 1.7*I, -2.8*I, 2.8*I, -3.4*I, 3.4*I, 1.7 - 1.9*I, 1.7 + 1.9*I, 1.7 - 2.5*I, 1.7 + 2.5*I](   R    Ry   R1   R   Ra   RS   RV   Rc   t
   epsilon_eqt   trueRd   t   falseRn   RE   R;   RC   RŔ  RÂ  t   str(   t   rootsRą  R   Rx   (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_nroots˝
  sh    !!/7 ++ CF)++,,+,,++,,+,,&#'=[c          C   s   t  d d t  d d t  d t  d }  t |   j   i d t d  6d t d  6k sb t  t |   i d t d  6d t d  6k s t  d  S(   Ni   i   i   i   i   i    (   Ry   R    R2   RS   R   (   R   (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_ground_roots
  s    *8c             sA  t  d t  d d   t  d t  d d }  t  d d d } t  d t  d d } t  d d } t   d    k s} t  t t   f d    t t   f d    t t   d   |  k sĘ t  t t   d   | k së t  t t   d   | k st  t t   d   | k s-t  t t d    d  S(	   Ni   i   i   c              s   t    d  S(   Ni    (   R3   (    (   R   (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR     R   c              s   t    t  S(   N(   R3   Ry   (    (   R   (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR     R   i   i   c           S   s   t  t t d t t  S(   Ni   (   R3   Ry   Rz   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   #  s   (   Ry   R3   R   Rn   RA  R,   R;   (   t   f_2t   f_3t   f_4t   f_12(    (   R   s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_nth_power_roots_poly  s    !!!!c       	   C   s  t  t d d t d j i t d t d  t 6  }  t |  t  d t d t d  d d d f t d t d  d d f t d t d  d d f g f k sł t  t  t d d t d j i t d d t d d  t 6  }  t |  t  d  k st  d  S(   Ni   i   iţ˙˙˙i   (   R_   Ry   Rů   RY   R9   R   RU   R9  (   Ru   (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_torational_factor_list&  s    : .Ac          C   s  t  d  d k s t  t  d  d k s0 t  t  t  t k sH t  t  t  t k s` t  t  d  d k sx t  t  d t  d k s t  t  d t  d k sŽ t  d t d d d t d d t d d f \ }  } } } g  |  | | | f D] } t | t  ^ qű \ } } } } | j  |  d | | f k sFt  t  |  | f  d | | f k smt  t  |  | f t  d | | f k st  t  |  | f t f  d | | f k sÄt  t  | | f  d | | f k sët  t  |  | f d t d | | f k st  t  | | f d t d | | f k sEt  t d d t t d  }  t  |   |  k syt  t  |  d t t t d  k sĄt  t d d t t d  }  t  |   |  k sŐt  t  |  d t t t d  k sýt  t  t d d d t d d f  t d  d t d d f k sFt  t  t d t	 t t	  d t t	 t d t	 k st  t  t d t	 d t t	 t  t t	 k sľt  t  t d t	 d t t	 t	  t t	 k sčt  t  t d t	 d t t	  t t	 k st  t  t d d t d d  t d t d t d k sXt  t  t d d t d  d t d d  t d t d d t d k sŞt  t  t
 d t  d t
 t  d t
 t  d  t
 t  d k söt  t t d t d t  }  t t t t  } t t t t  } t d t  } t  |  | f  d | | f k smt  t d t d  d t d d t d  d t d t d  }  t d d } t  |  | f d	 t d t d d t d t t d  f k st  t d
 t d t  }  t t d t d t d t d d t d d t d t  } t  |  | f  d |  | f k st  t t	 t	 d d }  t d t	 d d } |  j  |  d t t	 t	 d d t d t	 d d f k söt  |  j  | d t t t	 t	 d d t d t	 d d f k s;t  t d t t	 t t	 d d }  t d t d t	 t	 d d } |  j  | d t t d t	 d t	 d d t d t t	 t	 d d f k sŇt  d
 t d t	 d t t	 d t t	 t t	 d }  t  |   j t k s%t  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 d
 | d d | d | d 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 d | d | d d t d  d }  t  |   j t k sá	t  t d d t }	 t |	 t d d t d t d k f t d t d d t t f  }
 t |	 t d t d k f d t t f  } t  |
  | k s
t  t  d |
  d | k sĄ
t  t  d |
  d | k sÁ
t  t  t d d t d |
  t d | k ső
t  t  t d d t d |
  t d | k s)t  t t d d t d t d k f t d t d d t t f  } t t d t d k f d t t f  } t  |  | k sŻt  t  d |  d | k sĎt  t  d |  d | k sďt  t  t d d t d |  t d | k s#t  t  t d d t d |  t d | k sWt  t d d d  } t  | d d  | d  d k st  t | d! | d" d | d#  d | d$ t } t  |  t t | d% | d& d | d'  d | d( t k st  d  S()   Ni    i   i   i   i   i   Re  R˘   RĄ   iţ˙˙˙i	   i   i   i   R   s   ZZ(x)s   ZZ[x]t   includeg{ŽGázt?g      @g-Cëâ6?R¸   t   commutativet   M(   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   (   R4   R   Ry   R`   R    R   R   RY   RS   Rz   R\   Rq   R{   t   is_MulR^   RX   RZ   R|   R]   (   R   R   Ru   Rv   Rr  Rˇ   Rf  R  Rg  R¸   t   p1t   p2t   p3t   p4RŇ  t   expr(    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_cancel1  s    ::$'*-'--((I<330@RL'DGD)<3!!C8×ŞI-  44E)  44(4c          C   sz  d t  d t d t  d t d }  t  d t  t d t g } d t  d g } t  d t d t } t |  |  | | f k s t  t |  | t  t  | | f k s° t  t |  } | j |   | | f k sÝ t  t d t  t  t  t d t  t  g } t t  d t d t t  t  } t t |  | d t | | f  sQt  t t |  | t  t d t | | f  st  t | d t } t | j |   | | f  sˇt  d t  d t d d t }  t t  d t d d t  t d g  } t  d t  t d d t  t d t d d t d d t d d t d d t d d d t d g } d } t |  |  | | f k st  | j |   | | f k s¸t  t |  | d	 t	 d d k sÝt  | j |  d	 t	 d d k st  | j
 |   t k st  | j
 |  d  t	 k s<t  t d d g t   d g d f k sft  t t d
    d  S(   Ni   i   i   i   Re  i   i   i    R_  c           S   s   t  d d g  S(   Ni   (   R5   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   Ç  R   (   Ry   Rz   R5   R   R6   t   reduceR    R   R   R   t   containsRn   R>   (   R   Rf  Rg  Rä   Rt  (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_reduced  s4    &!'!("*0$*q!!%%*c          C   s  t  g  t t t  g  k s! t  t  t d d t d t t d g t t d d d t d d t d g k sy t  t  t d d t d t t d t t t d g t t t d d d t d t d d t d g k sę t  t  t d d t d t t d g t t d d d	 t t d t d t t  t d t d t t  g k s`t  t  t d d t d t t d t t t d g t t t d d d	 t t d t d t t t  t t d t t t  t d t d t t t  g k st  t  t d d t d d g  t d g k s9t  t  t t d d  t t d d  g  t d g k sxt  d t d t t d
 t d d t d t t t d t d t t t d t d g }  t d t d t d d t t d t d t t d t d t d d
 } t  |  t t t d d d t } | d t t d t d t d d t d d t d t d
 d d t t d d t d d t d d t d d t d
 d t d d d t d t t t d t d t d t d d d t t d d t d d t d d t d
 d t d t d g k slt  t	 | | t t t d d d t d	 t \ } } t
 g  t | | j  D] \ } } | | ^ q˛|  t | d d k sět  t t d t d t d t d g }  t  |  t t d d t d d t t d d t d t t d t g k sit  t  |  t t d d t d d t d t d d t d t t d t g k sĂt  t  |  d d d t t d d t t d d t d t t d t g k st  t  d g t  d g k s9t  t  t d d t g t t  d t d d t g k syt  t t d    t  t d d t d d g d d t d g k sÄt  t  t d d t d d g d d t d g k s˙t  t t d    d  S(   Ni   i   i   i   RŁ   RP   i˙˙˙˙RR   Re  i   i	   i   R   i   R   i   RI   g       @g      đ?c           S   s   t  d g  S(   Ni   (   R6   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   ň  R   t   methodt
   buchbergert   f5bc           S   s   t  t t g d d S(   NRÝ  t   unknown(   R6   Ry   Rz   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR   ÷  R   (   R6   Ry   Rz   R{   R   R   R    Rf   R   R5   t   sumR}   Re  Rn   R>   RA  (   Rˇ   R   Rf  Rg  Rä   Rv   R   (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_groebnerĘ  s>    !Xq9=KY5?_R!BO7Z0P(@E@!@;;c          C   sŹ  t  t t t t  t t  t t t t t t  t t t  t t t  t t t t t t  t t t d g }  t |  t  t t t d t } d t  d t d d t d d t d t d t d t d d t d d t d t d d t d	 d t d
 d t d d t t d d t t d d t d d t t d t d t d d g } t |  t  t t t d t | k st  | j t  | k s˛t  d t	 d d t	 d d t	 d
 d t	 d d t	 d d t	 d d t	 d d t	 d d t
 t	 d d t
 t	 d
 d t
 t	 d d t
 t	 d d t
 t	 d d t
 t	 d d t
 t	 d t
 d t	 d d t	 d
 d t	 d d t	 d d t	 d d t	 d g }  t |  t
 t	 d t } d t
 d t	 d d  t	 d
 d! t	 d d" t	 d d# t	 d d$ t	 d d% t	 d& d t	 d d t	 d d t	 d
 d t	 d d t	 d d t	 d d t	 d d t	 d g } t |  t
 t	 d t | k sÎt  | j t  | k sét  t	 d t	 d t d d' t	 t d t d g }  t |  t	 t d t } t	 d t	 d t d t d d t	 t d g } t |  t	 t d t | k st  | j t  | k s¨t  d  S((   Ni   RŁ   i   i   i	   i   i   i   i
   i   i   i   i$   i    iü   iN   iÔ  i   il   i¸˙˙˙iŔ   iě  i8  i  i@  iH   i   i   i`   l   ;7>rŹI° Ičc
ˇI2ôŞůcA	l   "3CR7	 IýťiĆăGl   Hgę5Ř1n? l   Ę3&[ľT l   óe tř{ l   *JwiČC1 iţ˙˙˙(   Rq   Rr   Rs   Rt   R6   RQ   RP   R   t   fglmRy   Rw   Rz   (   Rˇ   Rf  Rš   (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt	   test_fglmú  s,    v'//3!*_Á[e$4$c          C   s`  t  t t g t t  t k s$ t  t  t d t d g t t  t k sQ t  t  t t t g t t t  t k s{ t  t  t t t g t t t t  t k s¨ t  t t t t t t t t t g }  t  |  t t t  t k sđ t  t d d t t d t t d t t d d t d d t d g }  t  |  t t t  t k s\t  d  S(   Ni   i   i   i   (   R8   Ry   Rz   R   R   R   R{   Rw   (   Rˇ   (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_is_zero_dimensional$  s    $-*-'!Kc          C   s°  t  t d t d t d t  d g }  t |  t  t d d } t d d t t  d d t d t  t d t g } g  | D] } t | t  t  ^ q~ } t |  d g t  t d d | k sÇ t  t | t  t k sâ t  t |  d k sú t  | d | d k r| d j	 s"t  | d | d k rD| d j	 sJt  | d | d k rl| d j	 srt  | d | d k rĄt
 d   | d D  s§t  | d  | d  k rÖt
 d   | d D  sÜt  | j | k sńt  | j | k st  | j t  t f k s!t  | j t k s6t  | j t k sKt  | | k s]t  | t |  k sut  | | k st  | t |  k st  | g  k sąt  t |  t  t d d d	 t } | d | d k rđ| d j	 söt  | d | d k r| d j	 st  | d | d k r>| d j	 sDt  | d | d k rrt d
   | d D  sxt  | d  | d  k rŚt d   | d D  sŹt  d  S(   Ni   RŁ   RR   i   i    i   c         s   s   |  ] } | j  Vq d  S(   N(   R  (   R   R   (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pys	   <genexpr>B  s    c         s   s   |  ] } | j  Vq d  S(   N(   R  (   R   R   (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pys	   <genexpr>C  s    Re  c         s   s   |  ] } | j  Vq d  S(   N(   R  (   R   R   (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pys	   <genexpr>X  s    c         s   s   |  ] } | j  Vq d  S(   N(   R  (   R   R   (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pys	   <genexpr>Y  s    (   Ry   Rz   R6   R    R   R   R7   R   R   R  t   anyt   exprsRe  R   R   RK   RŁ   RR   RF  R   (   Rˇ   Rf  Rt  R   R  (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_GroebnerBasis2  s8    (7%+(((55'''4c           C   sz  t  t  t t t  k s! t  t  t  t t t  k sB t  t  t t  t t t t t  k sn t  t  t t t   t t t t  t t t   k sŹ t  t  t t d t t t t t t  k sŢ t  t  t t t  d t t  t t t t  t t  t  k s(t  t  t t d t t d d  t t t d t t d d t t t  k st  t  d t t d d  t d t d d t t d t d d t t  k s×t  t  t t t d d  t t t d d t t t t t d d t t t  k s6t  t  d t t t d d  t d t t d d t t t d t t d d t t t  k sĄt  t  d t t d t d  t d t d d t t d t d t d t t t  k st  t  t t t d t d  t t t d d t t t t t d t d t t t  k skt  t  d t t t d t d  t d t t d d t t t d t t d t d t t t  k sŢt  t  t t t t d t t d  t d t t d t t t d t d d t d t t t  k sQt  t  t t t t t t d  t t d t d t t d t d t t d t d d t t d t d d t t t d t t d t t t  k süt  t  t t t t t t t   t t t t t t t  k sBt  t  t t d t  t t d d t t t d t d t t k st  t  t t d t  t t d d t t t d t d t t k sŢt  t  d t  t d t  k st  t t	 d    t  t t t t  t t t t t  k sDt  t  t t t t  t t t t t  k svt  d  S(	   NRŽ   i   i   i   i   i   R   c           S   s
   t  d  S(   Ni   (   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyR     R   (
   R   Ry   R    R   Rz   R]   R{   RK   Rn   RA   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt	   test_poly\  s<    !!,>2JWX\
a`d$O%N!FNN$2c          C   s  t  d t d d t }  t t d  t  t k s: t  t t d  t  t k s\ t  t t d  t  d t k s t  t t d  t  d t k sŚ t  t t d  d t  d t k sĎ t  t t d  t d  t k sô t  t t d  t t   d t t  k s%t  t t d  t d  |  k sJt  t t d t  d k sit  t t d t d   |  k st  d  S(   Ni   i   R[  i˙˙˙˙g      đ?g      đż(   RW   Ry   R   Rm   RS   R   R]   (   Rr  (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_keep_coeff  s    !"%%)%1%c           C   s\   t  t t t  t t  t t  k s, t  t t t  t  t t  t t  k sX t  d  S(   N(   Ra   R    Ry   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_poly_matching_consistency  s    ,c           C   sj   t  t t  t t t t t t  d t g  t t t t t t t t t t k sf t  d  S(   NRĄ   (   R_   R,   Ry   Ra   Rz   R{   Rw   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_issue_5786Ł  s    	c          C   sś   d t  f d     Y}  t t t t } d d t } t |  |   |  |  k sZ t  t | |  |   | |  |  k s t  t | |  |   | |  |  k s˛ t  d  S(   Nt   fooc           B   s   e  Z e Z RS(    (   t   __name__t
   __module__R   t   is_commutative(    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyRí  Ş  s   i   (   Rh   Ry   Rz   R4   R   (   Rí  RŹ  Rs   (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_noncommutativeŠ  s    $,c           C   sE   t  t t d t t d t t  t d d  d  k sA t  d  S(   Ni   i   R   RN   (   R:   R    Ry   Rz   RY   R9  R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_to_rational_coeffsł  s    c           C   s|   t  t t t  d t d f t t d f g f k s< t  t t t t  d t d f t t d f g f k sx t  d  S(   Ni   (   R+   Ry   Rz   R   R)   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_factor_terms¸  s    <c           C   sŢ   t  t d d t d d j   d d d d g k s; t  t  t d t d t t d d j   d g g  d d g g k s t  t  t d t d t t t d d j   d g g g  g d g d g g g k sÚ t  d  S(   Ni   i   R   RK   i   i    (   R    Ry   t   as_listR   Rz   R{   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_as_listž  s    ;H*c           C   s   t  t d  t  t d  t d f g f k s7 t  t  t d  t t  t t   t d  t t  d f g f k s t  d  S(   Ni   i   (   R+   RY   Ry   R   R]   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_issue_11198Ć  s    7c          C   sB   t  t j d  t  }  |  j   t j d  t k s> t  d  S(   Nid   (   R    Rb   t   evalfRy   RŚ   R   (   Ru   (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_Poly_precisionË  s    c           C   sJ   t  d d t d  t  t d d t d  t d d k sF t  d  S(   Ni   i   R   RN   (   R   RY   Ry   R    R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_issue_12400Ń  s    c           C   sm  t  t d  d t d  d t d  d t d  d  t d  d d t d  k sc t  t  t d  t d  d t d  t d  d  t d  t d  d	 k sş t  t t d  d t d  t d  d t d   t d  t d  d k st  t d t d  t d  t d   d
 t d  k sPt  t t d  d d t d  d d t d  d d t d  d d  t d  d d d t d  d k sËt  t  t d  d t d  t d  d t d   t d  d k st  t  t d  t d  d t d  t d  d  t d  d k set  t  t d  t d  d t d  t d  d t d  t d  d g  t d  t d  d k sÖt  t  t d  d t d  d t d  d t d  d t d  d t d  d g  t d  d d t d  k sWt  t t d  t d  d t d  t d  d t d  t d  d f  t d  d t d  k sČ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 g  t d  d d d t d  d k sit  d  S(   Ni   i   i   i   i
   i   i   i   i   i   i   i   i   i   i   i/   i#   iÇ  (   R   RS   RY   R   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_issue_14364Ö  s    cWW?{MMqqc          C   sŕ   t  d d t }  d |  d |  d t d |  d |  d d d  d d d d t d  d |  |  d t d |  d |  d d d  d t d  d d	 |  } t | d
 t |  |  d d k sÜ t  d  S(   NRy   R  i   i   i   i   i   i   i
   R  (   RX   R   RY   RS   R,   R   (   Ry   RŘ  (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_polytools.pyt   test_issue_15669č  s     N(  t   __doc__t   sympy.polys.polytoolsR    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    R!   R"   R#   R$   R%   R&   R'   R(   R)   R*   R+   R,   R-   R.   R/   R0   R1   R2   R3   R4   R5   R6   R7   R8   R9   R:   t   sympy.polys.polyerrorsR;   R<   R=   R>   R?   R@   RA   RB   RC   RD   RE   RF   RG   t   sympy.polys.polyclassesRH   t   sympy.polys.fieldsRI   t   sympy.polys.domainsRJ   RK   RL   RM   RN   t   sympy.polys.domains.realfieldRO   t   sympy.polys.orderingsRP   RQ   RR   t   sympyRS   RT   RU   RV   RW   RX   RY   RZ   R[   R\   R]   R^   R_   R`   Ra   Rb   Rc   Rd   Re   Rf   Rg   Rh   Ri   t   sympy.core.basicRj   t   sympy.core.compatibilityRk   Rl   t   sympy.core.mulRm   t   sympy.utilities.pytestRn   Ro   t   sympy.simplifyRp   t	   sympy.abcRq   Rr   Rs   Rt   Ru   Rv   Rw   Rx   Ry   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Ű   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)  R,  R.  R0  R3  R4  R5  R7  R:  R;  R=  R?  RB  RD  RE  RI  RK  RL  RN  RP  RR  RU  RW  RY  RZ  R]  Rb  Rc  Rd  Ri  Rp  Ru  Rw  Rx  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Ď  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_polytools.pyt   <module>   sJ  ˙ mX(L			-		\		R		"			>				 	#																						+		
						
								
	
			
									7																									:		4	/	m	+								I		!												?	Ź			o	(	$				M				n	+	0	*		*	,			
							