B
    [                 @   sD  d Z ddlmZmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm	Z	 ddlm
Z
 dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z  ddlm!Z! dd lm"Z" dd!lm#Z# dd"lm$Z$ dd#lm%Z% dd$lm&Z& dd%lm'Z' dd&lm(Z( dd'lm)Z) dd(lm*Z* dd)lm+Z+ dd*lm,Z, dd+lm-Z- dd,lm.Z. dd-lm/Z/ dd.lm0Z0 dd/lm1Z1 dd0lm2Z2 dd1lm3Z3 dd2lm4Z4 dd3lm5Z5 dd4lm6Z6 dd5lm7Z7 dd6lm8Z8 dd7lm9Z9 dd8lm:Z: dd9lm;Z; dd:lm<Z< dd;lm=Z= dd<lm>Z> dd=lm?Z? dd>lm@Z@ dd?lmAZA dd@lmBZB ddAlCmDZD ddBlCmEZE ddClCmFZF ddDlCmGZG ddElCmHZH ddFlCmIZI ddGlCmJZJ ddHlCmKZK ddIlCmLZL ddJlCmMZM ddKlNmOZO ddLlNmPZP ddMlNmQZQ ddNlNmRZR ddOlNmSZS ddPlNmTZT ddQlNmUZU ddRlNmVZV ddSlNmWZW ddTlNmXZX ddUlNmYZY ddVlNmZZZ ddWlNm[Z[ ddXlNm\Z\ ddYlNm]Z] ddZlNm^Z^ dd[lNm_Z_ dd\lNm`Z` dd]lNmaZa dd^lNmbZb dd_lNmcZc dd`lNmdZd ddalNmeZe ddblNmfZf ddclNmgZg dddlNmhZh ddelNmiZi ddflNmjZj ddglNmkZk ddhlNmlZl ddilNmmZm ddjlNmnZn ddklNmoZo ddllNmpZp ddmlNmqZq ddnlrmsZs ddolrmtZt ddplrmuZu ddqlrmvZv ddrlrmwZw ddslrmxZx ddtlrmyZy ddulrmzZz ddvlrm{Z{ ddwlrm|Z| ddxlrm}Z} ddylrm~Z~ ddzlrmZ dd{lrmZ dd|lrmZ dd}lrmZ dd~lrmZ ddlrmZ ddlrmZ ddlrmZ ddlrmZ ddlrmZ ddlrmZ ddlrmZ ddlrmZ ddlrmZ ddlrmZ ddlrmZ ddlrmZ ddlrmZ ddlrmZ ddlrmZ ddlrmZ ddlrmZ ddlrmZ ddlrmZ ddlrmZ ddlrmZ ddlrmZ ddlrmZ ddlrmZ ddlrmZ ddlrmZ ddlrmZ ddlrmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ ddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ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 dd͐lmZ eG ddτ dϐeZdS )z8Compatibility interface between dense and sparse polys.     )print_functiondivision)dup_add_term)dmp_add_term)dup_sub_term)dmp_sub_term)dup_mul_term)dmp_mul_term)dup_add_ground)dmp_add_ground)dup_sub_ground)dmp_sub_ground)dup_mul_ground)dmp_mul_ground)dup_quo_ground)dmp_quo_ground)dup_exquo_ground)dmp_exquo_ground)
dup_lshift)
dup_rshift)dup_abs)dmp_abs)dup_neg)dmp_neg)dup_add)dmp_add)dup_sub)dmp_sub)dup_add_mul)dmp_add_mul)dup_sub_mul)dmp_sub_mul)dup_mul)dmp_mul)dup_sqr)dmp_sqr)dup_pow)dmp_pow)dup_pdiv)dup_prem)dup_pquo)
dup_pexquo)dmp_pdiv)dmp_prem)dmp_pquo)
dmp_pexquo)
dup_rr_div)
dmp_rr_div)
dup_ff_div)
dmp_ff_div)dup_div)dup_rem)dup_quo)	dup_exquo)dmp_div)dmp_rem)dmp_quo)	dmp_exquo)dup_max_norm)dmp_max_norm)dup_l1_norm)dmp_l1_norm)
dup_expand)
dmp_expand)dup_LC)dmp_LC)dup_TC)dmp_TC)dmp_ground_LC)dmp_ground_TC)
dup_degree)
dmp_degree)dmp_degree_in)dmp_to_dict)dup_integrate)dmp_integrate)dmp_integrate_in)dup_diff)dmp_diff)dmp_diff_in)dup_eval)dmp_eval)dmp_eval_in)dmp_eval_tail)dmp_diff_eval_in)	dup_trunc)	dmp_trunc)dmp_ground_trunc)	dup_monic)dmp_ground_monic)dup_content)dmp_ground_content)dup_primitive)dmp_ground_primitive)dup_extract)dmp_ground_extract)dup_real_imag)
dup_mirror)	dup_scale)	dup_shift)dup_transform)dup_compose)dmp_compose)dup_decompose)dmp_lift)dup_sign_variations)dup_clear_denoms)dmp_clear_denoms)
dup_revert)dup_half_gcdex)dmp_half_gcdex)	dup_gcdex)	dmp_gcdex)
dup_invert)
dmp_invert)dup_euclidean_prs)dmp_euclidean_prs)dup_primitive_prs)dmp_primitive_prs)dup_inner_subresultants)dup_subresultants)dup_prs_resultant)dup_resultant)dmp_inner_subresultants)dmp_subresultants)dmp_prs_resultant)dmp_zz_modular_resultant)dmp_zz_collins_resultant)dmp_qq_collins_resultant)dmp_resultant)dup_discriminant)dmp_discriminant)dup_rr_prs_gcd)dup_ff_prs_gcd)dmp_rr_prs_gcd)dmp_ff_prs_gcd)dup_zz_heu_gcd)dmp_zz_heu_gcd)dup_qq_heu_gcd)dmp_qq_heu_gcd)dup_inner_gcd)dmp_inner_gcd)dup_gcd)dmp_gcd)
dup_rr_lcm)
dup_ff_lcm)dup_lcm)
dmp_rr_lcm)
dmp_ff_lcm)dmp_lcm)dmp_content)dmp_primitive)
dup_cancel)
dmp_cancel)dup_trial_division)dmp_trial_division)dup_zz_mignotte_bound)dmp_zz_mignotte_bound)dup_zz_hensel_step)dup_zz_hensel_lift)dup_zz_zassenhaus)dup_zz_irreducible_p)dup_cyclotomic_p)dup_zz_cyclotomic_poly)dup_zz_cyclotomic_factor)dup_zz_factor_sqf)dup_zz_factor)dmp_zz_wang_non_divisors)dmp_zz_wang_lead_coeffs)dup_zz_diophantine)dmp_zz_diophantine)dmp_zz_wang_hensel_lifting)dmp_zz_wang)dmp_zz_factor)dup_ext_factor)dmp_ext_factor)dup_gf_factor)dmp_gf_factor)dup_factor_list)dup_factor_list_include)dmp_factor_list)dmp_factor_list_include)dup_irreducible_p)dmp_irreducible_p)	dup_sturm)dup_root_upper_bound)dup_root_lower_bound)dup_step_refine_real_root)dup_inner_refine_real_root)dup_outer_refine_real_root)dup_refine_real_root)dup_inner_isolate_real_roots) dup_inner_isolate_positive_roots) dup_inner_isolate_negative_roots)dup_isolate_real_roots_sqf)dup_isolate_real_roots)dup_isolate_real_roots_list)dup_count_real_roots)dup_count_complex_roots)dup_isolate_complex_roots_sqf)dup_isolate_all_roots_sqf)dup_isolate_all_roots)	dup_sqf_p	dmp_sqf_pdup_sqf_normdmp_sqf_normdup_gf_sqf_partdmp_gf_sqf_partdup_sqf_partdmp_sqf_partdup_gf_sqf_listdmp_gf_sqf_listdup_sqf_listdup_sqf_list_includedmp_sqf_listdmp_sqf_list_includedup_gff_listdmp_gff_list)8	gf_degreegf_LCgf_TCgf_stripgf_from_dict
gf_to_dictgf_from_int_polygf_to_int_polygf_neggf_add_groundgf_sub_groundgf_mul_groundgf_quo_groundgf_addgf_subgf_mulgf_sqr
gf_add_mul
gf_sub_mul	gf_expandgf_divgf_remgf_quogf_exquo	gf_lshift	gf_rshiftgf_pow
gf_pow_modgf_gcdgf_lcmgf_cofactorsgf_gcdexgf_monicgf_diffgf_evalgf_multi_eval
gf_composegf_compose_modgf_trace_map	gf_randomgf_irreduciblegf_irred_p_ben_orgf_irred_p_rabingf_irreducible_pgf_sqf_pgf_sqf_part
gf_Qmatrixgf_berlekampgf_ddf_zassenhausgf_edf_zassenhausgf_ddf_shoupgf_edf_shoupgf_zassenhausgf_shoupgf_factor_sqf	gf_factor)publicc               @   sv  e Zd ZdZdZdZdZdZdd ZdDddZ	dd Z
dd	 Zd
d Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zd d! Zd"d# Zd$d% Zd&d' Zd(d) Zd*d+ Zd,d- Zd.d/ Zd0d1 Zd2d3 Z d4d5 Z!d6d7 Z"d8d9 Z#d:d; Z$d<d= Z%d>d? Z&d@dA Z'dBdC Z(dDdE Z)dFdG Z*dHdI Z+dJdK Z,dLdM Z-dNdO Z.dPdQ Z/dRdS Z0dTdU Z1dVdW Z2dXdY Z3dZd[ Z4d\d] Z5d^d_ Z6d`da Z7dbdc Z8ddde Z9dfdg Z:dhdi Z;djdk Z<dldm Z=dndo Z>dpdq Z?drds Z@dtdu ZAdvdw ZBdxdy ZCdzd{ ZDd|d} ZEd~d ZFdd ZGdd ZHdd ZIdd ZJdd ZKdd ZLdd ZMdd ZNdd ZOdd ZPdd ZQdd ZRdd ZSdd ZTdd ZUdd ZVdd ZWdd ZXdd ZYdd ZZdd Z[dd Z\dd Z]dd Z^dd Z_dd Z`dd Zadd Zbdd Zcdd Zddd Zedd Zfdd ZgddÄ Zhddń ZiddǄ ZjddɄ Zkdd˄ Zldd̈́ Zmddτ Znddф Zoddӄ ZpddՄ Zqddׄ Zrddل ZsdEdd܄ZtdFddބZudd Zvdd Zwdd Zxdd Zydd Zzdd Z{dd Z|dd Z}dd Z~dd Zdd Zdd Zdd Zdd Zdd Zdd Zdd  Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd  Zd!d" Zd#d$ Zd%d& Zd'd( Zd)d* Zd+d, Zd-d. Zd/d0 Zd1d2 Zd3d4 Zd5d6 Zd7d8 Zd9d: Zd;d< Zd=d> ZdGd@dAZdHdBdCZdDdE ZdFdG ZdHdI ZdJdK ZdLdM ZdNdO ZdPdQ ZdRdS ZdIdTdUZdVdW ZdXdY ZdZd[ Zd\d] Zd^d_ Zd`da Zdbdc ZdJdddeZdfdg Zdhdi Zdjdk Zdldm Zdndo Zdpdq Zdrds Zdtdu Zdvdw Zdxdy Zdzd{ ZÐd|d} ZĐd~d ZŐdd ZƐdd Zǐdd ZȐdd Zɐdd Zʐdd Zːdd Z̐dd Z͐dd ZΐdKddZϐdLddZАdMddZѐdNddZҐdOddZӐdPddZԐdd ZՐdd Z֐dd Zאdd ZؐdQddZِdRddZڐdSddZېdTddZܐdUddZݐdVddZސdWddZߐdXddZdYddZdZddZd[ddZd\ddZd]ddZd^ddZd_ddÄZdĐdń ZdƐdǄ ZdȐdɄ Zdʐd˄ Zd̐d̈́ Zdΐdτ ZdАdф ZdҐdӄ ZdԐdՄ Zd֐dׄ Zdؐdل Zdڐdۄ Zd`dܐd݄Zdސd߄ ZdaddZdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Z dd Zdd Zdd Zdd Zdd Zd d Zdd Zdd Zdd Z	dd	 Z
d
d Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zd d! Zd"d# Zd$d% Zd&d' Zd(d) Zd*d+ Zd,d- Zdbd.d/Zd0d1 Zd2d3 Zd4d5 Z d6d7 Z!d8d9 Z"d:d; Z#d<d= Z$d>d? Z%dcd@dAZ&dBdC Z'dS (d  IPolysNc             C   s   d S )N )selfgenr  r  8lib/python3.7/site-packages/sympy/polys/compatibility.pydrop   s    zIPolys.dropc             C   s   d S )Nr  )r  symbolsdomainorderr  r  r  clone   s    zIPolys.clonec             C   s   d S )Nr  )r  r  r  r  	to_ground   s    zIPolys.to_groundc             C   s   d S )Nr  )r  elementr  r  r  
ground_new   s    zIPolys.ground_newc             C   s   d S )Nr  )r  r   r  r  r  
domain_new   s    zIPolys.domain_newc             C   s   d S )Nr  )r  dr  r  r  	from_dict   s    zIPolys.from_dictc             C   s<   ddl m} t||r.|j| kr$|S tdn
| |S d S )Nr   )PolyElementzdomain conversions)Zsympy.polys.ringsr%  
isinstanceringNotImplementedErrorr!  )r  r   r%  r  r  r  wrap   s    


zIPolys.wrapc             C   s   |  | S )N)r)  to_dense)r  r   r  r  r  r*    s    zIPolys.to_densec             C   s   |  t|| jd | jS )N   )r$  rK   ngensr  )r  r   r  r  r  
from_dense  s    zIPolys.from_densec             C   s   |  t| |||| jS )N)r-  r   r*  r  )r  fcir  r  r  r   
  s    zIPolys.dup_add_termc             C   s4   |  t| || |d || jd | jS )Nr   r+  )r-  r   r*  r)  r  r,  r  )r  r.  r/  r0  r  r  r  r     s    zIPolys.dmp_add_termc             C   s   |  t| |||| jS )N)r-  r   r*  r  )r  r.  r/  r0  r  r  r  r     s    zIPolys.dup_sub_termc             C   s4   |  t| || |d || jd | jS )Nr   r+  )r-  r   r*  r)  r  r,  r  )r  r.  r/  r0  r  r  r  r     s    zIPolys.dmp_sub_termc             C   s   |  t| |||| jS )N)r-  r   r*  r  )r  r.  r/  r0  r  r  r  r     s    zIPolys.dup_mul_termc             C   s4   |  t| || |d || jd | jS )Nr   r+  )r-  r	   r*  r)  r  r,  r  )r  r.  r/  r0  r  r  r  r	     s    zIPolys.dmp_mul_termc             C   s   |  t| ||| jS )N)r-  r
   r*  r  )r  r.  r/  r  r  r  r
     s    zIPolys.dup_add_groundc             C   s"   |  t| ||| jd | jS )Nr+  )r-  r   r*  r,  r  )r  r.  r/  r  r  r  r     s    zIPolys.dmp_add_groundc             C   s   |  t| ||| jS )N)r-  r   r*  r  )r  r.  r/  r  r  r  r     s    zIPolys.dup_sub_groundc             C   s"   |  t| ||| jd | jS )Nr+  )r-  r   r*  r,  r  )r  r.  r/  r  r  r  r     s    zIPolys.dmp_sub_groundc             C   s   |  t| ||| jS )N)r-  r   r*  r  )r  r.  r/  r  r  r  r     s    zIPolys.dup_mul_groundc             C   s"   |  t| ||| jd | jS )Nr+  )r-  r   r*  r,  r  )r  r.  r/  r  r  r  r   !  s    zIPolys.dmp_mul_groundc             C   s   |  t| ||| jS )N)r-  r   r*  r  )r  r.  r/  r  r  r  r   #  s    zIPolys.dup_quo_groundc             C   s"   |  t| ||| jd | jS )Nr+  )r-  r   r*  r,  r  )r  r.  r/  r  r  r  r   %  s    zIPolys.dmp_quo_groundc             C   s   |  t| ||| jS )N)r-  r   r*  r  )r  r.  r/  r  r  r  r   '  s    zIPolys.dup_exquo_groundc             C   s"   |  t| ||| jd | jS )Nr+  )r-  r   r*  r,  r  )r  r.  r/  r  r  r  r   )  s    zIPolys.dmp_exquo_groundc             C   s   |  t| ||| jS )N)r-  r   r*  r  )r  r.  nr  r  r  r   ,  s    zIPolys.dup_lshiftc             C   s   |  t| ||| jS )N)r-  r   r*  r  )r  r.  r1  r  r  r  r   .  s    zIPolys.dup_rshiftc             C   s   |  t| || jS )N)r-  r   r*  r  )r  r.  r  r  r  r   1  s    zIPolys.dup_absc             C   s    |  t| || jd | jS )Nr+  )r-  r   r*  r,  r  )r  r.  r  r  r  r   3  s    zIPolys.dmp_absc             C   s   |  t| || jS )N)r-  r   r*  r  )r  r.  r  r  r  r   6  s    zIPolys.dup_negc             C   s    |  t| || jd | jS )Nr+  )r-  r   r*  r,  r  )r  r.  r  r  r  r   8  s    zIPolys.dmp_negc             C   s    |  t| || || jS )N)r-  r   r*  r  )r  r.  gr  r  r  r   ;  s    zIPolys.dup_addc             C   s(   |  t| || || jd | jS )Nr+  )r-  r   r*  r,  r  )r  r.  r2  r  r  r  r   =  s    zIPolys.dmp_addc             C   s    |  t| || || jS )N)r-  r   r*  r  )r  r.  r2  r  r  r  r   @  s    zIPolys.dup_subc             C   s(   |  t| || || jd | jS )Nr+  )r-  r   r*  r,  r  )r  r.  r2  r  r  r  r   B  s    zIPolys.dmp_subc             C   s(   |  t| || || || jS )N)r-  r   r*  r  )r  r.  r2  hr  r  r  r   E  s    zIPolys.dup_add_mulc             C   s0   |  t| || || || jd | jS )Nr+  )r-  r   r*  r,  r  )r  r.  r2  r3  r  r  r  r   G  s    zIPolys.dmp_add_mulc             C   s(   |  t| || || || jS )N)r-  r    r*  r  )r  r.  r2  r3  r  r  r  r    I  s    zIPolys.dup_sub_mulc             C   s0   |  t| || || || jd | jS )Nr+  )r-  r!   r*  r,  r  )r  r.  r2  r3  r  r  r  r!   K  s    zIPolys.dmp_sub_mulc             C   s    |  t| || || jS )N)r-  r"   r*  r  )r  r.  r2  r  r  r  r"   N  s    zIPolys.dup_mulc             C   s(   |  t| || || jd | jS )Nr+  )r-  r#   r*  r,  r  )r  r.  r2  r  r  r  r#   P  s    zIPolys.dmp_mulc             C   s   |  t| || jS )N)r-  r$   r*  r  )r  r.  r  r  r  r$   S  s    zIPolys.dup_sqrc             C   s    |  t| || jd | jS )Nr+  )r-  r%   r*  r,  r  )r  r.  r  r  r  r%   U  s    zIPolys.dmp_sqrc             C   s   |  t| ||| jS )N)r-  r&   r*  r  )r  r.  r1  r  r  r  r&   W  s    zIPolys.dup_powc             C   s"   |  t| ||| jd | jS )Nr+  )r-  r'   r*  r,  r  )r  r.  r1  r  r  r  r'   Y  s    zIPolys.dmp_powc             C   s2   t | || || j\}}| || |fS )N)r(   r*  r  r-  )r  r.  r2  qrr  r  r  r(   \  s    zIPolys.dup_pdivc             C   s    |  t| || || jS )N)r-  r)   r*  r  )r  r.  r2  r  r  r  r)   _  s    zIPolys.dup_premc             C   s    |  t| || || jS )N)r-  r*   r*  r  )r  r.  r2  r  r  r  r*   a  s    zIPolys.dup_pquoc             C   s    |  t| || || jS )N)r-  r+   r*  r  )r  r.  r2  r  r  r  r+   c  s    zIPolys.dup_pexquoc             C   s:   t | || || jd | j\}}| || |fS )Nr+  )r,   r*  r,  r  r-  )r  r.  r2  r4  r5  r  r  r  r,   f  s    &zIPolys.dmp_pdivc             C   s(   |  t| || || jd | jS )Nr+  )r-  r-   r*  r,  r  )r  r.  r2  r  r  r  r-   i  s    zIPolys.dmp_premc             C   s(   |  t| || || jd | jS )Nr+  )r-  r.   r*  r,  r  )r  r.  r2  r  r  r  r.   k  s    zIPolys.dmp_pquoc             C   s(   |  t| || || jd | jS )Nr+  )r-  r/   r*  r,  r  )r  r.  r2  r  r  r  r/   m  s    zIPolys.dmp_pexquoc             C   s2   t | || || j\}}| || |fS )N)r0   r*  r  r-  )r  r.  r2  r4  r5  r  r  r  r0   p  s    zIPolys.dup_rr_divc             C   s:   t | || || jd | j\}}| || |fS )Nr+  )r1   r*  r,  r  r-  )r  r.  r2  r4  r5  r  r  r  r1   s  s    &zIPolys.dmp_rr_divc             C   s2   t | || || j\}}| || |fS )N)r2   r*  r  r-  )r  r.  r2  r4  r5  r  r  r  r2   v  s    zIPolys.dup_ff_divc             C   s:   t | || || jd | j\}}| || |fS )Nr+  )r3   r*  r,  r  r-  )r  r.  r2  r4  r5  r  r  r  r3   y  s    &zIPolys.dmp_ff_divc             C   s2   t | || || j\}}| || |fS )N)r4   r*  r  r-  )r  r.  r2  r4  r5  r  r  r  r4   }  s    zIPolys.dup_divc             C   s    |  t| || || jS )N)r-  r5   r*  r  )r  r.  r2  r  r  r  r5     s    zIPolys.dup_remc             C   s    |  t| || || jS )N)r-  r6   r*  r  )r  r.  r2  r  r  r  r6     s    zIPolys.dup_quoc             C   s    |  t| || || jS )N)r-  r7   r*  r  )r  r.  r2  r  r  r  r7     s    zIPolys.dup_exquoc             C   s:   t | || || jd | j\}}| || |fS )Nr+  )r8   r*  r,  r  r-  )r  r.  r2  r4  r5  r  r  r  r8     s    &zIPolys.dmp_divc             C   s(   |  t| || || jd | jS )Nr+  )r-  r9   r*  r,  r  )r  r.  r2  r  r  r  r9     s    zIPolys.dmp_remc             C   s(   |  t| || || jd | jS )Nr+  )r-  r:   r*  r,  r  )r  r.  r2  r  r  r  r:     s    zIPolys.dmp_quoc             C   s(   |  t| || || jd | jS )Nr+  )r-  r;   r*  r,  r  )r  r.  r2  r  r  r  r;     s    zIPolys.dmp_exquoc             C   s   t | || jS )N)r<   r*  r  )r  r.  r  r  r  r<     s    zIPolys.dup_max_normc             C   s   t | || jd | jS )Nr+  )r=   r*  r,  r  )r  r.  r  r  r  r=     s    zIPolys.dmp_max_normc             C   s   t | || jS )N)r>   r*  r  )r  r.  r  r  r  r>     s    zIPolys.dup_l1_normc             C   s   t | || jd | jS )Nr+  )r?   r*  r,  r  )r  r.  r  r  r  r?     s    zIPolys.dmp_l1_normc             C   s   |  ttt| j|| jS )N)r-  r@   listmapr*  r  )r  polysr  r  r  r@     s    zIPolys.dup_expandc             C   s&   |  ttt| j|| jd | jS )Nr+  )r-  rA   r6  r7  r*  r,  r  )r  r8  r  r  r  rA     s    zIPolys.dmp_expandc             C   s   t | || jS )N)rB   r*  r  )r  r.  r  r  r  rB     s    zIPolys.dup_LCc             C   s6   t | || j}t|tr.| dd  |S |S d S )Nr+  )rC   r*  r  r&  r6  r-  )r  r.  LCr  r  r  rC     s    
zIPolys.dmp_LCc             C   s   t | || jS )N)rD   r*  r  )r  r.  r  r  r  rD     s    zIPolys.dup_TCc             C   s6   t | || j}t|tr.| dd  |S |S d S )Nr+  )rE   r*  r  r&  r6  r-  )r  r.  ZTCr  r  r  rE     s    
zIPolys.dmp_TCc             C   s   t | || jd | jS )Nr+  )rF   r*  r,  r  )r  r.  r  r  r  rF     s    zIPolys.dmp_ground_LCc             C   s   t | || jd | jS )Nr+  )rG   r*  r,  r  )r  r.  r  r  r  rG     s    zIPolys.dmp_ground_TCc             C   s   t | |S )N)rH   r*  )r  r.  r  r  r  rH     s    zIPolys.dup_degreec             C   s   t | || jd S )Nr+  )rI   r*  r,  )r  r.  r  r  r  rI     s    zIPolys.dmp_degreec             C   s   t | ||| jd S )Nr+  )rJ   r*  r,  )r  r.  jr  r  r  rJ     s    zIPolys.dmp_degree_inc             C   s   |  t| ||| jS )N)r-  rL   r*  r  )r  r.  mr  r  r  rL     s    zIPolys.dup_integratec             C   s"   |  t| ||| jd | jS )Nr+  )r-  rM   r*  r,  r  )r  r.  r;  r  r  r  rM     s    zIPolys.dmp_integratec             C   s   |  t| ||| jS )N)r-  rO   r*  r  )r  r.  r;  r  r  r  rO     s    zIPolys.dup_diffc             C   s"   |  t| ||| jd | jS )Nr+  )r-  rP   r*  r,  r  )r  r.  r;  r  r  r  rP     s    zIPolys.dmp_diffc             C   s$   |  t| |||| jd | jS )Nr+  )r-  rQ   r*  r,  r  )r  r.  r;  r:  r  r  r  rQ     s    zIPolys.dmp_diff_inc             C   s$   |  t| |||| jd | jS )Nr+  )r-  rN   r*  r,  r  )r  r.  r;  r:  r  r  r  rN     s    zIPolys.dmp_integrate_inc             C   s   t | ||| jS )N)rR   r*  r  )r  r.  ar  r  r  rR     s    zIPolys.dup_evalc             C   s.   t | ||| jd | j}| dd  |S )Nr+  )rS   r*  r,  r  r-  )r  r.  r<  resultr  r  r  rS     s    zIPolys.dmp_evalc             C   s.   t | |||| jd | j}| ||S )Nr+  )rT   r*  r,  r  r  r-  )r  r.  r<  r:  r=  r  r  r  rT     s    zIPolys.dmp_eval_inc             C   s0   t | ||||| jd | j}| ||S )Nr+  )rV   r*  r,  r  r  r-  )r  r.  r;  r<  r:  r=  r  r  r  rV     s     zIPolys.dmp_diff_eval_inc             C   sF   t | ||| jd | j}t|tr>| d t|  |S |S d S )Nr+  )rU   r*  r,  r  r&  r6  lenr-  )r  r.  Ar=  r  r  r  rU     s    
zIPolys.dmp_eval_tailc             C   s   |  t| ||| jS )N)r-  rW   r*  r  )r  r.  pr  r  r  rW     s    zIPolys.dup_truncc             C   s0   |  t| || dd  || jd | jS )Nr+  )r-  rX   r*  r,  r  )r  r.  r2  r  r  r  rX     s    zIPolys.dmp_truncc             C   s"   |  t| ||| jd | jS )Nr+  )r-  rY   r*  r,  r  )r  r.  r@  r  r  r  rY     s    zIPolys.dmp_ground_truncc             C   s   |  t| || jS )N)r-  rZ   r*  r  )r  r.  r  r  r  rZ     s    zIPolys.dup_monicc             C   s    |  t| || jd | jS )Nr+  )r-  r[   r*  r,  r  )r  r.  r  r  r  r[     s    zIPolys.dmp_ground_monicc             C   s6   t | || || j\}}}|| || |fS )N)r`   r*  r  r-  )r  r.  r2  r/  FGr  r  r  r`     s     zIPolys.dup_extractc             C   s>   t | || || jd | j\}}}|| || |fS )Nr+  )ra   r*  r,  r  r-  )r  r.  r2  r/  rA  rB  r  r  r  ra     s    (zIPolys.dmp_ground_extractc             C   s4   t | |d | j\}}| || |fS )Nr+  )rb   r)  r  r*  r  r-  )r  r.  r@  r4  r  r  r  rb     s     zIPolys.dup_real_imagc             C   s   |  t| || jS )N)r-  rc   r*  r  )r  r.  r  r  r  rc     s    zIPolys.dup_mirrorc             C   s   |  t| ||| jS )N)r-  rd   r*  r  )r  r.  r<  r  r  r  rd     s    zIPolys.dup_scalec             C   s   |  t| ||| jS )N)r-  re   r*  r  )r  r.  r<  r  r  r  re     s    zIPolys.dup_shiftc             C   s(   |  t| || || || jS )N)r-  rf   r*  r  )r  r.  r@  r4  r  r  r  rf     s    zIPolys.dup_transformc             C   s    |  t| || || jS )N)r-  rg   r*  r  )r  r.  r2  r  r  r  rg     s    zIPolys.dup_composec             C   s(   |  t| || || jd | jS )Nr+  )r-  rh   r*  r,  r  )r  r.  r2  r  r  r  rh     s    zIPolys.dmp_composec             C   s"   t | || j}tt| j|S )N)ri   r*  r  r6  r7  r-  )r  r.  Z
componentsr  r  r  ri     s    zIPolys.dup_decomposec             C   s(   t | || jd | j}|  |S )Nr+  )rj   r*  r,  r  r  r-  )r  r.  r=  r  r  r  rj     s    zIPolys.dmp_liftc             C   s   t | || jS )N)rk   r*  r  )r  r.  r  r  r  rk     s    zIPolys.dup_sign_variationsFc             C   sD   t | || j|d\}}|r2| j| j d}n| }|||fS )N)convert)r  )rl   r*  r  r  get_ringr-  )r  r.  rC  r/  rA  r'  r  r  r  rl     s
    zIPolys.dup_clear_denomsc             C   sL   t | || jd | j|d\}}|r:| j| j d}n| }|||fS )Nr+  )rC  )r  )rm   r*  r,  r  r  rD  r-  )r  r.  rC  r/  rA  r'  r  r  r  rm     s
    "zIPolys.dmp_clear_denomsc             C   s   |  t| ||| jS )N)r-  rn   r*  r  )r  r.  r1  r  r  r  rn     s    zIPolys.dup_revertc             C   s2   t | || || j\}}| || |fS )N)ro   r*  r  r-  )r  r.  r2  sr3  r  r  r  ro   !  s    zIPolys.dup_half_gcdexc             C   s:   t | || || jd | j\}}| || |fS )Nr+  )rp   r*  r,  r  r-  )r  r.  r2  rE  r3  r  r  r  rp   $  s    &zIPolys.dmp_half_gcdexc             C   s<   t | || || j\}}}| || || |fS )N)rq   r*  r  r-  )r  r.  r2  rE  tr3  r  r  r  rq   '  s     zIPolys.dup_gcdexc             C   sD   t | || || jd | j\}}}| || || |fS )Nr+  )rr   r*  r,  r  r-  )r  r.  r2  rE  rF  r3  r  r  r  rr   *  s    (zIPolys.dmp_gcdexc             C   s    |  t| || || jS )N)r-  rs   r*  r  )r  r.  r2  r  r  r  rs   .  s    zIPolys.dup_invertc             C   s(   |  t| || || jd | jS )Nr+  )r-  rt   r*  r,  r  )r  r.  r2  r  r  r  rt   0  s    zIPolys.dmp_invertc             C   s*   t | || || j}tt| j|S )N)ru   r*  r  r6  r7  r-  )r  r.  r2  prsr  r  r  ru   3  s    zIPolys.dup_euclidean_prsc             C   s2   t | || || jd | j}tt| j|S )Nr+  )rv   r*  r,  r  r6  r7  r-  )r  r.  r2  rG  r  r  r  rv   6  s    "zIPolys.dmp_euclidean_prsc             C   s*   t | || || j}tt| j|S )N)rw   r*  r  r6  r7  r-  )r  r.  r2  rG  r  r  r  rw   9  s    zIPolys.dup_primitive_prsc             C   s2   t | || || jd | j}tt| j|S )Nr+  )rx   r*  r,  r  r6  r7  r-  )r  r.  r2  rG  r  r  r  rx   <  s    "zIPolys.dmp_primitive_prsc             C   s2   t | || || j\}}tt| j||fS )N)ry   r*  r  r6  r7  r-  )r  r.  r2  rG  sresr  r  r  ry   @  s    zIPolys.dup_inner_subresultantsc             C   s:   t | || || jd | j\}}tt| j||fS )Nr+  )r}   r*  r,  r  r6  r7  r-  )r  r.  r2  rG  rH  r  r  r  r}   C  s    &zIPolys.dmp_inner_subresultantsc             C   s*   t | || || j}tt| j|S )N)rz   r*  r  r6  r7  r-  )r  r.  r2  rG  r  r  r  rz   G  s    zIPolys.dup_subresultantsc             C   s2   t | || || jd | j}tt| j|S )Nr+  )r~   r*  r,  r  r6  r7  r-  )r  r.  r2  rG  r  r  r  r~   J  s    "zIPolys.dmp_subresultantsc             C   s2   t | || || j\}}|tt| j|fS )N)r{   r*  r  r6  r7  r-  )r  r.  r2  resrG  r  r  r  r{   N  s    zIPolys.dup_prs_resultantc             C   sH   t | || || jd | j\}}| dd  |tt| j|fS )Nr+  )r   r*  r,  r  r-  r6  r7  )r  r.  r2  rI  rG  r  r  r  r   Q  s    &zIPolys.dmp_prs_resultantc             C   s<   t | || || || jd | j}| dd  |S )Nr+  )r   r*  r"  r,  r  r-  )r  r.  r2  r@  rI  r  r  r  r   U  s    *zIPolys.dmp_zz_modular_resultantc             C   s4   t | || || jd | j}| dd  |S )Nr+  )r   r*  r,  r  r-  )r  r.  r2  rI  r  r  r  r   X  s    "zIPolys.dmp_zz_collins_resultantc             C   s4   t | || || jd | j}| dd  |S )Nr+  )r   r*  r,  r  r-  )r  r.  r2  rI  r  r  r  r   [  s    "zIPolys.dmp_qq_collins_resultantc             C   s   t | || || jS )N)r|   r*  r  )r  r.  r2  r  r  r  r|   _  s    zIPolys.dup_resultantc             C   sF   t | || || jd | j}t|tr>| dd  |S |S d S )Nr+  )r   r*  r,  r  r&  r6  r-  )r  r.  r2  rI  r  r  r  r   a  s    "
zIPolys.dmp_resultantc             C   s   t | || jS )N)r   r*  r  )r  r.  r  r  r  r   h  s    zIPolys.dup_discriminantc             C   s>   t | || jd | j}t|tr6| dd  |S |S d S )Nr+  )r   r*  r,  r  r&  r6  r-  )r  r.  Zdiscr  r  r  r   j  s    
zIPolys.dmp_discriminantc             C   s<   t | || || j\}}}| || || |fS )N)r   r*  r  r-  )r  r.  r2  HrA  rB  r  r  r  r   q  s     zIPolys.dup_rr_prs_gcdc             C   s<   t | || || j\}}}| || || |fS )N)r   r*  r  r-  )r  r.  r2  rJ  rA  rB  r  r  r  r   t  s     zIPolys.dup_ff_prs_gcdc             C   sD   t | || || jd | j\}}}| || || |fS )Nr+  )r   r*  r,  r  r-  )r  r.  r2  rJ  rA  rB  r  r  r  r   w  s    (zIPolys.dmp_rr_prs_gcdc             C   sD   t | || || jd | j\}}}| || || |fS )Nr+  )r   r*  r,  r  r-  )r  r.  r2  rJ  rA  rB  r  r  r  r   z  s    (zIPolys.dmp_ff_prs_gcdc             C   s<   t | || || j\}}}| || || |fS )N)r   r*  r  r-  )r  r.  r2  rJ  rA  rB  r  r  r  r   }  s     zIPolys.dup_zz_heu_gcdc             C   sD   t | || || jd | j\}}}| || || |fS )Nr+  )r   r*  r,  r  r-  )r  r.  r2  rJ  rA  rB  r  r  r  r     s    (zIPolys.dmp_zz_heu_gcdc             C   s<   t | || || j\}}}| || || |fS )N)r   r*  r  r-  )r  r.  r2  rJ  rA  rB  r  r  r  r     s     zIPolys.dup_qq_heu_gcdc             C   sD   t | || || jd | j\}}}| || || |fS )Nr+  )r   r*  r,  r  r-  )r  r.  r2  rJ  rA  rB  r  r  r  r     s    (zIPolys.dmp_qq_heu_gcdc             C   s<   t | || || j\}}}| || || |fS )N)r   r*  r  r-  )r  r.  r2  rJ  rA  rB  r  r  r  r     s     zIPolys.dup_inner_gcdc             C   sD   t | || || jd | j\}}}| || || |fS )Nr+  )r   r*  r,  r  r-  )r  r.  r2  rJ  rA  rB  r  r  r  r     s    (zIPolys.dmp_inner_gcdc             C   s$   t | || || j}| |S )N)r   r*  r  r-  )r  r.  r2  rJ  r  r  r  r     s    zIPolys.dup_gcdc             C   s,   t | || || jd | j}| |S )Nr+  )r   r*  r,  r  r-  )r  r.  r2  rJ  r  r  r  r     s    "zIPolys.dmp_gcdc             C   s$   t | || || j}| |S )N)r   r*  r  r-  )r  r.  r2  rJ  r  r  r  r     s    zIPolys.dup_rr_lcmc             C   s$   t | || || j}| |S )N)r   r*  r  r-  )r  r.  r2  rJ  r  r  r  r     s    zIPolys.dup_ff_lcmc             C   s$   t | || || j}| |S )N)r   r*  r  r-  )r  r.  r2  rJ  r  r  r  r     s    zIPolys.dup_lcmc             C   s,   t | || || jd | j}| |S )Nr+  )r   r*  r,  r  r-  )r  r.  r2  rJ  r  r  r  r     s    "zIPolys.dmp_rr_lcmc             C   s,   t | || || jd | j}| |S )Nr+  )r   r*  r,  r  r-  )r  r.  r2  rJ  r  r  r  r     s    "zIPolys.dmp_ff_lcmc             C   s,   t | || || jd | j}| |S )Nr+  )r   r*  r,  r  r-  )r  r.  r2  rJ  r  r  r  r     s    "zIPolys.dmp_lcmc             C   s   t | || j}|S )N)r\   r*  r  )r  r.  contr  r  r  r\     s    zIPolys.dup_contentc             C   s$   t | || j\}}|| |fS )N)r^   r*  r  r-  )r  r.  rK  primr  r  r  r^     s    zIPolys.dup_primitivec             C   s>   t | || jd | j}t|tr6| dd  |S |S d S )Nr+  )r   r*  r,  r  r&  r6  r-  )r  r.  rK  r  r  r  r     s    
zIPolys.dmp_contentc             C   sV   t | || jd | j\}}t|trD| dd  || |fS || |fS d S )Nr+  )r   r*  r,  r  r&  r6  r-  )r  r.  rK  rL  r  r  r  r     s    
zIPolys.dmp_primitivec             C   s   t | || jd | j}|S )Nr+  )r]   r*  r,  r  )r  r.  rK  r  r  r  r]     s    zIPolys.dmp_ground_contentc             C   s,   t | || jd | j\}}|| |fS )Nr+  )r_   r*  r,  r  r-  )r  r.  rK  rL  r  r  r  r_     s    zIPolys.dmp_ground_primitiveTc       	      C   sf   t | || || j|d}|sF|\}}}}||| || |fS |\}}| || |fS d S )N)include)r   r*  r  r-  )	r  r.  r2  rM  r=  cfcgrA  rB  r  r  r  r     s    zIPolys.dup_cancelc       	      C   sn   t | || || jd | j|d}|sN|\}}}}||| || |fS |\}}| || |fS d S )Nr+  )rM  )r   r*  r,  r  r-  )	r  r.  r2  rM  r=  rN  rO  rA  rB  r  r  r  r     s    &zIPolys.dmp_cancelc                s2   t  |tt j| j} fdd|D S )Nc                s   g | ]\}}  ||fqS r  )r-  ).0r2  k)r  r  r  
<listcomp>  s    z-IPolys.dup_trial_division.<locals>.<listcomp>)r   r*  r6  r7  r  )r  r.  factorsr  )r  r  r     s     zIPolys.dup_trial_divisionc                s:   t  |tt j| jd  j} fdd|D S )Nr+  c                s   g | ]\}}  ||fqS r  )r-  )rP  r2  rQ  )r  r  r  rR    s    z-IPolys.dmp_trial_division.<locals>.<listcomp>)r   r*  r6  r7  r,  r  )r  r.  rS  r  )r  r  r     s    (zIPolys.dmp_trial_divisionc             C   s   t | || jS )N)r   r*  r  )r  r.  r  r  r  r     s    zIPolys.dup_zz_mignotte_boundc             C   s   t | || jd | jS )Nr+  )r   r*  r,  r  )r  r.  r  r  r  r     s    zIPolys.dmp_zz_mignotte_boundc             C   s\   | j }t|||||||||||| j\}}	}
}| || |	| |
| |fS )N)r*  r   r  r-  )r  r;  r.  r2  r3  rE  rF  DrB  rJ  STr  r  r  r     s    2zIPolys.dup_zz_hensel_stepc             C   s6   | j }t|||tt|||| j}tt| j|S )N)r*  r   r6  r7  r  r-  )r  r@  r.  Zf_listlrT  r8  r  r  r  r     s     zIPolys.dup_zz_hensel_liftc                s$   t  | j} fdd|D S )Nc                s   g | ]\}}  ||fqS r  )r-  )rP  r2  rQ  )r  r  r  rR    s    z,IPolys.dup_zz_zassenhaus.<locals>.<listcomp>)r   r*  r  )r  r.  rS  r  )r  r  r     s    zIPolys.dup_zz_zassenhausc             C   s   t | || jS )N)r   r*  r  )r  r.  r  r  r  r     s    zIPolys.dup_zz_irreducible_pc             C   s   t | || j|dS )N)irreducible)r   r*  r  )r  r.  rX  r  r  r  r     s    zIPolys.dup_cyclotomic_pc             C   s   t || j}| |S )N)r   r  r-  )r  r1  rA  r  r  r  r     s    zIPolys.dup_zz_cyclotomic_polyc             C   s2   t | || j}|d kr|S tt| j|S d S )N)r   r*  r  r6  r7  r-  )r  r.  r=  r  r  r  r     s    zIPolys.dup_zz_cyclotomic_factorc             C   s   t |||| jS )N)r   r  )r  EcsZctr  r  r  r     s    zIPolys.dmp_zz_wang_non_divisorsc       
   	      s   | dd    fdd|D }| d d }t t|j|}t| ||||||| jd | j\}}}	| |t t|j|t t j|	fS )Nr+  c                s   g | ]\}}  ||fqS r  )r*  )rP  rF  rQ  )mvr  r  rR    s    z2IPolys.dmp_zz_wang_lead_coeffs.<locals>.<listcomp>)r6  r7  r*  r   r,  r  r-  )
r  r.  rV  rZ  rY  rJ  r?  uvZHHZCCr  )r[  r  r     s    *zIPolys.dmp_zz_wang_lead_coeffsc             C   s,   t tt| j|||| j}tt| j|S )N)r   r6  r7  r*  r  r-  )r  rA  r;  r@  r=  r  r  r  r     s    zIPolys.dup_zz_diophantinec             C   s>   t tt| j|| ||||| jd | j}tt| j|S )Nr+  )r   r6  r7  r*  r,  r  r-  )r  rA  r/  r?  r#  r@  r=  r  r  r  r     s    .zIPolys.dmp_zz_diophantinec       	      C   sj   | d d }| dd  }t t|j|}t t|j|}t| |||||| jd | j}t t| j|S )Nr+  )r6  r7  r*  r   r,  r  r-  )	r  r.  rJ  r9  r?  r@  r\  r[  r=  r  r  r  r     s    "z!IPolys.dmp_zz_wang_hensel_liftingc                s2   t  | jd  j||d} fdd|D S )Nr+  )modseedc                s   g | ]}  |qS r  )r-  )rP  r2  )r  r  r  rR  !  s    z&IPolys.dmp_zz_wang.<locals>.<listcomp>)r   r*  r,  r  )r  r.  r]  r^  rS  r  )r  r  r     s     zIPolys.dmp_zz_wangc                s,   t  | j\}}| fdd|D fS )Nc                s   g | ]}  |qS r  )r-  )rP  r2  )r  r  r  rR  %  s    z,IPolys.dup_zz_factor_sqf.<locals>.<listcomp>)r   r*  r  )r  r.  coeffrS  r  )r  r  r   #  s    zIPolys.dup_zz_factor_sqfc                s,   t  | j\}}| fdd|D fS )Nc                s   g | ]\}}  ||fqS r  )r-  )rP  r2  rQ  )r  r  r  rR  )  s    z(IPolys.dup_zz_factor.<locals>.<listcomp>)r   r*  r  )r  r.  r_  rS  r  )r  r  r   '  s    zIPolys.dup_zz_factorc                s4   t  | jd  j\}}| fdd|D fS )Nr+  c                s   g | ]\}}  ||fqS r  )r-  )rP  r2  rQ  )r  r  r  rR  ,  s    z(IPolys.dmp_zz_factor.<locals>.<listcomp>)r   r*  r,  r  )r  r.  r_  rS  r  )r  r  r   *  s    zIPolys.dmp_zz_factorc                s,   t  | j\}}| fdd|D fS )Nc                s   g | ]\}}  ||fqS r  )r-  )rP  r2  rQ  )r  r  r  rR  0  s    z)IPolys.dup_ext_factor.<locals>.<listcomp>)r   r*  r  )r  r.  r_  rS  r  )r  r  r   .  s    zIPolys.dup_ext_factorc                s4   t  | jd  j\}}| fdd|D fS )Nr+  c                s   g | ]\}}  ||fqS r  )r-  )rP  r2  rQ  )r  r  r  rR  3  s    z)IPolys.dmp_ext_factor.<locals>.<listcomp>)r   r*  r,  r  )r  r.  r_  rS  r  )r  r  r   1  s    zIPolys.dmp_ext_factorc                s,   t  | j\}}| fdd|D fS )Nc                s   g | ]\}}  ||fqS r  )r-  )rP  r2  rQ  )r  r  r  rR  7  s    z(IPolys.dup_gf_factor.<locals>.<listcomp>)r   r*  r  )r  r.  r_  rS  r  )r  r  r   5  s    zIPolys.dup_gf_factorc                s4   t  | jd  j\}}| fdd|D fS )Nr+  c                s   g | ]\}}  ||fqS r  )r-  )rP  r2  rQ  )r  r  r  rR  :  s    z(IPolys.dmp_gf_factor.<locals>.<listcomp>)r   r*  r,  r  )r  r.  r_  rS  r  )r  r  r   8  s    zIPolys.dmp_gf_factorc                s,   t  | j\}}| fdd|D fS )Nc                s   g | ]\}}  ||fqS r  )r-  )rP  r2  rQ  )r  r  r  rR  >  s    z*IPolys.dup_factor_list.<locals>.<listcomp>)r   r*  r  )r  r.  r_  rS  r  )r  r  r   <  s    zIPolys.dup_factor_listc                s$   t  | j} fdd|D S )Nc                s   g | ]\}}  ||fqS r  )r-  )rP  r2  rQ  )r  r  r  rR  A  s    z2IPolys.dup_factor_list_include.<locals>.<listcomp>)r   r*  r  )r  r.  rS  r  )r  r  r   ?  s    zIPolys.dup_factor_list_includec                s4   t  | jd  j\}}| fdd|D fS )Nr+  c                s   g | ]\}}  ||fqS r  )r-  )rP  r2  rQ  )r  r  r  rR  E  s    z*IPolys.dmp_factor_list.<locals>.<listcomp>)r   r*  r,  r  )r  r.  r_  rS  r  )r  r  r   C  s    zIPolys.dmp_factor_listc                s,   t  | jd  j} fdd|D S )Nr+  c                s   g | ]\}}  ||fqS r  )r-  )rP  r2  rQ  )r  r  r  rR  H  s    z2IPolys.dmp_factor_list_include.<locals>.<listcomp>)r   r*  r,  r  )r  r.  rS  r  )r  r  r   F  s    zIPolys.dmp_factor_list_includec             C   s   t | || jS )N)r   r*  r  )r  r.  r  r  r  r   J  s    zIPolys.dup_irreducible_pc             C   s   t | || jd | jS )Nr+  )r   r*  r,  r  )r  r.  r  r  r  r   L  s    zIPolys.dmp_irreducible_pc             C   s"   t | || j}tt| j|S )N)r   r*  r  r6  r7  r-  )r  r.  seqr  r  r  r   O  s    zIPolys.dup_sturmc             C   s   t | || jS )N)r   r*  r  )r  r.  r  r  r  r   S  s    zIPolys.dup_sqf_pc             C   s   t | || jd | jS )Nr+  )r   r*  r,  r  )r  r.  r  r  r  r   U  s    zIPolys.dmp_sqf_pc             C   s2   t | || j\}}}|| ||  |fS )N)r   r*  r  r-  r  )r  r.  rE  rA  Rr  r  r  r   X  s    zIPolys.dup_sqf_normc             C   s:   t | || jd | j\}}}|| ||  |fS )Nr+  )r   r*  r,  r  r-  r  )r  r.  rE  rA  ra  r  r  r  r   [  s     zIPolys.dmp_sqf_normc             C   s   |  t| || jS )N)r-  r   r*  r  )r  r.  r  r  r  r   _  s    zIPolys.dup_gf_sqf_partc             C   s   |  t| || jS )N)r-  r   r*  r  )r  r.  r  r  r  r   a  s    zIPolys.dmp_gf_sqf_partc             C   s   |  t| || jS )N)r-  r   r*  r  )r  r.  r  r  r  r   c  s    zIPolys.dup_sqf_partc             C   s    |  t| || jd | jS )Nr+  )r-  r   r*  r,  r  )r  r.  r  r  r  r   e  s    zIPolys.dmp_sqf_partc                s0   t  | j|d\}}| fdd|D fS )N)allc                s   g | ]\}}  ||fqS r  )r-  )rP  r2  rQ  )r  r  r  rR  j  s    z*IPolys.dup_gf_sqf_list.<locals>.<listcomp>)r   r*  r  )r  r.  rb  r_  rS  r  )r  r  r   h  s    zIPolys.dup_gf_sqf_listc                s8   t  | jd  j|d\}}| fdd|D fS )Nr+  )rb  c                s   g | ]\}}  ||fqS r  )r-  )rP  r2  rQ  )r  r  r  rR  m  s    z*IPolys.dmp_gf_sqf_list.<locals>.<listcomp>)r   r*  r,  r  )r  r.  rb  r_  rS  r  )r  r  r   k  s    "zIPolys.dmp_gf_sqf_listc                s0   t  | j|d\}}| fdd|D fS )N)rb  c                s   g | ]\}}  ||fqS r  )r-  )rP  r2  rQ  )r  r  r  rR  q  s    z'IPolys.dup_sqf_list.<locals>.<listcomp>)r   r*  r  )r  r.  rb  r_  rS  r  )r  r  r   o  s    zIPolys.dup_sqf_listc                s(   t  | j|d} fdd|D S )N)rb  c                s   g | ]\}}  ||fqS r  )r-  )rP  r2  rQ  )r  r  r  rR  t  s    z/IPolys.dup_sqf_list_include.<locals>.<listcomp>)r   r*  r  )r  r.  rb  rS  r  )r  r  r   r  s    zIPolys.dup_sqf_list_includec                s8   t  | jd  j|d\}}| fdd|D fS )Nr+  )rb  c                s   g | ]\}}  ||fqS r  )r-  )rP  r2  rQ  )r  r  r  rR  w  s    z'IPolys.dmp_sqf_list.<locals>.<listcomp>)r   r*  r,  r  )r  r.  rb  r_  rS  r  )r  r  r   u  s    "zIPolys.dmp_sqf_listc                s0   t  | jd  j|d} fdd|D S )Nr+  )rb  c                s   g | ]\}}  ||fqS r  )r-  )rP  r2  rQ  )r  r  r  rR  z  s    z/IPolys.dmp_sqf_list_include.<locals>.<listcomp>)r   r*  r,  r  )r  r.  rb  rS  r  )r  r  r   x  s    zIPolys.dmp_sqf_list_includec                s$   t  | j} fdd|D S )Nc                s   g | ]\}}  ||fqS r  )r-  )rP  r2  rQ  )r  r  r  rR  ~  s    z'IPolys.dup_gff_list.<locals>.<listcomp>)r   r*  r  )r  r.  rS  r  )r  r  r   |  s    zIPolys.dup_gff_listc                s,   t  | jd  j} fdd|D S )Nr+  c                s   g | ]\}}  ||fqS r  )r-  )rP  r2  rQ  )r  r  r  rR    s    z'IPolys.dmp_gff_list.<locals>.<listcomp>)r   r*  r,  r  )r  r.  rS  r  )r  r  r     s    zIPolys.dmp_gff_listc             C   s   t | || jS )N)r   r*  r  )r  r.  r  r  r  r     s    zIPolys.dup_root_upper_boundc             C   s   t | || jS )N)r   r*  r  )r  r.  r  r  r  r     s    zIPolys.dup_root_lower_boundc             C   s   t | ||| j|dS )N)fast)r   r*  r  )r  r.  Mrc  r  r  r  r     s    z IPolys.dup_step_refine_real_rootc          
   C   s    t | ||| j|||||dS )N)epsstepsdisjointrc  mobius)r   r*  r  )r  r.  rd  re  rf  rg  rc  rh  r  r  r  r     s    z!IPolys.dup_inner_refine_real_rootc          
   C   s    t | |||| j||||dS )N)re  rf  rg  rc  )r   r*  r  )r  r.  rE  rF  re  rf  rg  rc  r  r  r  r     s    z!IPolys.dup_outer_refine_real_rootc          
   C   s    t | |||| j||||dS )N)re  rf  rg  rc  )r   r*  r  )r  r.  rE  rF  re  rf  rg  rc  r  r  r  r     s    zIPolys.dup_refine_real_rootc             C   s   t | || j||dS )N)re  rc  )r   r*  r  )r  r.  re  rc  r  r  r  r     s    z#IPolys.dup_inner_isolate_real_rootsc          	   C   s   t | || j|||||dS )N)re  infsuprc  rh  )r   r*  r  )r  r.  re  ri  rj  rc  rh  r  r  r  r     s    z'IPolys.dup_inner_isolate_positive_rootsc          	   C   s   t | || j|||||dS )N)ri  rj  re  rc  rh  )r   r*  r  )r  r.  ri  rj  re  rc  rh  r  r  r  r     s    z'IPolys.dup_inner_isolate_negative_rootsc          	   C   s   t | || j|||||dS )N)re  ri  rj  rc  blackbox)r   r*  r  )r  r.  re  ri  rj  rc  rk  r  r  r  r     s    z!IPolys.dup_isolate_real_roots_sqfc          	   C   s   t | || j|||||dS )N)re  ri  rj  basisrc  )r   r*  r  )r  r.  re  ri  rj  rl  rc  r  r  r  r     s    zIPolys.dup_isolate_real_rootsc          
   C   s&   t tt| j|| j||||||dS )N)re  ri  rj  strictrl  rc  )r   r6  r7  r*  r  )r  r8  re  ri  rj  rm  rl  rc  r  r  r  r     s    z"IPolys.dup_isolate_real_roots_listc             C   s   t | || j||dS )N)ri  rj  )r   r*  r  )r  r.  ri  rj  r  r  r  r     s    zIPolys.dup_count_real_rootsc             C   s   t | || j|||dS )N)ri  rj  exclude)r   r*  r  )r  r.  ri  rj  rn  r  r  r  r     s    zIPolys.dup_count_complex_rootsc             C   s   t | || j||||dS )N)re  ri  rj  rk  )r   r*  r  )r  r.  re  ri  rj  rk  r  r  r  r     s    z$IPolys.dup_isolate_complex_roots_sqfc          	   C   s   t | || j|||||dS )N)re  ri  rj  rc  rk  )r   r*  r  )r  r.  re  ri  rj  rc  rk  r  r  r  r     s    z IPolys.dup_isolate_all_roots_sqfc             C   s   t | || j||||dS )N)re  ri  rj  rc  )r   r*  r  )r  r.  re  ri  rj  rc  r  r  r  r     s    zIPolys.dup_isolate_all_rootsc             C   s*   ddl m} tt| j|| jd | jS )Nr   )dmp_fateman_poly_F_1r+  )sympy.polys.specialpolysro  tupler7  r-  r,  r  )r  ro  r  r  r  fateman_poly_F_1  s    zIPolys.fateman_poly_F_1c             C   s*   ddl m} tt| j|| jd | jS )Nr   )dmp_fateman_poly_F_2r+  )rp  rs  rq  r7  r-  r,  r  )r  rs  r  r  r  fateman_poly_F_2  s    zIPolys.fateman_poly_F_2c             C   s*   ddl m} tt| j|| jd | jS )Nr   )dmp_fateman_poly_F_3r+  )rp  ru  rq  r7  r-  r,  r  )r  ru  r  r  r  fateman_poly_F_3  s    zIPolys.fateman_poly_F_3c                s    t  fdd | D S )Nc                s   g | ]} j j| j qS r  )r  domrC  )rP  r/  )r  r  r  rR    s    z&IPolys.to_gf_dense.<locals>.<listcomp>)r   r)  r*  )r  r   r  )r  r  to_gf_dense  s    zIPolys.to_gf_densec             C   s   |  t|| jd | jjS )Nr+  )r$  rK   r,  r  rw  )r  r   r  r  r  from_gf_dense  s    zIPolys.from_gf_densec             C   s   t | |S )N)r   rx  )r  r.  r  r  r  r     s    zIPolys.gf_degreec             C   s   t | || jjS )N)r   rx  r  rw  )r  r.  r  r  r  r     s    zIPolys.gf_LCc             C   s   t | || jjS )N)r   rx  r  rw  )r  r.  r  r  r  r     s    zIPolys.gf_TCc             C   s   |  t| |S )N)ry  r   rx  )r  r.  r  r  r  r     s    zIPolys.gf_stripc             C   s   |  t| || jjS )N)ry  r   rx  r  r]  )r  r.  r  r  r  gf_trunc  s    zIPolys.gf_truncc             C   s    |  t| || jj| jjS )N)ry  r   rx  r  r]  rw  )r  r.  r  r  r  	gf_normal  s    zIPolys.gf_normalc             C   s   |  t|| jj| jjS )N)ry  r   r  r]  rw  )r  r.  r  r  r  r     s    zIPolys.gf_from_dictc             C   s   t | || jj|dS )N)	symmetric)r   rx  r  r]  )r  r.  r|  r  r  r  r     s    zIPolys.gf_to_dictc             C   s   |  t|| jjS )N)ry  r   r  r]  )r  r.  r  r  r  r     s    zIPolys.gf_from_int_polyc             C   s   t | || jj|dS )N)r|  )r   rx  r  r]  )r  r.  r|  r  r  r  r     s    zIPolys.gf_to_int_polyc             C   s    |  t| || jj| jjS )N)ry  r   rx  r  r]  rw  )r  r.  r  r  r  r     s    zIPolys.gf_negc             C   s"   |  t| ||| jj| jjS )N)ry  r   rx  r  r]  rw  )r  r.  r<  r  r  r  r     s    zIPolys.gf_add_groundc             C   s"   |  t| ||| jj| jjS )N)ry  r   rx  r  r]  rw  )r  r.  r<  r  r  r  r     s    zIPolys.gf_sub_groundc             C   s"   |  t| ||| jj| jjS )N)ry  r   rx  r  r]  rw  )r  r.  r<  r  r  r  r     s    zIPolys.gf_mul_groundc             C   s"   |  t| ||| jj| jjS )N)ry  r   rx  r  r]  rw  )r  r.  r<  r  r  r  r     s    zIPolys.gf_quo_groundc             C   s(   |  t| || || jj| jjS )N)ry  r   rx  r  r]  rw  )r  r.  r2  r  r  r  r     s    zIPolys.gf_addc             C   s(   |  t| || || jj| jjS )N)ry  r   rx  r  r]  rw  )r  r.  r2  r  r  r  r     s    zIPolys.gf_subc             C   s(   |  t| || || jj| jjS )N)ry  r   rx  r  r]  rw  )r  r.  r2  r  r  r  r     s    zIPolys.gf_mulc             C   s    |  t| || jj| jjS )N)ry  r   rx  r  r]  rw  )r  r.  r  r  r  r     s    zIPolys.gf_sqrc             C   s0   |  t| || || || jj| jjS )N)ry  r   rx  r  r]  rw  )r  r.  r2  r3  r  r  r  r     s    zIPolys.gf_add_mulc             C   s0   |  t| || || || jj| jjS )N)ry  r   rx  r  r]  rw  )r  r.  r2  r3  r  r  r  r     s    zIPolys.gf_sub_mulc             C   s&   |  ttt| j|| jj| jjS )N)ry  r   r6  r7  rx  r  r]  rw  )r  rA  r  r  r  r     s    zIPolys.gf_expandc             C   s:   t | || || jj| jj\}}| || |fS )N)r   rx  r  r]  rw  ry  )r  r.  r2  r4  r5  r  r  r  r     s    &zIPolys.gf_divc             C   s(   |  t| || || jj| jjS )N)ry  r   rx  r  r]  rw  )r  r.  r2  r  r  r  r     s    zIPolys.gf_remc             C   s(   |  t| || || jj| jjS )N)ry  r   rx  r  r]  rw  )r  r.  r2  r  r  r  r     s    zIPolys.gf_quoc             C   s(   |  t| || || jj| jjS )N)ry  r   rx  r  r]  rw  )r  r.  r2  r  r  r  r     s    zIPolys.gf_exquoc             C   s   |  t| ||| jjS )N)ry  r   rx  r  rw  )r  r.  r1  r  r  r  r     s    zIPolys.gf_lshiftc             C   s   |  t| ||| jjS )N)ry  r   rx  r  rw  )r  r.  r1  r  r  r  r     s    zIPolys.gf_rshiftc             C   s"   |  t| ||| jj| jjS )N)ry  r   rx  r  r]  rw  )r  r.  r1  r  r  r  r     s    zIPolys.gf_powc             C   s*   |  t| ||| || jj| jjS )N)ry  r   rx  r  r]  rw  )r  r.  r1  r2  r  r  r  r     s    zIPolys.gf_pow_modc             C   sD   t | || || jj| jj\}}}| || || |fS )N)r   rx  r  r]  rw  ry  )r  r.  r2  r3  ZcffZcfgr  r  r  r     s    (zIPolys.gf_cofactorsc             C   s(   |  t| || || jj| jjS )N)ry  r   rx  r  r]  rw  )r  r.  r2  r  r  r  r     s    zIPolys.gf_gcdc             C   s(   |  t| || || jj| jjS )N)ry  r   rx  r  r]  rw  )r  r.  r2  r  r  r  r     s    zIPolys.gf_lcmc             C   s(   |  t| || || jj| jjS )N)ry  r   rx  r  r]  rw  )r  r.  r2  r  r  r  r     s    zIPolys.gf_gcdexc             C   s    |  t| || jj| jjS )N)ry  r   rx  r  r]  rw  )r  r.  r  r  r  r     s    zIPolys.gf_monicc             C   s    |  t| || jj| jjS )N)ry  r   rx  r  r]  rw  )r  r.  r  r  r  r     s    zIPolys.gf_diffc             C   s   t | ||| jj| jjS )N)r   rx  r  r]  rw  )r  r.  r<  r  r  r  r     s    zIPolys.gf_evalc             C   s   t | ||| jj| jjS )N)r   rx  r  r]  rw  )r  r.  r?  r  r  r  r     s    zIPolys.gf_multi_evalc             C   s(   |  t| || || jj| jjS )N)ry  r   rx  r  r]  rw  )r  r.  r2  r  r  r  r     s    zIPolys.gf_composec             C   s0   |  t| || || || jj| jjS )N)ry  r  rx  r  r]  rw  )r  r2  r3  r.  r  r  r  r    s    zIPolys.gf_compose_modc             C   s\   |  |}|  |}|  |}|  |}t|||||| jj| jj\}}| || |fS )N)rx  r  r  r]  rw  ry  )r  r<  br/  r1  r.  UVr  r  r  r    s    



 zIPolys.gf_trace_mapc             C   s   |  t|| jj| jjS )N)ry  r  r  r]  rw  )r  r1  r  r  r  r  "  s    zIPolys.gf_randomc             C   s   |  t|| jj| jjS )N)ry  r  r  r]  rw  )r  r1  r  r  r  r  $  s    zIPolys.gf_irreduciblec             C   s   t | || jj| jjS )N)r  rx  r  r]  rw  )r  r.  r  r  r  r  '  s    zIPolys.gf_irred_p_ben_orc             C   s   t | || jj| jjS )N)r  rx  r  r]  rw  )r  r.  r  r  r  r  )  s    zIPolys.gf_irred_p_rabinc             C   s   t | || jj| jjS )N)r  rx  r  r]  rw  )r  r.  r  r  r  r  +  s    zIPolys.gf_irreducible_pc             C   s   t | || jj| jjS )N)r  rx  r  r]  rw  )r  r.  r  r  r  r  -  s    zIPolys.gf_sqf_pc             C   s    |  t| || jj| jjS )N)ry  r	  rx  r  r]  rw  )r  r.  r  r  r  r	  0  s    zIPolys.gf_sqf_partc                s8   t  | jj jj|d\}}| fdd|D fS )N)rb  c                s   g | ]\}}  ||fqS r  )ry  )rP  r2  rQ  )r  r  r  rR  4  s    z&IPolys.gf_sqf_list.<locals>.<listcomp>)r	  rx  r  r]  rw  )r  r.  rb  r_  rS  r  )r  r  gf_sqf_list2  s    "zIPolys.gf_sqf_listc             C   s   t | || jj| jjS )N)r
  rx  r  r]  rw  )r  r.  r  r  r  r
  6  s    zIPolys.gf_Qmatrixc                s,   t  | jj jj} fdd|D S )Nc                s   g | ]}  |qS r  )ry  )rP  r2  )r  r  r  rR  :  s    z'IPolys.gf_berlekamp.<locals>.<listcomp>)r  rx  r  r]  rw  )r  r.  rS  r  )r  r  r  8  s    zIPolys.gf_berlekampc                s,   t  | jj jj} fdd|D S )Nc                s   g | ]\}}  ||fqS r  )ry  )rP  r2  rQ  )r  r  r  rR  >  s    z,IPolys.gf_ddf_zassenhaus.<locals>.<listcomp>)r  rx  r  r]  rw  )r  r.  rS  r  )r  r  r  <  s    zIPolys.gf_ddf_zassenhausc                s,   t  | jj jj} fdd|D S )Nc                s   g | ]}  |qS r  )ry  )rP  r2  )r  r  r  rR  A  s    z,IPolys.gf_edf_zassenhaus.<locals>.<listcomp>)r  rx  r  r]  rw  )r  r.  r1  rS  r  )r  r  r  ?  s    zIPolys.gf_edf_zassenhausc                s,   t  | jj jj} fdd|D S )Nc                s   g | ]\}}  ||fqS r  )ry  )rP  r2  rQ  )r  r  r  rR  E  s    z'IPolys.gf_ddf_shoup.<locals>.<listcomp>)r  rx  r  r]  rw  )r  r.  rS  r  )r  r  r  C  s    zIPolys.gf_ddf_shoupc                s,   t  | jj jj} fdd|D S )Nc                s   g | ]}  |qS r  )ry  )rP  r2  )r  r  r  rR  H  s    z'IPolys.gf_edf_shoup.<locals>.<listcomp>)r  rx  r  r]  rw  )r  r.  r1  rS  r  )r  r  r  F  s    zIPolys.gf_edf_shoupc                s,   t  | jj jj} fdd|D S )Nc                s   g | ]}  |qS r  )ry  )rP  r2  )r  r  r  rR  L  s    z(IPolys.gf_zassenhaus.<locals>.<listcomp>)r  rx  r  r]  rw  )r  r.  rS  r  )r  r  r  J  s    zIPolys.gf_zassenhausc                s,   t  | jj jj} fdd|D S )Nc                s   g | ]}  |qS r  )ry  )rP  r2  )r  r  r  rR  O  s    z#IPolys.gf_shoup.<locals>.<listcomp>)r  rx  r  r]  rw  )r  r.  rS  r  )r  r  r  M  s    zIPolys.gf_shoupc                s8   t  | jj jj|d\}}| fdd|D fS )N)methodc                s   g | ]}  |qS r  )ry  )rP  r2  )r  r  r  rR  S  s    z(IPolys.gf_factor_sqf.<locals>.<listcomp>)r  rx  r  r]  rw  )r  r.  r  r_  rS  r  )r  r  r  Q  s    "zIPolys.gf_factor_sqfc                s4   t  | jj jj\}}| fdd|D fS )Nc                s   g | ]\}}  ||fqS r  )ry  )rP  r2  rQ  )r  r  r  rR  V  s    z$IPolys.gf_factor.<locals>.<listcomp>)r  rx  r  r]  rw  )r  r.  r_  rS  r  )r  r  r  T  s    zIPolys.gf_factor)NNN)F)F)T)T)F)NN)F)F)F)F)F)F)F)NNNFF)NNNF)NNNF)NF)NNNFF)NNNFF)NNNFF)NNNFF)NNNFFF)NN)NNN)NNNF)NNNFF)NNNF)T)T)F)N((  __name__
__module____qualname__r  r,  r  r  Zgensr  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   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rL   rM   rO   rP   rQ   rN   rR   rS   rT   rV   rU   rW   rX   rY   rZ   r[   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   r}   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   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   rr  rt  rv  rx  ry  r   r   r   r   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     sJ  

		r  N(   __doc__Z
__future__r   r   Zsympy.polys.densearithr   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:   r;   r<   r=   r>   r?   r@   rA   Zsympy.polys.densebasicrB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   Zsympy.polys.densetoolsrL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   Zsympy.polys.euclidtoolsro   rp   rq   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   Zsympy.polys.factortoolsr   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   Zsympy.polys.rootisolationr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Zsympy.polys.sqfreetoolsr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Zsympy.polys.galoistoolsr   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  Zsympy.utilitiesr  objectr  r  r  r  r  <module>   s  H Y