+
    i                    2   R t ^ RIHt ^ RIHt ]'       d   ^ RIHt ^ RIHt ^ RI	H
t
 ^ RIHt ^ RIHt ^ RIHt ^ R	IHt ^ R
IHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIH t  ^ RIH!t! ^ RIH"t" ^ RIH#t# ^ RIH$t$ ^ RIH%t% ^ RIH&t& ^ R IH't' ^ R!IH(t( ^ R"IH)t) ^ R#IH*t* ^ R$IH+t+ ^ R%IH,t, ^ R&IH-t- ^ R'IH.t. ^ R(IH/t/ ^ R)IH0t0 ^ R*IH1t1 ^ R+IH2t2 ^ R,IH3t3 ^ R-IH4t4 ^ R.IH5t5 ^ R/IH6t6 ^ R0IH7t7 ^ R1IH8t8 ^ R2IH9t9 ^ R3IH:t: ^ R4IH;t; ^ R5IH<t< ^ R6IH=t= ^ R7IH>t> ^ R8IH?t? ^ R9IH@t@ ^ R:IHAtA ^ R;IHBtB ^ R<IHCtC ^ R=IHDtD ^ R>IHEtE ^ R?IHFtF ^ R@IHGtG ^ RAIHHtH ^ RBIHItI ^ RCIHJtJ ^ RDIHKtK ^ REIHLtL ^ RFIHMtM ^ RGINHOtO ^ RHINHPtP ^ RIINHQtQ ^ RJINHRtR ^ RKINHStS ^ RLINHTtT ^ RMINHUtU ^ RNINHVtV ^ ROINHWtW ^ RPINHXtX ^ RQIYHZtZ ^ RRIYH[t[ ^ RSIYH\t\ ^ RTIYH]t] ^ RUIYH^t^ ^ RVIYH_t_ ^ RWIYH`t` ^ RXIYHata ^ RYIYHbtb ^ RZIYHctc ^ R[IYHdtd ^ R\IYHete ^ R]IYHftf ^ R^IYHgtg ^ R_IYHhth ^ R`IYHiti ^ RaIYHjtj ^ RbIYHktk ^ RcIYHltl ^ RdIYHmtm ^ ReIYHntn ^ RfIYHoto ^ RgIYHptp ^ RhIYHqtq ^ RiIYHrtr ^ RjIYHsts ^ RkIYHttt ^ RlIYHutu ^ RmIYHvtv ^ RnIYHwtw ^ RoIYHxtx ^ RpIYHyty ^ RqIYHztz ^ RrIYH{t{ ^ RsIYH|t| ^ RtIYH}t} ^ RuI~Ht ^ RvI~Ht ^ RwI~Ht ^ RxI~Ht ^ RyI~Ht ^ RzI~Ht ^ R{I~Ht ^ R|I~Ht ^ R}I~Ht ^ R~I~Ht ^ RI~Ht ^ RI~Ht ^ RI~Ht ^ RI~Ht ^ RI~Ht ^ RI~Ht ^ RI~Ht ^ RI~Ht ^ RI~Ht ^ RI~Ht ^ RI~Ht ^ RI~Ht ^ RI~Ht ^ RI~Ht ^ RI~Ht ^ RI~Ht ^ RI~Ht ^ RI~Ht ^ RI~Ht ^ RI~Ht ^ RI~Ht ^ RI~Ht ^ RI~Ht ^ RI~Ht ^ RI~Ht ^ RI~Ht ^ RI~Ht ^ RI~Ht ^ RI~Ht ^ RI~Ht ^ RI~Ht ^ RI~Ht ^ RI~Ht ^ RI~Ht ^ RI~Ht ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHt ^ RIHtHtHtHtHtHtHtHtHtHtHtEH Et EHEtEHEtEHEtEHEtEHEtEHEtEHEtEHEtEH	Et	EH
Et
EHEtEHEtEHEtEHEtEHEtEHEtEHEtEHEtEHEtEHEtEHEtEHEtEHEtEHEtEHEtEHEtEHEtEHEtEHEtEHEtEHEtEH Et EH!Et!EH"Et"EH#Et#EH$Et$EH%Et%EH&Et&EH'Et'EH(Et(EH)Et)EH*Et*EH+Et+EH,Et, ^ REI-EH.Et. E]. ! R R4      4       Et/R# )z8Compatibility interface between dense and sparse polys. )annotations)TYPE_CHECKING)Expr)Domain)MonomialOrderPolyElement)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_l2_norm_squared)dmp_l2_norm_squared)
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)	dmp_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_qq_i_factor)dup_zz_i_factor)dmp_qq_i_factor)dmp_zz_i_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dmp_norm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                     ] tR t^t$ R]R&   R]R&   R]R&   R]R&   R	]R
&   R tER5R ltR tR tR t	R t
R tR tR tR tR tR tR tR tR tR tR tR tR tR tR  tR! tR" tR# tR$ tR% tR& tR' t R( t!R) t"R* t#R+ t$R, t%R- t&R. t'R/ t(R0 t)R1 t*R2 t+R3 t,R4 t-R5 t.R6 t/R7 t0R8 t1R9 t2R: t3R; t4R< t5R= t6R> t7R? t8R@ t9RA t:RB t;RC t<RD t=RE t>RF t?RG t@RH tARI tBRJ tCRK tDRL tERM tFRN tGRO tHRP tIRQ tJRR tKRS tLRT tMRU tNRV tORW tPRX tQRY tRRZ tSR[ tTR\ tUR] tVR^ tWR_ tXR` tYRa tZRb t[Rc t\Rd t]Re t^Rf t_Rg t`Rh taRi tbRj tcRk tdRl teRm tfRn tgRo thRp tiRq tjRr tkRs tlRt tmRu tnRv toRw tpRx tqRy trRz tsER6R{ lttER6R| ltuR} tvR~ twR txR tyR tzR t{R t|R t}R t~R tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tER7R ltER7R ltR tR tR tR tR tR tR tR tER6R ltR tR tR tR tR tR tR tER8R ltR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tER6R ltER6R ltER6R ltER6R ltER6R ltER6R ltR tR tR tR tER6R ltER9R ltER:R ltER:R ltER;R ltER9R ltER9R ltER9R ltER9R ltER<R ltER8R ltER5R ltER:R ltER9R ltER:R ltR tR tR tR tR tR tR tR tR tR tR tR tER7ER  ltER tER7ER ltER tER tER tER tER Et ER EtER	 EtER
 EtER EtER EtER EtER EtER EtER Et	ER Et
ER EtER EtER EtER EtER EtER EtER EtER EtER EtER EtER EtER EtER EtER EtER  EtER! EtER" EtER# EtER$ EtER% EtER& EtER' Et ER( Et!ER6ER) lEt"ER* Et#ER+ Et$ER, Et%ER- Et&ER. Et'ER/ Et(ER0 Et)ER1 Et*ER=ER2 lEt+ER3 Et,ER4Et-R# (>  IPolysztuple[PolyElement, ...]gensztuple[Expr, ...]symbolsintngensr   domainr   orderc                	    R # N )selfgens   &&y/Users/tonyclaw/.openclaw/workspace/skills/math-calculator/venv/lib/python3.14/site-packages/sympy/polys/compatibility.pydropIPolys.drop           Nc                	    R # r+  r,  )r-  r%  r(  r)  s   &&&&r/  cloneIPolys.clone   r2  r3  c                	    R # r+  r,  )r-  s   &r/  	to_groundIPolys.to_ground   r2  r3  c                	    R # r+  r,  r-  elements   &&r/  
ground_newIPolys.ground_new  r2  r3  c                	    R # r+  r,  r;  s   &&r/  
domain_newIPolys.domain_new  r2  r3  c                	    R # r+  r,  )r-  ds   &&r/  	from_dictIPolys.from_dict  r2  r3  c                	    ^ RI Hp \        W4      '       d   VP                  V 8X  d   V# \	        R4      hV P                  V4      # )    r   zdomain conversions)sympy.polys.ringsr   
isinstanceringNotImplementedErrorr=  )r-  r<  r   s   && r/  wrapIPolys.wrap  s<    1g++||t#)*>????7++r3  c                	@    V P                  V4      P                  4       # r+  )rL  to_denser;  s   &&r/  rO  IPolys.to_dense  s    yy!**,,r3  c                	n    V P                  \        WP                  ^,
          V P                  4      4      #    )rD  rR   r'  r(  r;  s   &&r/  
from_denseIPolys.from_dense  s$    ~~k'::a<MNNr3  c                	l    V P                  \        V P                  V4      W#V P                  4      4      # r+  )rT  r	   rO  r(  r-  fcis   &&&&r/  r	   IPolys.dup_add_term  '    |DMM!,<aDKKPQQr3  c           	     	    V P                  \        V P                  V4      V P                  V4      P	                  ^ 4      P                  4       W0P
                  ^,
          V P                  4      4      # rG  )rT  r
   rO  rL  r0  r'  r(  rW  s   &&&&r/  r
   IPolys.dmp_add_term  V    |DMM!,<diil>O>OPQ>R>[>[>]_`blblmnbnptp{p{|}}r3  c                	l    V P                  \        V P                  V4      W#V P                  4      4      # r+  )rT  r   rO  r(  rW  s   &&&&r/  r   IPolys.dup_sub_term  r\  r3  c           	     	    V P                  \        V P                  V4      V P                  V4      P	                  ^ 4      P                  4       W0P
                  ^,
          V P                  4      4      # r^  )rT  r   rO  rL  r0  r'  r(  rW  s   &&&&r/  r   IPolys.dmp_sub_term!  r`  r3  c                	l    V P                  \        V P                  V4      W#V P                  4      4      # r+  )rT  r   rO  r(  rW  s   &&&&r/  r   IPolys.dup_mul_term#  r\  r3  c           	     	    V P                  \        V P                  V4      V P                  V4      P	                  ^ 4      P                  4       W0P
                  ^,
          V P                  4      4      # r^  )rT  r   rO  rL  r0  r'  r(  rW  s   &&&&r/  r   IPolys.dmp_mul_term%  r`  r3  c                	j    V P                  \        V P                  V4      W P                  4      4      # r+  )rT  r   rO  r(  r-  rX  rY  s   &&&r/  r   IPolys.dup_add_ground(  %    ~dmmA.>;;OPPr3  c                	    V P                  \        V P                  V4      W P                  ^,
          V P                  4      4      # rR  )rT  r   rO  r'  r(  rj  s   &&&r/  r   IPolys.dmp_add_ground*  2    ~dmmA.>::a<QUQ\Q\]^^r3  c                	j    V P                  \        V P                  V4      W P                  4      4      # r+  )rT  r   rO  r(  rj  s   &&&r/  r   IPolys.dup_sub_ground,  rl  r3  c                	    V P                  \        V P                  V4      W P                  ^,
          V P                  4      4      # rR  )rT  r   rO  r'  r(  rj  s   &&&r/  r   IPolys.dmp_sub_ground.  ro  r3  c                	j    V P                  \        V P                  V4      W P                  4      4      # r+  )rT  r   rO  r(  rj  s   &&&r/  r   IPolys.dup_mul_ground0  rl  r3  c                	    V P                  \        V P                  V4      W P                  ^,
          V P                  4      4      # rR  )rT  r   rO  r'  r(  rj  s   &&&r/  r   IPolys.dmp_mul_ground2  ro  r3  c                	j    V P                  \        V P                  V4      W P                  4      4      # r+  )rT  r   rO  r(  rj  s   &&&r/  r   IPolys.dup_quo_ground4  rl  r3  c                	    V P                  \        V P                  V4      W P                  ^,
          V P                  4      4      # rR  )rT  r   rO  r'  r(  rj  s   &&&r/  r   IPolys.dmp_quo_ground6  ro  r3  c                	j    V P                  \        V P                  V4      W P                  4      4      # r+  )rT  r   rO  r(  rj  s   &&&r/  r   IPolys.dup_exquo_ground8  s&    /a0@![[QRRr3  c                	    V P                  \        V P                  V4      W P                  ^,
          V P                  4      4      # rR  )rT  r   rO  r'  r(  rj  s   &&&r/  r   IPolys.dmp_exquo_ground:  4    /a0@!ZZPQ\SWS^S^_``r3  c                	j    V P                  \        V P                  V4      W P                  4      4      # r+  )rT  r   rO  r(  r-  rX  ns   &&&r/  r   IPolys.dup_lshift=  %    z$--*:A{{KLLr3  c                	j    V P                  \        V P                  V4      W P                  4      4      # r+  )rT  r   rO  r(  r  s   &&&r/  r   IPolys.dup_rshift?  r  r3  c                	j    V P                  \        V P                  V4      V P                  4      4      # r+  )rT  r   rO  r(  r-  rX  s   &&r/  r   IPolys.dup_absB  %    wt}}Q'7EFFr3  c                	    V P                  \        V P                  V4      V P                  ^,
          V P                  4      4      # rR  )rT  r   rO  r'  r(  r  s   &&r/  r   IPolys.dmp_absD  /    wt}}Q'7At{{STTr3  c                	j    V P                  \        V P                  V4      V P                  4      4      # r+  )rT  r   rO  r(  r  s   &&r/  r   IPolys.dup_negG  r  r3  c                	    V P                  \        V P                  V4      V P                  ^,
          V P                  4      4      # rR  )rT  r   rO  r'  r(  r  s   &&r/  r   IPolys.dmp_negI  r  r3  c                	    V P                  \        V P                  V4      V P                  V4      V P                  4      4      # r+  )rT  r   rO  r(  r-  rX  gs   &&&r/  r   IPolys.dup_addL  0    wt}}Q'7q9I4;;WXXr3  c                	    V P                  \        V P                  V4      V P                  V4      V P                  ^,
          V P                  4      4      # rR  )rT  r    rO  r'  r(  r  s   &&&r/  r    IPolys.dmp_addN  >    wt}}Q'7q9I4::VW<Y]YdYdeffr3  c                	    V P                  \        V P                  V4      V P                  V4      V P                  4      4      # r+  )rT  r!   rO  r(  r  s   &&&r/  r!   IPolys.dup_subQ  r  r3  c                	    V P                  \        V P                  V4      V P                  V4      V P                  ^,
          V P                  4      4      # rR  )rT  r"   rO  r'  r(  r  s   &&&r/  r"   IPolys.dmp_subS  r  r3  c           	     	    V P                  \        V P                  V4      V P                  V4      V P                  V4      V P                  4      4      # r+  )rT  r#   rO  r(  r-  rX  r  hs   &&&&r/  r#   IPolys.dup_add_mulV  ?    {4==+;T]]1=Mt}}]^O_aealalmnnr3  c           	     	    V P                  \        V P                  V4      V P                  V4      V P                  V4      V P                  ^,
          V P                  4      4      # rR  )rT  r$   rO  r'  r(  r  s   &&&&r/  r$   IPolys.dmp_add_mulX  N    {4==+;T]]1=Mt}}]^O_aeakaklmamosozoz{||r3  c           	     	    V P                  \        V P                  V4      V P                  V4      V P                  V4      V P                  4      4      # r+  )rT  r%   rO  r(  r  s   &&&&r/  r%   IPolys.dup_sub_mulZ  r  r3  c           	     	    V P                  \        V P                  V4      V P                  V4      V P                  V4      V P                  ^,
          V P                  4      4      # rR  )rT  r&   rO  r'  r(  r  s   &&&&r/  r&   IPolys.dmp_sub_mul\  r  r3  c                	    V P                  \        V P                  V4      V P                  V4      V P                  4      4      # r+  )rT  r'   rO  r(  r  s   &&&r/  r'   IPolys.dup_mul_  r  r3  c                	    V P                  \        V P                  V4      V P                  V4      V P                  ^,
          V P                  4      4      # rR  )rT  r(   rO  r'  r(  r  s   &&&r/  r(   IPolys.dmp_mula  r  r3  c                	j    V P                  \        V P                  V4      V P                  4      4      # r+  )rT  r)   rO  r(  r  s   &&r/  r)   IPolys.dup_sqrd  r  r3  c                	    V P                  \        V P                  V4      V P                  ^,
          V P                  4      4      # rR  )rT  r*   rO  r'  r(  r  s   &&r/  r*   IPolys.dmp_sqrf  r  r3  c                	j    V P                  \        V P                  V4      W P                  4      4      # r+  )rT  r+   rO  r(  r  s   &&&r/  r+   IPolys.dup_powh  s%    wt}}Q'7KKHIIr3  c                	    V P                  \        V P                  V4      W P                  ^,
          V P                  4      4      # rR  )rT  r,   rO  r'  r(  r  s   &&&r/  r,   IPolys.dmp_powj  s/    wt}}Q'7JJqL$++VWWr3  c                	    \        V P                  V4      V P                  V4      V P                  4      w  r4V P                  V4      V P                  V4      3# r+  )r-   rO  r(  rT  r-  rX  r  qrs   &&&  r/  r-   IPolys.dup_pdivm  sE    a($--*:DKKH"DOOA$677r3  c                	    V P                  \        V P                  V4      V P                  V4      V P                  4      4      # r+  )rT  r.   rO  r(  r  s   &&&r/  r.   IPolys.dup_premp  0    xa(8$--:JDKKXYYr3  c                	    V P                  \        V P                  V4      V P                  V4      V P                  4      4      # r+  )rT  r/   rO  r(  r  s   &&&r/  r/   IPolys.dup_pquor  r  r3  c                	    V P                  \        V P                  V4      V P                  V4      V P                  4      4      # r+  )rT  r0   rO  r(  r  s   &&&r/  r0   IPolys.dup_pexquot  0    z$--*:DMM!<LdkkZ[[r3  c                	    \        V P                  V4      V P                  V4      V P                  ^,
          V P                  4      w  r4V P	                  V4      V P	                  V4      3# rR  )r1   rO  r'  r(  rT  r  s   &&&  r/  r1   IPolys.dmp_pdivw  sO    a($--*:DJJqL$++V"DOOA$677r3  c                	    V P                  \        V P                  V4      V P                  V4      V P                  ^,
          V P                  4      4      # rR  )rT  r2   rO  r'  r(  r  s   &&&r/  r2   IPolys.dmp_premz  >    xa(8$--:JDJJWXLZ^ZeZefggr3  c                	    V P                  \        V P                  V4      V P                  V4      V P                  ^,
          V P                  4      4      # rR  )rT  r3   rO  r'  r(  r  s   &&&r/  r3   IPolys.dmp_pquo|  r  r3  c                	    V P                  \        V P                  V4      V P                  V4      V P                  ^,
          V P                  4      4      # rR  )rT  r4   rO  r'  r(  r  s   &&&r/  r4   IPolys.dmp_pexquo~  >    z$--*:DMM!<LdjjYZl\`\g\ghiir3  c                	    \        V P                  V4      V P                  V4      V P                  4      w  r4V P                  V4      V P                  V4      3# r+  )r5   rO  r(  rT  r  s   &&&  r/  r5   IPolys.dup_rr_div  E    $--*DMM!,<dkkJ"DOOA$677r3  c                	    \        V P                  V4      V P                  V4      V P                  ^,
          V P                  4      w  r4V P	                  V4      V P	                  V4      3# rR  )r6   rO  r'  r(  rT  r  s   &&&  r/  r6   IPolys.dmp_rr_div  O    $--*DMM!,<djjlDKKX"DOOA$677r3  c                	    \        V P                  V4      V P                  V4      V P                  4      w  r4V P                  V4      V P                  V4      3# r+  )r7   rO  r(  rT  r  s   &&&  r/  r7   IPolys.dup_ff_div  r  r3  c                	    \        V P                  V4      V P                  V4      V P                  ^,
          V P                  4      w  r4V P	                  V4      V P	                  V4      3# rR  )r8   rO  r'  r(  rT  r  s   &&&  r/  r8   IPolys.dmp_ff_div  r  r3  c                	    \        V P                  V4      V P                  V4      V P                  4      w  r4V P                  V4      V P                  V4      3# r+  )r9   rO  r(  rT  r  s   &&&  r/  r9   IPolys.dup_div  sE    t}}Q'q)94;;G"DOOA$677r3  c                	    V P                  \        V P                  V4      V P                  V4      V P                  4      4      # r+  )rT  r:   rO  r(  r  s   &&&r/  r:   IPolys.dup_rem  r  r3  c                	    V P                  \        V P                  V4      V P                  V4      V P                  4      4      # r+  )rT  r;   rO  r(  r  s   &&&r/  r;   IPolys.dup_quo  r  r3  c                	    V P                  \        V P                  V4      V P                  V4      V P                  4      4      # r+  )rT  r<   rO  r(  r  s   &&&r/  r<   IPolys.dup_exquo  s0    yq)94==;KT[[YZZr3  c                	    \        V P                  V4      V P                  V4      V P                  ^,
          V P                  4      w  r4V P	                  V4      V P	                  V4      3# rR  )r=   rO  r'  r(  rT  r  s   &&&  r/  r=   IPolys.dmp_div  sO    t}}Q'q)94::a<U"DOOA$677r3  c                	    V P                  \        V P                  V4      V P                  V4      V P                  ^,
          V P                  4      4      # rR  )rT  r>   rO  r'  r(  r  s   &&&r/  r>   IPolys.dmp_rem  r  r3  c                	    V P                  \        V P                  V4      V P                  V4      V P                  ^,
          V P                  4      4      # rR  )rT  r?   rO  r'  r(  r  s   &&&r/  r?   IPolys.dmp_quo  r  r3  c                	    V P                  \        V P                  V4      V P                  V4      V P                  ^,
          V P                  4      4      # rR  )rT  r@   rO  r'  r(  r  s   &&&r/  r@   IPolys.dmp_exquo  s>    yq)94==;KTZZXY\[_[f[fghhr3  c                	L    \        V P                  V4      V P                  4      # r+  )rA   rO  r(  r  s   &&r/  rA   IPolys.dup_max_norm  s    DMM!,dkk::r3  c                	p    \        V P                  V4      V P                  ^,
          V P                  4      # rR  )rB   rO  r'  r(  r  s   &&r/  rB   IPolys.dmp_max_norm  s&    DMM!,djjlDKKHHr3  c                	L    \        V P                  V4      V P                  4      # r+  )rC   rO  r(  r  s   &&r/  rC   IPolys.dup_l1_norm  s    4==+T[[99r3  c                	p    \        V P                  V4      V P                  ^,
          V P                  4      # rR  )rD   rO  r'  r(  r  s   &&r/  rD   IPolys.dmp_l1_norm  s&    4==+TZZ\4;;GGr3  c                	L    \        V P                  V4      V P                  4      # r+  )rE   rO  r(  r  s   &&r/  rE   IPolys.dup_l2_norm_squared      "4==#3T[[AAr3  c                	p    \        V P                  V4      V P                  ^,
          V P                  4      # rR  )rF   rO  r'  r(  r  s   &&r/  rF   IPolys.dmp_l2_norm_squared  s&    "4==#3TZZ\4;;OOr3  c           
     	    V P                  \        \        \        V P                  V4      4      V P
                  4      4      # r+  )rT  rG   listmaprO  r(  r-  polyss   &&r/  rG   IPolys.dup_expand  s,    z$s4==%/H*I4;;WXXr3  c           
     	    V P                  \        \        \        V P                  V4      4      V P
                  ^,
          V P                  4      4      # rR  )rT  rH   r  r  rO  r'  r(  r  s   &&r/  rH   IPolys.dmp_expand  s:    z$s4==%/H*I4::VW<Y]YdYdeffr3  c                	L    \        V P                  V4      V P                  4      # r+  )rI   rO  r(  r  s   &&r/  rI   IPolys.dup_LC      dmmA&44r3  c                	    \        V P                  V4      V P                  4      p\        V\        4      '       d   V R ,          P                  V4      # V# rS  NN)rJ   rO  r(  rI  r  rT  )r-  rX  LCs   && r/  rJ   IPolys.dmp_LC  B    DMM!$dkk2b$8&&r**Ir3  c                	L    \        V P                  V4      V P                  4      # r+  )rK   rO  r(  r  s   &&r/  rK   IPolys.dup_TC  r  r3  c                	    \        V P                  V4      V P                  4      p\        V\        4      '       d   V R ,          P                  V4      # V# r  )rL   rO  r(  rI  r  rT  )r-  rX  TCs   && r/  rL   IPolys.dmp_TC  r  r3  c                	p    \        V P                  V4      V P                  ^,
          V P                  4      # rR  )rM   rO  r'  r(  r  s   &&r/  rM   IPolys.dmp_ground_LC  &    T]]1-tzz!|T[[IIr3  c                	p    \        V P                  V4      V P                  ^,
          V P                  4      # rR  )rN   rO  r'  r(  r  s   &&r/  rN   IPolys.dmp_ground_TC  r  r3  c                	6    \        V P                  V4      4      # r+  )rO   rO  r  s   &&r/  rO   IPolys.dup_degree  s    $--*++r3  c                	Z    \        V P                  V4      V P                  ^,
          4      # rR  )rP   rO  r'  r  s   &&r/  rP   IPolys.dmp_degree  s     $--*DJJqL99r3  c                	Z    \        V P                  V4      W P                  ^,
          4      # rR  )rQ   rO  r'  )r-  rX  js   &&&r/  rQ   IPolys.dmp_degree_in  s     T]]1-q**Q,??r3  c                	j    V P                  \        V P                  V4      W P                  4      4      # r+  )rT  rS   rO  r(  r-  rX  ms   &&&r/  rS   IPolys.dup_integrate  s%    }T]]1-=q++NOOr3  c                	    V P                  \        V P                  V4      W P                  ^,
          V P                  4      4      # rR  )rT  rT   rO  r'  r(  r  s   &&&r/  rT   IPolys.dmp_integrate  s2    }T]]1-=q**Q,PTP[P[\]]r3  c                	j    V P                  \        V P                  V4      W P                  4      4      # r+  )rT  rV   rO  r(  r  s   &&&r/  rV   IPolys.dup_diff  s%    xa(8![[IJJr3  c                	    V P                  \        V P                  V4      W P                  ^,
          V P                  4      4      # rR  )rT  rW   rO  r'  r(  r  s   &&&r/  rW   IPolys.dmp_diff  s/    xa(8!ZZ\4;;WXXr3  c           	     	    V P                  \        V P                  V4      W#V P                  ^,
          V P                  4      4      # rR  )rT  rX   rO  r'  r(  r-  rX  r  r  s   &&&&r/  rX   IPolys.dmp_diff_in  s4    {4==+;Q4::a<QUQ\Q\]^^r3  c           	     	    V P                  \        V P                  V4      W#V P                  ^,
          V P                  4      4      # rR  )rT  rU   rO  r'  r(  r"  s   &&&&r/  rU   IPolys.dmp_integrate_in  s6    /a0@!

STVZVaVabccr3  c                	L    \        V P                  V4      W P                  4      # r+  )rY   rO  r(  r-  rX  as   &&&r/  rY   IPolys.dup_eval  s    a(![[99r3  c                	    \        V P                  V4      W P                  ^,
          V P                  4      pV R,          P	                  V4      # rS  r  )rZ   rO  r'  r(  rT  )r-  rX  r(  results   &&& r/  rZ   IPolys.dmp_eval  s:    $--*Azz!|T[[IBx""6**r3  c                	    \        V P                  V4      W#V P                  ^,
          V P                  4      pV P	                  V4      P                  V4      # rR  )r[   rO  r'  r(  r0  rT  )r-  rX  r(  r  r,  s   &&&& r/  r[   IPolys.dmp_eval_in  s@    T]]1-qTZZ\4;;Oyy|&&v..r3  c                	    \        V P                  V4      W#W@P                  ^,
          V P                  4      pV P	                  V4      P                  V4      # rR  )r]   rO  r'  r(  r0  rT  )r-  rX  r  r(  r  r,  s   &&&&& r/  r]   IPolys.dmp_diff_eval_in  s@    !$--"2A!ZZ\4;;Wyy|&&v..r3  c                	    \        V P                  V4      W P                  ^,
          V P                  4      p\	        V\
        4      '       d   V R\        V4      )  P                  V4      # V# )rS  N)r\   rO  r'  r(  rI  r  lenrT  )r-  rX  Ar,  s   &&& r/  r\   IPolys.dmp_eval_tail  sT    t}}Q/JJqL$++Nfd###a&>,,V44Mr3  c                	j    V P                  \        V P                  V4      W P                  4      4      # r+  )rT  r^   rO  r(  r-  rX  ps   &&&r/  r^   IPolys.dup_trunc  %    yq)91kkJKKr3  c                	    V P                  \        V P                  V4      V R ,          P                  V4      V P                  ^,
          V P                  4      4      # r  )rT  r_   rO  r'  r(  r  s   &&&r/  r_   IPolys.dmp_trunc  sH    yq)948;L;LQ;OQUQ[Q[\]Q]_c_j_jkllr3  c                	    V P                  \        V P                  V4      W P                  ^,
          V P                  4      4      # rR  )rT  r`   rO  r'  r(  r7  s   &&&r/  r`   IPolys.dmp_ground_trunc  r  r3  c                	j    V P                  \        V P                  V4      V P                  4      4      # r+  )rT  ra   rO  r(  r  s   &&r/  ra   IPolys.dup_monic  s%    yq)94;;GHHr3  c                	    V P                  \        V P                  V4      V P                  ^,
          V P                  4      4      # rR  )rT  rb   rO  r'  r(  r  s   &&r/  rb   IPolys.dmp_ground_monic  s3    /a0@$**Q,PTP[P[\]]r3  c                	    \        V P                  V4      V P                  V4      V P                  4      w  r4pW0P                  V4      V P                  V4      3# r+  )rg   rO  r(  rT  r-  rX  r  rY  FGs   &&&   r/  rg   IPolys.dup_extract  sG    dmmA.a0@$++Na??1%tq'9::r3  c                	    \        V P                  V4      V P                  V4      V P                  ^,
          V P                  4      w  r4pW0P	                  V4      V P	                  V4      3# rR  )rh   rO  r'  r(  rT  rD  s   &&&   r/  rh   IPolys.dmp_ground_extract  sU    $T]]1%5t}}Q7GTUW[WbWbca??1%tq'9::r3  c                	    \        V P                  V4      P                  ^4      P                  4       V P                  4      w  r#V P                  V4      V P                  V4      3# rR  )ri   rL  r0  rO  r(  rT  r-  rX  r8  r  s   &&  r/  ri   IPolys.dup_real_imag  sM    TYYq\..q1::<dkkJ"DOOA$677r3  c                	j    V P                  \        V P                  V4      V P                  4      4      # r+  )rT  rj   rO  r(  r  s   &&r/  rj   IPolys.dup_mirror  s%    z$--*:DKKHIIr3  c                	j    V P                  \        V P                  V4      W P                  4      4      # r+  )rT  rk   rO  r(  r'  s   &&&r/  rk   IPolys.dup_scale  r:  r3  c                	j    V P                  \        V P                  V4      W P                  4      4      # r+  )rT  rl   rO  r(  r'  s   &&&r/  rl   IPolys.dup_shift  r:  r3  c                	    V P                  \        V P                  V4      W P                  ^,
          V P                  4      4      # rR  )rT  rm   rO  r'  r(  r'  s   &&&r/  rm   IPolys.dmp_shift  s/    yq)91jjlDKKXYYr3  c           	     	    V P                  \        V P                  V4      V P                  V4      V P                  V4      V P                  4      4      # r+  )rT  rn   rO  r(  rK  s   &&&&r/  rn   IPolys.dup_transform  sB    }T]]1-=t}}Q?OQUQ^Q^_`Qacgcncnoppr3  c                	    V P                  \        V P                  V4      V P                  V4      V P                  4      4      # r+  )rT  ro   rO  r(  r  s   &&&r/  ro   IPolys.dup_compose  s0    {4==+;T]]1=Mt{{[\\r3  c                	    V P                  \        V P                  V4      V P                  V4      V P                  ^,
          V P                  4      4      # rR  )rT  rp   rO  r'  r(  r  s   &&&r/  rp   IPolys.dmp_compose  s>    {4==+;T]]1=MtzzZ[|]a]h]hijjr3  c                	    \        V P                  V4      V P                  4      p\        \	        V P
                  V4      4      # r+  )rq   rO  r(  r  r  rT  )r-  rX  
componentss   && r/  rq   IPolys.dup_decompose  s1    "4==#3T[[A
C455r3  c                	    \        V P                  V4      V P                  ^,
          V P                  4      pV P	                  4       P                  V4      # rR  )rr   rO  r'  r(  r8  rT  r-  rX  r,  s   && r/  rr   IPolys.dmp_lift   s=    $--*DJJqL$++F~~**622r3  c                	L    \        V P                  V4      V P                  4      # r+  )rs   rO  r(  r  s   &&r/  rs   IPolys.dup_sign_variations$  r  r3  c                	    \        V P                  V4      V P                  VR 7      w  r4V'       d,   V P                  V P                  P	                  4       R7      pMT pW5P                  V4      3# )convertr(  )rt   rO  r(  r5  get_ringrT  r-  rX  re  rY  rE  rJ  s   &&&   r/  rt   IPolys.dup_clear_denoms'  sV    a 0$++wO::T[[%9%9%;:<DD??1%&&r3  c                	   \        V P                  V4      V P                  ^,
          V P                  VR7      w  r4V'       d,   V P	                  V P                  P                  4       R7      pMT pW5P                  V4      3# )rS  rd  rf  )ru   rO  r'  r(  r5  rg  rT  rh  s   &&&   r/  ru   IPolys.dmp_clear_denoms.  sa    a 0$**Q,U\]::T[[%9%9%;:<DD??1%&&r3  c                	j    V P                  \        V P                  V4      W P                  4      4      # r+  )rT  rv   rO  r(  r  s   &&&r/  rv   IPolys.dup_revert6  r  r3  c                	    \        V P                  V4      V P                  V4      V P                  4      w  r4V P                  V4      V P                  V4      3# r+  )rw   rO  r(  rT  r-  rX  r  sr  s   &&&  r/  rw   IPolys.dup_half_gcdex9  sE    dmmA.a0@$++N"DOOA$677r3  c                	    \        V P                  V4      V P                  V4      V P                  ^,
          V P                  4      w  r4V P	                  V4      V P	                  V4      3# rR  )rx   rO  r'  r(  rT  ro  s   &&&  r/  rx   IPolys.dmp_half_gcdex<  sR    dmmA.a0@$**Q,PTP[P[\"DOOA$677r3  c                	    \        V P                  V4      V P                  V4      V P                  4      w  r4pV P                  V4      V P                  V4      V P                  V4      3# r+  )ry   rO  r(  rT  r-  rX  r  rp  tr  s   &&&   r/  ry   IPolys.dup_gcdex?  sR    DMM!,dmmA.>La"DOOA$68JKKr3  c                	    \        V P                  V4      V P                  V4      V P                  ^,
          V P                  4      w  r4pV P	                  V4      V P	                  V4      V P	                  V4      3# rR  )rz   rO  r'  r(  rT  ru  s   &&&   r/  rz   IPolys.dmp_gcdexB  s\    DMM!,dmmA.>

1dkkZa"DOOA$68JKKr3  c                	    V P                  \        V P                  V4      V P                  V4      V P                  4      4      # r+  )rT  r{   rO  r(  r  s   &&&r/  r{   IPolys.dup_invertF  r  r3  c                	    V P                  \        V P                  V4      V P                  V4      V P                  ^,
          V P                  4      4      # rR  )rT  r|   rO  r'  r(  r  s   &&&r/  r|   IPolys.dmp_invertH  r  r3  c                	    \        V P                  V4      V P                  V4      V P                  4      p\        \	        V P
                  V4      4      # r+  )r}   rO  r(  r  r  rT  r-  rX  r  prss   &&& r/  r}   IPolys.dup_euclidean_prsK  <    a 0$--2BDKKPC-..r3  c                	    \        V P                  V4      V P                  V4      V P                  ^,
          V P                  4      p\	        \        V P                  V4      4      # rR  )r~   rO  r'  r(  r  r  rT  r  s   &&& r/  r~   IPolys.dmp_euclidean_prsN  I    a 0$--2BDJJqLRVR]R]^C-..r3  c                	    \        V P                  V4      V P                  V4      V P                  4      p\        \	        V P
                  V4      4      # r+  )r   rO  r(  r  r  rT  r  s   &&& r/  r   IPolys.dup_primitive_prsQ  r  r3  c                	    \        V P                  V4      V P                  V4      V P                  ^,
          V P                  4      p\	        \        V P                  V4      4      # rR  )r   rO  r'  r(  r  r  rT  r  s   &&& r/  r   IPolys.dmp_primitive_prsT  r  r3  c                	    \        V P                  V4      V P                  V4      V P                  4      w  r4\        \	        V P
                  V4      4      V3# r+  )r   rO  r(  r  r  rT  r-  rX  r  r  sress   &&&  r/  r   IPolys.dup_inner_subresultantsX  sF    +DMM!,<dmmA>NPTP[P[\	S#./66r3  c                	    \        V P                  V4      V P                  V4      V P                  ^,
          V P                  4      w  r4\	        \        V P                  V4      4      V3# rR  )r   rO  r'  r(  r  r  rT  r  s   &&&  r/  r   IPolys.dmp_inner_subresultants[  sU    ,T]]1-=t}}Q?OQUQ[Q[\]Q]_c_j_jk	S#./66r3  c                	    \        V P                  V4      V P                  V4      V P                  4      p\        \	        V P
                  V4      4      # r+  )r   rO  r(  r  r  rT  r  s   &&& r/  r   IPolys.dup_subresultants_  r  r3  c                	    \        V P                  V4      V P                  V4      V P                  ^,
          V P                  4      p\	        \        V P                  V4      4      # rR  )r   rO  r'  r(  r  r  rT  r  s   &&& r/  r   IPolys.dmp_subresultantsb  r  r3  c                	    \        V P                  V4      V P                  V4      V P                  4      w  r4V\        \	        V P
                  V4      4      3# r+  )r   rO  r(  r  r  rT  r-  rX  r  resr  s   &&&  r/  r   IPolys.dup_prs_resultantf  sC    $T]]1%5t}}Q7GUT#doos3455r3  c                	   \        V P                  V4      V P                  V4      V P                  ^,
          V P                  4      w  r4V R,          P	                  V4      \        \        V P                  V4      4      3# r+  )r   rO  r'  r(  rT  r  r  r  s   &&&  r/  r   IPolys.dmp_prs_resultanti  s`    $T]]1%5t}}Q7GTUW[WbWbcR##C($s4??C/H*IJJr3  c                	    \        V P                  V4      V P                  V4      V P                  V4      V P                  ^,
          V P                  4      pV R,          P                  V4      # r+  )r   rO  r@  r'  r(  rT  )r-  rX  r  r8  r  s   &&&& r/  r   IPolys.dmp_zz_modular_resultantm  sY    &t}}Q'7q9I4??[\K]_c_i_ijk_kmqmxmxyBx""3''r3  c                	    \        V P                  V4      V P                  V4      V P                  ^,
          V P                  4      pV R,          P	                  V4      # r+  )r   rO  r'  r(  rT  r-  rX  r  r  s   &&& r/  r   IPolys.dmp_zz_collins_resultantp  I    &t}}Q'7q9I4::VW<Y]YdYdeBx""3''r3  c                	    \        V P                  V4      V P                  V4      V P                  ^,
          V P                  4      pV R,          P	                  V4      # r+  )r   rO  r'  r(  rT  r  s   &&& r/  r   IPolys.dmp_qq_collins_resultants  r  r3  c                	l    \        V P                  V4      V P                  V4      V P                  4      # r+  )r   rO  r(  r  s   &&&r/  r   IPolys.dup_resultantw  s'    T]]1-t}}Q/?MMr3  c                	    \        V P                  V4      V P                  V4      V P                  ^,
          V P                  4      p\	        V\
        4      '       d   V R,          P                  V4      # V# r+  )r   rO  r'  r(  rI  r  rT  r  s   &&& r/  r   IPolys.dmp_resultanty  sW    DMM!,dmmA.>

1dkkZc4  8&&s++Jr3  c                	L    \        V P                  V4      V P                  4      # r+  )r   rO  r(  r  s   &&r/  r   IPolys.dup_discriminant  s    a 0$++>>r3  c                	    \        V P                  V4      V P                  ^,
          V P                  4      p\	        V\
        4      '       d   V R,          P                  V4      # V# r+  )r   rO  r'  r(  rI  r  rT  )r-  rX  discs   && r/  r   IPolys.dmp_discriminant  sL    a 0$**Q,LdD!!8&&t,,Kr3  c                	    \        V P                  V4      V P                  V4      V P                  4      w  r4pV P                  V4      V P                  V4      V P                  V4      3# r+  )r   rO  r(  rT  r-  rX  r  HrE  rF  s   &&&   r/  r   IPolys.dup_rr_prs_gcd  R     q!14==3CT[[Qa"DOOA$68JKKr3  c                	    \        V P                  V4      V P                  V4      V P                  4      w  r4pV P                  V4      V P                  V4      V P                  V4      3# r+  )r   rO  r(  rT  r  s   &&&   r/  r   IPolys.dup_ff_prs_gcd  r  r3  c                	    \        V P                  V4      V P                  V4      V P                  ^,
          V P                  4      w  r4pV P	                  V4      V P	                  V4      V P	                  V4      3# rR  )r   rO  r'  r(  rT  r  s   &&&   r/  r   IPolys.dmp_rr_prs_gcd  `     q!14==3CTZZPQ\SWS^S^_a"DOOA$68JKKr3  c                	    \        V P                  V4      V P                  V4      V P                  ^,
          V P                  4      w  r4pV P	                  V4      V P	                  V4      V P	                  V4      3# rR  )r   rO  r'  r(  rT  r  s   &&&   r/  r   IPolys.dmp_ff_prs_gcd  r  r3  c                	    \        V P                  V4      V P                  V4      V P                  4      w  r4pV P                  V4      V P                  V4      V P                  V4      3# r+  )r   rO  r(  rT  r  s   &&&   r/  r   IPolys.dup_zz_heu_gcd  r  r3  c                	    \        V P                  V4      V P                  V4      V P                  ^,
          V P                  4      w  r4pV P	                  V4      V P	                  V4      V P	                  V4      3# rR  )r   rO  r'  r(  rT  r  s   &&&   r/  r   IPolys.dmp_zz_heu_gcd  r  r3  c                	    \        V P                  V4      V P                  V4      V P                  4      w  r4pV P                  V4      V P                  V4      V P                  V4      3# r+  )r   rO  r(  rT  r  s   &&&   r/  r   IPolys.dup_qq_heu_gcd  r  r3  c                	    \        V P                  V4      V P                  V4      V P                  ^,
          V P                  4      w  r4pV P	                  V4      V P	                  V4      V P	                  V4      3# rR  )r   rO  r'  r(  rT  r  s   &&&   r/  r   IPolys.dmp_qq_heu_gcd  r  r3  c                	    \        V P                  V4      V P                  V4      V P                  4      w  r4pV P                  V4      V P                  V4      V P                  V4      3# r+  )r   rO  r(  rT  r  s   &&&   r/  r   IPolys.dup_inner_gcd  sR    a 0$--2BDKKPa"DOOA$68JKKr3  c                	    \        V P                  V4      V P                  V4      V P                  ^,
          V P                  4      w  r4pV P	                  V4      V P	                  V4      V P	                  V4      3# rR  )r   rO  r'  r(  rT  r  s   &&&   r/  r   IPolys.dmp_inner_gcd  s_    a 0$--2BDJJqLRVR]R]^a"DOOA$68JKKr3  c                	    \        V P                  V4      V P                  V4      V P                  4      pV P                  V4      # r+  )r   rO  r(  rT  r-  rX  r  r  s   &&& r/  r   IPolys.dup_gcd  5    DMM!$dmmA&6Dq!!r3  c                	    \        V P                  V4      V P                  V4      V P                  ^,
          V P                  4      pV P	                  V4      # rR  )r   rO  r'  r(  rT  r  s   &&& r/  r   IPolys.dmp_gcd  ?    DMM!$dmmA&6

1dkkRq!!r3  c                	    \        V P                  V4      V P                  V4      V P                  4      pV P                  V4      # r+  )r   rO  r(  rT  r  s   &&& r/  r   IPolys.dup_rr_lcm  5    t}}Q'q)94;;Gq!!r3  c                	    \        V P                  V4      V P                  V4      V P                  4      pV P                  V4      # r+  )r   rO  r(  rT  r  s   &&& r/  r   IPolys.dup_ff_lcm  r  r3  c                	    \        V P                  V4      V P                  V4      V P                  4      pV P                  V4      # r+  )r   rO  r(  rT  r  s   &&& r/  r   IPolys.dup_lcm  r  r3  c                	    \        V P                  V4      V P                  V4      V P                  ^,
          V P                  4      pV P	                  V4      # rR  )r   rO  r'  r(  rT  r  s   &&& r/  r   IPolys.dmp_rr_lcm  ?    t}}Q'q)94::a<Uq!!r3  c                	    \        V P                  V4      V P                  V4      V P                  ^,
          V P                  4      pV P	                  V4      # rR  )r   rO  r'  r(  rT  r  s   &&& r/  r   IPolys.dmp_ff_lcm  r  r3  c                	    \        V P                  V4      V P                  V4      V P                  ^,
          V P                  4      pV P	                  V4      # rR  )r   rO  r'  r(  rT  r  s   &&& r/  r   IPolys.dmp_lcm  r  r3  c                	P    \        V P                  V4      V P                  4      pV# r+  )rc   rO  r(  r-  rX  conts   && r/  rc   IPolys.dup_content  s     4==+T[[9r3  c                	t    \        V P                  V4      V P                  4      w  r#W P                  V4      3# r+  )re   rO  r(  rT  r-  rX  r  prims   &&  r/  re   IPolys.dup_primitive  s/    "4==#3T[[A
__T***r3  c                	    \        V P                  V4      V P                  ^,
          V P                  4      p\	        V\
        4      '       d   V R,          P                  V4      # V# r+  )r   rO  r'  r(  rI  r  rT  r  s   && r/  r   IPolys.dmp_content  sL    4==+TZZ\4;;GdD!!8&&t,,Kr3  c                	   \        V P                  V4      V P                  ^,
          V P                  4      w  r#\	        V\
        4      '       d*   V R,          P                  V4      V P                  V4      3# W P                  V4      3# r+  )r   rO  r'  r(  rI  r  rT  r  s   &&  r/  r   IPolys.dmp_primitive  si    "4==#3TZZ\4;;O
dD!!H''-tt/DEE//$/00r3  c                	t    \        V P                  V4      V P                  ^,
          V P                  4      pV# rR  )rd   rO  r'  r(  r  s   && r/  rd   IPolys.dmp_ground_content  s*    !$--"2DJJqL$++Nr3  c                	    \        V P                  V4      V P                  ^,
          V P                  4      w  r#W P	                  V4      3# rR  )rf   rO  r'  r(  rT  r  s   &&  r/  rf   IPolys.dmp_ground_primitive  s9    )$--*:DJJqL$++V
ood+,,r3  c                	   \        V P                  V4      V P                  V4      V P                  VR 7      pV'       g)   Vw  rVrxWVV P                  V4      V P                  V4      3# Vw  rxV P                  V4      V P                  V4      3# )include)r   rO  r(  rT  	r-  rX  r  r  r,  cfcgrE  rF  s	   &&&&     r/  r   IPolys.dup_cancel  sx    DMM!,dmmA.>U\]!LBADOOA.0BCCDAOOA&(:;;r3  c                	@   \        V P                  V4      V P                  V4      V P                  ^,
          V P                  VR7      pV'       g)   Vw  rVrxWVV P	                  V4      V P	                  V4      3# Vw  rxV P	                  V4      V P	                  V4      3# )rS  r  )r   rO  r'  r(  rT  r  s	   &&&&     r/  r   IPolys.dmp_cancel  s    DMM!,dmmA.>

1dkkcjk!LBADOOA.0BCCDAOOA&(:;;r3  c           	     	    \        V P                  V4      \        \        V P                  V4      4      V P                  4      pV UUu. uF  w  r4V P                  V4      V3NK  	  upp# u uppi r+  )r   rO  r  r  r(  rT  r-  rX  factorsr  ks   &&&  r/  r   IPolys.dup_trial_division  sX    $T]]1%5tCw<W7XZ^ZeZef5<>WTQ$//!$a(W>>>s   	A+c           	     	   \        V P                  V4      \        \        V P                  V4      4      V P                  ^,
          V P
                  4      pV UUu. uF  w  r4V P                  V4      V3NK  	  upp# u uppi rR  )r   rO  r  r  r'  r(  rT  r  s   &&&  r/  r   IPolys.dmp_trial_division  sg    $T]]1%5tCw<W7XZ^ZdZdefZfhlhshst5<>WTQ$//!$a(W>>>s   A=c                	L    \        V P                  V4      V P                  4      # r+  )r   rO  r(  r  s   &&r/  r   IPolys.dup_zz_mignotte_bound  s    $T]]1%5t{{CCr3  c                	p    \        V P                  V4      V P                  ^,
          V P                  4      # rR  )r   rO  r'  r(  r  s   &&r/  r   IPolys.dmp_zz_mignotte_bound  s&    $T]]1%5tzz!|T[[QQr3  c           
     	   V P                   p\        W! V4      V! V4      V! V4      V! V4      V! V4      V P                  4      w  rrV P                  V4      V P                  V	4      V P                  V
4      V P                  V4      3# r+  )rO  r   r(  rT  )r-  r  rX  r  r  rp  rv  DrF  r  STs   &&&&&&&     r/  r   IPolys.dup_zz_hensel_step  sq    MM'1Q41qtQqT1Q4U
a"DOOA$68JDOO\]L^__r3  c           
     	    V P                   p\        W! V4      \        \        WS4      4      W@P                  4      p\        \        V P
                  V4      4      # r+  )rO  r   r  r  r(  rT  )r-  r8  rX  f_listlr  r  s   &&&&&  r/  r   IPolys.dup_zz_hensel_lift  sB    MM"1adDQ,@![[QC/00r3  c                	    \        V P                  V4      V P                  4      pV UUu. uF  w  r4V P                  V4      V3NK  	  upp# u uppi r+  )r   rO  r(  rT  r  s   &&   r/  r   IPolys.dup_zz_zassenhaus  sC    #DMM!$4dkkB5<>WTQ$//!$a(W>>>   Ac                	L    \        V P                  V4      V P                  4      # r+  )r   rO  r(  r  s   &&r/  r   IPolys.dup_zz_irreducible_p      #DMM!$4dkkBBr3  c                	P    \        V P                  V4      V P                  VR 7      # ))irreducible)r   rO  r(  )r-  rX  r  s   &&&r/  r   IPolys.dup_cyclotomic_p  s    a 0$++;WWr3  c                	N    \        WP                  4      pV P                  V4      # r+  )r   r(  rT  )r-  r  rE  s   && r/  r   IPolys.dup_zz_cyclotomic_poly	  s    "1kk2q!!r3  c                	    \        V P                  V4      V P                  4      pVf   V# \        \	        V P
                  V4      4      # r+  )r   rO  r(  r  r  rT  r_  s   && r/  r   IPolys.dup_zz_cyclotomic_factor  s;    )$--*:DKKH>MDOOV455r3  c                	.    \        WW0P                  4      # r+  )r   r(  )r-  Ecscts   &&&&r/  r   IPolys.dmp_zz_wang_non_divisors  s    'r;;??r3  c           
     	   V R ,          pV UU	u. uF  w  rVP                  V4      V	3NK  	  ppp	V R,          p
\        \        V
P                   V4      4      p\        V P                  V4      W#WEW`P                  ^,
          V P
                  4      w  rpV P                  V4      \        \        V
P                  V4      4      \        \        VP                  V4      4      3# u up	pi )r  NrS  N)rO  r  r  r   r'  r(  rT  )r-  rX  r  r  r  r  r4  mvrv  r  uvHHCCs   &&&&&&&      r/  r   IPolys.dmp_zz_wang_lead_coeffs  s    "X./1adar{{1~q!a1"XR[[!$%+DMM!,<aQ1jjYZl\`\g\gh	rq!4BMM2(>#?c"--Y[F\A]]]	 2s   C"c                	    \        \        \        V P                  V4      4      W#V P                  4      p\        \        V P
                  V4      4      # r+  )r   r  r  rO  r(  rT  )r-  rE  r  r8  r,  s   &&&& r/  r   IPolys.dup_zz_diophantine%  s:    #DT]]A)>$?t{{SC011r3  c           	     	    \        \        \        V P                  V4      4      V P                  V4      W4WPP                  ^,
          V P
                  4      p\        \        V P                  V4      4      # rR  )r   r  r  rO  r'  r(  rT  )r-  rE  rY  r4  rC  r8  r,  s   &&&&&& r/  r   IPolys.dmp_zz_diophantine*  sX    #DT]]A)>$?qAQSTYZ\f\fgh\hjnjujuvC011r3  c           	     	R   V R ,          pV R,          p\        \        VP                  V4      4      p\        \        VP                  V4      4      p\        V P                  V4      W#WEV P                  ^,
          V P
                  4      p\        \        V P                  V4      4      # )r  r  )r  r  rO  r   r'  r(  rT  )	r-  rX  r  r  r4  r8  r  r  r,  s	   &&&&&&   r/  r   !IPolys.dmp_zz_wang_hensel_lifting/  s    "X"XR[[!$%#bkk2&'+DMM!,<aQ4::VW<Y]YdYdeC011r3  c                	    \        V P                  V4      V P                  ^,
          V P                  W#R7      pV Uu. uF  qPP	                  V4      NK  	  up# u upi )rS  )modseed)r   rO  r'  r(  rT  )r-  rX  r%  r&  r  r  s   &&&&  r/  r   IPolys.dmp_zz_wang7  sF    dmmA.

1dkks^-46W#W666s   Ac                	    \        V P                  V4      V P                  4      w  r#Y# Uu. uF  q@P                  V4      NK  	  up3# u upi r+  )r   rO  r(  rT  )r-  rX  coeffr  r  s   &&   r/  r   IPolys.dup_zz_factor_sqf;  sA    *4==+;T[[IW>W+W>??>s   A	c                	    \        V P                  V4      V P                  4      w  r#Y# UUu. uF  w  rEV P                  V4      V3NK  	  upp3# u uppi r+  )r   rO  r(  rT  r-  rX  r)  r  r  r  s   &&    r/  r   IPolys.dup_zz_factor?  J    &t}}Q'7EWFWTQ$//!,a0WFGGF   Ac                	    \        V P                  V4      V P                  ^,
          V P                  4      w  r#Y# UUu. uF  w  rEV P	                  V4      V3NK  	  upp3# u uppi rR  )r   rO  r'  r(  rT  r,  s   &&    r/  r   IPolys.dmp_zz_factorB  T    &t}}Q'7At{{SWFWTQ$//!,a0WFGGF   A"c                	    \        V P                  V4      V P                  4      w  r#Y# UUu. uF  w  rEV P                  V4      V3NK  	  upp3# u uppi r+  )r   rO  r(  rT  r,  s   &&    r/  r   IPolys.dup_qq_i_factorF  J    (q)94;;GWFWTQ$//!,a0WFGGFr/  c                	    \        V P                  V4      V P                  ^,
          V P                  4      w  r#Y# UUu. uF  w  rEV P	                  V4      V3NK  	  upp3# u uppi rR  )r   rO  r'  r(  rT  r,  s   &&    r/  r   IPolys.dmp_qq_i_factorI  T    (q)94::a<UWFWTQ$//!,a0WFGGFr3  c                	    \        V P                  V4      V P                  4      w  r#Y# UUu. uF  w  rEV P                  V4      V3NK  	  upp3# u uppi r+  )r   rO  r(  rT  r,  s   &&    r/  r   IPolys.dup_zz_i_factorM  r6  r/  c                	    \        V P                  V4      V P                  ^,
          V P                  4      w  r#Y# UUu. uF  w  rEV P	                  V4      V3NK  	  upp3# u uppi rR  )r   rO  r'  r(  rT  r,  s   &&    r/  r   IPolys.dmp_zz_i_factorP  r9  r3  c                	    \        V P                  V4      V P                  4      w  r#Y# UUu. uF  w  rEV P                  V4      V3NK  	  upp3# u uppi r+  )r   rO  r(  rT  r,  s   &&    r/  r   IPolys.dup_ext_factorT  sJ    'a(8$++FWFWTQ$//!,a0WFGGFr/  c                	    \        V P                  V4      V P                  ^,
          V P                  4      w  r#Y# UUu. uF  w  rEV P	                  V4      V3NK  	  upp3# u uppi rR  )r   rO  r'  r(  rT  r,  s   &&    r/  r   IPolys.dmp_ext_factorW  sT    'a(8$**Q,TWFWTQ$//!,a0WFGGFr3  c                	    \        V P                  V4      V P                  4      w  r#Y# UUu. uF  w  rEV P                  V4      V3NK  	  upp3# u uppi r+  )r   rO  r(  rT  r,  s   &&    r/  r   IPolys.dup_gf_factor[  r.  r/  c                	    \        V P                  V4      V P                  ^,
          V P                  4      w  r#Y# UUu. uF  w  rEV P	                  V4      V3NK  	  upp3# u uppi rR  )r   rO  r'  r(  rT  r,  s   &&    r/  r   IPolys.dmp_gf_factor^  r2  r3  c                	    \        V P                  V4      V P                  4      w  r#Y# UUu. uF  w  rEV P                  V4      V3NK  	  upp3# u uppi r+  )r   rO  r(  rT  r,  s   &&    r/  r   IPolys.dup_factor_listb  r6  r/  c                	    \        V P                  V4      V P                  4      pV UUu. uF  w  r4V P                  V4      V3NK  	  upp# u uppi r+  )r   rO  r(  rT  r  s   &&   r/  r   IPolys.dup_factor_list_includee  sC    )$--*:DKKH5<>WTQ$//!$a(W>>>r  c                	    \        V P                  V4      V P                  ^,
          V P                  4      w  r#Y# UUu. uF  w  rEV P	                  V4      V3NK  	  upp3# u uppi rR  )r   rO  r'  r(  rT  r,  s   &&    r/  r   IPolys.dmp_factor_listi  r9  r3  c                	    \        V P                  V4      V P                  ^,
          V P                  4      pV UUu. uF  w  r4V P	                  V4      V3NK  	  upp# u uppi rR  )r   rO  r'  r(  rT  r  s   &&   r/  r   IPolys.dmp_factor_list_includel  sM    )$--*:DJJqL$++V5<>WTQ$//!$a(W>>>   Ac                	L    \        V P                  V4      V P                  4      # r+  )r   rO  r(  r  s   &&r/  r   IPolys.dup_irreducible_pp  s     q!14;;??r3  c                	p    \        V P                  V4      V P                  ^,
          V P                  4      # rR  )r   rO  r'  r(  r  s   &&r/  r   IPolys.dmp_irreducible_pr  s&     q!14::a<MMr3  c                	    \        V P                  V4      V P                  4      p\        \	        V P
                  V4      4      # r+  )r   rO  r(  r  r  rT  )r-  rX  seqs   && r/  r   IPolys.dup_sturmu  s1    a($++6C-..r3  c                	L    \        V P                  V4      V P                  4      # r+  )r   rO  r(  r  s   &&r/  r   IPolys.dup_sqf_py  s    q)4;;77r3  c                	p    \        V P                  V4      V P                  ^,
          V P                  4      # rR  )r   rO  r'  r(  r  s   &&r/  r   IPolys.dmp_sqf_p{  s&    q)4::a<EEr3  c                	    \        V P                  V4      V P                  ^,
          V P                  4      pV P	                  4       P                  V4      # rR  )r   rO  r'  r(  r8  rT  r  s   && r/  r   IPolys.dmp_norm~  s=    T]]1%tzz!|T[[A~~**1--r3  c                	    \        V P                  V4      V P                  4      w  r#pW P                  V4      V P	                  4       P                  V4      3# r+  )r   rO  r(  rT  r8  r-  rX  rp  rE  Rs   &&   r/  r   IPolys.dup_sqf_norm  sE    t}}Q/=a??1%t~~'7'B'B1'EFFr3  c                	    \        V P                  V4      V P                  ^,
          V P                  4      w  r#pW P	                  V4      V P                  4       P	                  V4      3# rR  )r   rO  r'  r(  rT  r8  r]  s   &&   r/  r   IPolys.dmp_sqf_norm  sO    t}}Q/At{{Ka??1%t~~'7'B'B1'EFFr3  c                	j    V P                  \        V P                  V4      V P                  4      4      # r+  )rT  r   rO  r(  r  s   &&r/  r   IPolys.dup_gf_sqf_part  %    t}}Q/?MNNr3  c                	j    V P                  \        V P                  V4      V P                  4      4      # r+  )rT  r   rO  r(  r  s   &&r/  r   IPolys.dmp_gf_sqf_part  rd  r3  c                	j    V P                  \        V P                  V4      V P                  4      4      # r+  )rT  r   rO  r(  r  s   &&r/  r   IPolys.dup_sqf_part  s%    |DMM!,<dkkJKKr3  c                	    V P                  \        V P                  V4      V P                  ^,
          V P                  4      4      # rR  )rT  r   rO  r'  r(  r  s   &&r/  r   IPolys.dmp_sqf_part  s/    |DMM!,<djjlDKKXYYr3  c                	    \        V P                  V4      V P                  VR 7      w  r4Y4 UUu. uF  w  rVV P                  V4      V3NK  	  upp3# u uppi all)r   rO  r(  rT  r-  rX  rn  r)  r  r  r  s   &&&    r/  r   IPolys.dup_gf_sqf_list  sL    (q)94;;CPWFWTQ$//!,a0WFGGF   Ac                	    \        V P                  V4      V P                  ^,
          V P                  VR7      w  r4Y4 UUu. uF  w  rVV P	                  V4      V3NK  	  upp3# u uppi rS  rm  )r   rO  r'  r(  rT  ro  s   &&&    r/  r   IPolys.dmp_gf_sqf_list  sW    (q)94::a<Z]^WFWTQ$//!,a0WFGGF   A$c                	    \        V P                  V4      V P                  VR 7      w  r4Y4 UUu. uF  w  rVV P                  V4      V3NK  	  upp3# u uppi rl  )r   rO  r(  rT  ro  s   &&&    r/  r   IPolys.dup_sqf_list  sL    %dmmA&6MWFWTQ$//!,a0WFGGFrq  c                	    \        V P                  V4      V P                  VR 7      pV UUu. uF  w  rEV P                  V4      V3NK  	  upp# u uppi rl  )r   rO  r(  rT  r-  rX  rn  r  r  r  s   &&&   r/  r   IPolys.dup_sqf_list_include  sE    &t}}Q'7#N5<>WTQ$//!$a(W>>>s   Ac                	    \        V P                  V4      V P                  ^,
          V P                  VR7      w  r4Y4 UUu. uF  w  rVV P	                  V4      V3NK  	  upp3# u uppi rs  )r   rO  r'  r(  rT  ro  s   &&&    r/  r   IPolys.dmp_sqf_list  sW    %dmmA&6

1dkkWZ[WFWTQ$//!,a0WFGGFru  c                	    \        V P                  V4      V P                  ^,
          V P                  VR7      pV UUu. uF  w  rEV P	                  V4      V3NK  	  upp# u uppi rs  )r   rO  r'  r(  rT  ry  s   &&&   r/  r   IPolys.dmp_sqf_list_include  sP    &t}}Q'7At{{X[\5<>WTQ$//!$a(W>>>s   A!c                	    \        V P                  V4      V P                  4      pV UUu. uF  w  r4V P                  V4      V3NK  	  upp# u uppi r+  )r   rO  r(  rT  r  s   &&   r/  r   IPolys.dup_gff_list  sC    t}}Q/=5<>WTQ$//!$a(W>>>r  c                	    \        V P                  V4      V P                  ^,
          V P                  4      pV UUu. uF  w  r4V P	                  V4      V3NK  	  upp# u uppi rR  )r   rO  r'  r(  rT  r  s   &&   r/  r   IPolys.dmp_gff_list  sM    t}}Q/At{{K5<>WTQ$//!$a(W>>>rN  c                	L    \        V P                  V4      V P                  4      # r+  )r   rO  r(  r  s   &&r/  r   IPolys.dup_root_upper_bound  r
  r3  c                	L    \        V P                  V4      V P                  4      # r+  )r   rO  r(  r  s   &&r/  r   IPolys.dup_root_lower_bound  r
  r3  c                	P    \        V P                  V4      W P                  VR 7      # ))fast)r   rO  r(  )r-  rX  Mr  s   &&&&r/  r    IPolys.dup_step_refine_real_root  s    (q)91kkPTUUr3  c                	T    \        V P                  V4      W P                  W4WVVR 7      # ))epsstepsdisjointr  mobius)r   rO  r(  )r-  rX  r  r  r  r  r  r  s   &&&&&&&&r/  r   !IPolys.dup_inner_refine_real_root  s/    )$--*:A{{PSks  HN  O  	Or3  c                	T    \        V P                  V4      W#V P                  WEWgR 7      # )r  r  r  r  )r   rO  r(  r-  rX  rp  rv  r  r  r  r  s   &&&&&&&&r/  r   !IPolys.dup_outer_refine_real_root  s*    )$--*:A$++SVnv  C  	Cr3  c                	T    \        V P                  V4      W#V P                  WEWgR 7      # r  )r   rO  r(  r  s   &&&&&&&&r/  r   IPolys.dup_refine_real_root  s#    #DMM!$4aDKKShp||r3  c                	P    \        V P                  V4      V P                  W#R 7      # ))r  r  )r   rO  r(  )r-  rX  r  r  s   &&&&r/  r   #IPolys.dup_inner_isolate_real_roots  s    +DMM!,<dkks^^r3  c           
     	T    \        V P                  V4      V P                  W#WEVR 7      # ))r  infsupr  r  )r   rO  r(  )r-  rX  r  r  r  r  r  s   &&&&&&&r/  r   'IPolys.dup_inner_isolate_positive_roots  /    /a0@$++SVeh  }C  D  	Dr3  c           
     	T    \        V P                  V4      V P                  W#WEVR 7      # ))r  r  r  r  r  )r   rO  r(  )r-  rX  r  r  r  r  r  s   &&&&&&&r/  r   'IPolys.dup_inner_isolate_negative_roots  r  r3  c           
     	T    \        V P                  V4      V P                  W#WEVR 7      # )r  r  r  r  blackbox)r   rO  r(  r-  rX  r  r  r  r  r  s   &&&&&&&r/  r   !IPolys.dup_isolate_real_roots_sqf  s.    )$--*:DKKS_b  yA  B  	Br3  c           
     	T    \        V P                  V4      V P                  W#WEVR 7      # ))r  r  r  basisr  )r   rO  r(  )r-  rX  r  r  r  r  r  s   &&&&&&&r/  r   IPolys.dup_isolate_real_roots  s$    %dmmA&6[^rvwwr3  c                	p    \        \        \        V P                  V4      4      V P                  W#WEWgR 7      # ))r  r  r  strictr  r  )r   r  r  rO  r(  )r-  r  r  r  r  r  r  r  s   &&&&&&&&r/  r   "IPolys.dup_isolate_real_roots_list  s6    *4DMM50I+JDKK]`or  JO  [  	[r3  c                	P    \        V P                  V4      V P                  W#R 7      # ))r  r  )r   rO  r(  )r-  rX  r  r  s   &&&&r/  r   IPolys.dup_count_real_roots  s    #DMM!$4dkksTTr3  c                	R    \        V P                  V4      V P                  W#VR 7      # ))r  r  exclude)r   rO  r(  )r-  rX  r  r  r  s   &&&&&r/  r   IPolys.dup_count_complex_roots  s!    &t}}Q'7#`ghhr3  c           	     	R    \        V P                  V4      V P                  W#WER 7      # ))r  r  r  r  )r   rO  r(  )r-  rX  r  r  r  r  s   &&&&&&r/  r   $IPolys.dup_isolate_complex_roots_sqf  s"    ,T]]1-=t{{PSbeyyr3  c           
     	T    \        V P                  V4      V P                  W#WEVR 7      # r  )r   rO  r(  r  s   &&&&&&&r/  r    IPolys.dup_isolate_all_roots_sqf  s*    (q)94;;C^aw  A  	Ar3  c           	     	R    \        V P                  V4      V P                  W#WER 7      # ))r  r  r  r  )r   rO  r(  )r-  rX  r  r  r  r  s   &&&&&&r/  r   IPolys.dup_isolate_all_roots  s!    $T]]1%5t{{Z]iir3  c           	     	    ^ RI Hp \        \        V P                  V! V P
                  ^,
          V P                  4      4      4      # )rG  )dmp_fateman_poly_F_1)sympy.polys.specialpolysr  tupler  rT  r'  r(  )r-  r  s   & r/  fateman_poly_F_1IPolys.fateman_poly_F_1  /    AS*>tzz!|T[[*YZ[[r3  c           	     	    ^ RI Hp \        \        V P                  V! V P
                  ^,
          V P                  4      4      4      # )rG  )dmp_fateman_poly_F_2)r  r  r  r  rT  r'  r(  )r-  r  s   & r/  fateman_poly_F_2IPolys.fateman_poly_F_2  r  r3  c           	     	    ^ RI Hp \        \        V P                  V! V P
                  ^,
          V P                  4      4      4      # )rG  )dmp_fateman_poly_F_3)r  r  r  r  rT  r'  r(  )r-  r  s   & r/  fateman_poly_F_3IPolys.fateman_poly_F_3  r  r3  c           	     	    \        V P                  V4      P                  4        Uu. uF1  q P                  P                  P                  W P                  4      NK3  	  up4      # u upi r+  )r   rL  rO  r(  domre  )r-  r<  rY  s   && r/  to_gf_denseIPolys.to_gf_dense  sI    499U\K]KfKfKhjKha++//11![[AKhjkkjs   7A%c                	    V P                  \        WP                  ^,
          V P                  P                  4      4      # rR  )rD  rR   r'  r(  r  r;  s   &&r/  from_gf_denseIPolys.from_gf_dense  s(    ~~k'::a<QRRr3  c                	6    \        V P                  V4      4      # r+  )r   r  r  s   &&r/  r   IPolys.gf_degree  s    ))!,--r3  c                	`    \        V P                  V4      V P                  P                  4      # r+  )r   r  r(  r  r  s   &&r/  r   IPolys.gf_LC  "    T%%a($++//::r3  c                	`    \        V P                  V4      V P                  P                  4      # r+  )r   r  r(  r  r  s   &&r/  r   IPolys.gf_TC  r  r3  c                	T    V P                  \        V P                  V4      4      4      # r+  )r  r   r  r  s   &&r/  r   IPolys.gf_strip  s#    !!(4+;+;A+>"?@@r3  c                	~    V P                  \        V P                  V4      V P                  P                  4      4      # r+  )r  r   r  r(  r%  r  s   &&r/  gf_truncIPolys.gf_trunc  s-    !!(4+;+;A+>"PQQr3  c                	    V P                  \        V P                  V4      V P                  P                  V P                  P
                  4      4      # r+  )r  r   r  r(  r%  r  r  s   &&r/  	gf_normalIPolys.gf_normal  <    !!(4+;+;A+>QUQ\Q\Q`Q`"abbr3  c                	    V P                  \        WP                  P                  V P                  P                  4      4      # r+  )r  r   r(  r%  r  r  s   &&r/  r   IPolys.gf_from_dict  s*    !!,q++//4;;??"STTr3  c                	d    \        V P                  V4      V P                  P                  VR 7      # )	symmetric)r   r  r(  r%  r-  rX  r  s   &&&r/  r   IPolys.gf_to_dict  s$    $**1-t{{)TTr3  c                	^    V P                  \        WP                  P                  4      4      # r+  )r  r   r(  r%  r  s   &&r/  r   IPolys.gf_from_int_poly  s!    !!"21kkoo"FGGr3  c                	d    \        V P                  V4      V P                  P                  VR 7      # r  )r   r  r(  r%  r  s   &&&r/  r   IPolys.gf_to_int_poly  s$    d..q14;;??iXXr3  c                	    V P                  \        V P                  V4      V P                  P                  V P                  P
                  4      4      # r+  )r  r   r  r(  r%  r  r  s   &&r/  r   IPolys.gf_neg  7    !!&)9)9!)<dkkoot{{"_``r3  c                	    V P                  \        V P                  V4      W P                  P                  V P                  P
                  4      4      # r+  )r  r   r  r(  r%  r  r'  s   &&&r/  r   IPolys.gf_add_ground  <    !!-0@0@0CQY]YdYdYhYh"ijjr3  c                	    V P                  \        V P                  V4      W P                  P                  V P                  P
                  4      4      # r+  )r  r   r  r(  r%  r  r'  s   &&&r/  r   IPolys.gf_sub_ground  r  r3  c                	    V P                  \        V P                  V4      W P                  P                  V P                  P
                  4      4      # r+  )r  r   r  r(  r%  r  r'  s   &&&r/  r   IPolys.gf_mul_ground  r  r3  c                	    V P                  \        V P                  V4      W P                  P                  V P                  P
                  4      4      # r+  )r  r   r  r(  r%  r  r'  s   &&&r/  r   IPolys.gf_quo_ground  r  r3  c                	    V P                  \        V P                  V4      V P                  V4      V P                  P                  V P                  P
                  4      4      # r+  )r  r   r  r(  r%  r  r  s   &&&r/  r   IPolys.gf_add  N    !!&)9)9!)<d>N>Nq>QSWS^S^SbSbdhdododsds"tuur3  c                	    V P                  \        V P                  V4      V P                  V4      V P                  P                  V P                  P
                  4      4      # r+  )r  r   r  r(  r%  r  r  s   &&&r/  r   IPolys.gf_sub  r  r3  c                	    V P                  \        V P                  V4      V P                  V4      V P                  P                  V P                  P
                  4      4      # r+  )r  r   r  r(  r%  r  r  s   &&&r/  r   IPolys.gf_mul
  r  r3  c                	    V P                  \        V P                  V4      V P                  P                  V P                  P
                  4      4      # r+  )r  r   r  r(  r%  r  r  s   &&r/  r   IPolys.gf_sqr  r  r3  c           	     	    V P                  \        V P                  V4      V P                  V4      V P                  V4      V P                  P                  V P                  P
                  4      4      # r+  )r  r   r  r(  r%  r  r  s   &&&&r/  r   IPolys.gf_add_mul  {    !!*T-=-=a-@$BRBRSTBUW[WgWghiWjlplwlwl{l{  ~B  ~I  ~I  ~M  ~M  #N  O  	Or3  c           	     	    V P                  \        V P                  V4      V P                  V4      V P                  V4      V P                  P                  V P                  P
                  4      4      # r+  )r  r   r  r(  r%  r  r  s   &&&&r/  r   IPolys.gf_sub_mul  r  r3  c           
     	    V P                  \        \        \        V P                  V4      4      V P
                  P                  V P
                  P                  4      4      # r+  )r  r   r  r  r  r(  r%  r  )r-  rE  s   &&r/  r   IPolys.gf_expand  sC    !!)DT5E5Eq1I,JDKKOO]a]h]h]l]l"mnnr3  c                	    \        V P                  V4      V P                  V4      V P                  P                  V P                  P                  4      w  r4V P                  V4      V P                  V4      3# r+  )r   r  r(  r%  r  r  r  s   &&&  r/  r   IPolys.gf_div  s`    d&&q)4+;+;A+>QUQ\Q\Q`Q`a!!!$d&8&8&;;;r3  c                	    V P                  \        V P                  V4      V P                  V4      V P                  P                  V P                  P
                  4      4      # r+  )r  r   r  r(  r%  r  r  s   &&&r/  r   IPolys.gf_rem  r  r3  c                	    V P                  \        V P                  V4      V P                  V4      V P                  P                  V P                  P
                  4      4      # r+  )r  r   r  r(  r%  r  r  s   &&&r/  r   IPolys.gf_quo  r  r3  c                	    V P                  \        V P                  V4      V P                  V4      V P                  P                  V P                  P
                  4      4      # r+  )r  r   r  r(  r%  r  r  s   &&&r/  r   IPolys.gf_exquo  O    !!(4+;+;A+>@P@PQR@SUYU`U`UdUdfjfqfqfufu"vwwr3  c                	~    V P                  \        V P                  V4      W P                  P                  4      4      # r+  )r  r  r  r(  r  r  s   &&&r/  r  IPolys.gf_lshift!  -    !!)D,<,<Q,?KKOO"TUUr3  c                	~    V P                  \        V P                  V4      W P                  P                  4      4      # r+  )r  r  r  r(  r  r  s   &&&r/  r  IPolys.gf_rshift#  r  r3  c                	    V P                  \        V P                  V4      W P                  P                  V P                  P
                  4      4      # r+  )r  r  r  r(  r%  r  r  s   &&&r/  r  IPolys.gf_pow&  s<    !!&)9)9!)<aRVR]R]RaRa"bccr3  c           	     	    V P                  \        V P                  V4      W P                  V4      V P                  P                  V P                  P
                  4      4      # r+  )r  r  r  r(  r%  r  )r-  rX  r  r  s   &&&&r/  r  IPolys.gf_pow_mod(  sO    !!*T-=-=a-@!EUEUVWEXZ^ZeZeZiZikokvkvkzkz"{||r3  c                	   \        V P                  V4      V P                  V4      V P                  P                  V P                  P                  4      w  r4pV P                  V4      V P                  V4      V P                  V4      3# r+  )r  r  r(  r%  r  r  )r-  rX  r  r  cffcfgs   &&&   r/  r  IPolys.gf_cofactors+  sp    "4#3#3A#68H8H8KT[[__^b^i^i^m^mn!!!$d&8&8&=t?Q?QRU?VVVr3  c                	    V P                  \        V P                  V4      V P                  V4      V P                  P                  V P                  P
                  4      4      # r+  )r  r  r  r(  r%  r  r  s   &&&r/  r  IPolys.gf_gcd.  r  r3  c                	    V P                  \        V P                  V4      V P                  V4      V P                  P                  V P                  P
                  4      4      # r+  )r  r  r  r(  r%  r  r  s   &&&r/  r  IPolys.gf_lcm0  r  r3  c                	    V P                  \        V P                  V4      V P                  V4      V P                  P                  V P                  P
                  4      4      # r+  )r  r  r  r(  r%  r  r  s   &&&r/  r  IPolys.gf_gcdex2  r  r3  c                	    V P                  \        V P                  V4      V P                  P                  V P                  P
                  4      4      # r+  )r  r	  r  r(  r%  r  r  s   &&r/  r	  IPolys.gf_monic5  r  r3  c                	    V P                  \        V P                  V4      V P                  P                  V P                  P
                  4      4      # r+  )r  r
  r  r(  r%  r  r  s   &&r/  r
  IPolys.gf_diff7  s<    !!'$*:*:1*=t{{PTP[P[P_P_"`aar3  c                	    \        V P                  V4      W P                  P                  V P                  P                  4      # r+  )r  r  r(  r%  r  r'  s   &&&r/  r  IPolys.gf_eval:  s,    t''*A{{PPr3  c                	    \        V P                  V4      W P                  P                  V P                  P                  4      # r+  )r  r  r(  r%  r  )r-  rX  r4  s   &&&r/  r  IPolys.gf_multi_eval<  s,    T--a0![[__dkkooVVr3  c                	    V P                  \        V P                  V4      V P                  V4      V P                  P                  V P                  P
                  4      4      # r+  )r  r  r  r(  r%  r  r  s   &&&r/  r  IPolys.gf_compose?  sO    !!*T-=-=a-@$BRBRSTBUW[WbWbWfWfhlhshshwhw"xyyr3  c           	     	    V P                  \        V P                  V4      V P                  V4      V P                  V4      V P                  P                  V P                  P
                  4      4      # r+  )r  r  r  r(  r%  r  )r-  r  r  rX  s   &&&&r/  r  IPolys.gf_compose_modA  s{    !!.1A1A!1DdFVFVWXFY[_[k[klm[nptp{p{pp  BF  BM  BM  BQ  BQ  #R  S  	Sr3  c           	     	>   V P                  V4      pV P                  V4      pV P                  V4      pV P                  V4      p\        WW4WPP                  P                  V P                  P                  4      w  rgV P                  V4      V P                  V4      3# r+  )r  r  r(  r%  r  r  )r-  r(  brY  r  rX  UVs   &&&&&&  r/  r  IPolys.gf_trace_mapD  s    QQQQA!;;??DKKOOL!!!$d&8&8&;;;r3  c                	    V P                  \        WP                  P                  V P                  P                  4      4      # r+  )r  r  r(  r%  r  r-  r  s   &&r/  r  IPolys.gf_randomL  s*    !!)A{{"PQQr3  c                	    V P                  \        WP                  P                  V P                  P                  4      4      # r+  )r  r  r(  r%  r  r1  s   &&r/  r  IPolys.gf_irreducibleN  s*    !!.KKOOT[[__"UVVr3  c                	    \        V P                  V4      V P                  P                  V P                  P                  4      # r+  )r  r  r(  r%  r  r  s   &&r/  r  IPolys.gf_irred_p_ben_orQ  s,     !1!1!!4dkkoot{{WWr3  c                	    \        V P                  V4      V P                  P                  V P                  P                  4      # r+  )r  r  r(  r%  r  r  s   &&r/  r  IPolys.gf_irred_p_rabinS  ,     0 0 3T[[__dkkooVVr3  c                	    \        V P                  V4      V P                  P                  V P                  P                  4      # r+  )r  r  r(  r%  r  r  s   &&r/  r  IPolys.gf_irreducible_pU  r9  r3  c                	    \        V P                  V4      V P                  P                  V P                  P                  4      # r+  )r  r  r(  r%  r  r  s   &&r/  r  IPolys.gf_sqf_pW  s,    ((+T[[__dkkooNNr3  c                	    V P                  \        V P                  V4      V P                  P                  V P                  P
                  4      4      # r+  )r  r  r  r(  r%  r  r  s   &&r/  r  IPolys.gf_sqf_partZ  s<    !!+d.>.>q.A4;;??TXT_T_TcTc"deer3  c                	    \        V P                  V4      V P                  P                  V P                  P                  4      w  r4Y4 UUu. uF  w  rVV P                  V4      V3NK  	  upp3# u uppi r+  )r  r  r(  r%  r  r  ro  s   &&&    r/  gf_sqf_listIPolys.gf_sqf_list\  s\    $T%5%5a%8$++//4;;??[wHwtq++A.2wHHHH   A/c                	    \        V P                  V4      V P                  P                  V P                  P                  4      # r+  )r  r  r(  r%  r  r  s   &&r/  r  IPolys.gf_Qmatrix`  s,    $**1-t{{PPr3  c                	    \        V P                  V4      V P                  P                  V P                  P                  4      pV Uu. uF  q0P                  V4      NK  	  up# u upi r+  )r  r  r(  r%  r  r  r-  rX  r  r  s   &&  r/  r  IPolys.gf_berlekampb  L    t//2DKKOOT[[__U0791##A&999   	A%c                	    \        V P                  V4      V P                  P                  V P                  P                  4      pV UUu. uF  w  r4V P                  V4      V3NK  	  upp# u uppi r+  )r  r  r(  r%  r  r  r  s   &&   r/  r  IPolys.gf_ddf_zassenhausf  sU    #D$4$4Q$7$++//Z8?A$$$Q'+AAA   
A,c                	    \        V P                  V4      V P                  P                  V P                  P                  4      pV Uu. uF  q@P                  V4      NK  	  up# u upi r+  )r  r  r(  r%  r  r  r-  rX  r  r  r  s   &&&  r/  r  IPolys.gf_edf_zassenhausi  sL    #D$4$4Q$7$++//Z0791##A&999rJ  c                	    \        V P                  V4      V P                  P                  V P                  P                  4      pV UUu. uF  w  r4V P                  V4      V3NK  	  upp# u uppi r+  )r  r  r(  r%  r  r  r  s   &&   r/  r  IPolys.gf_ddf_shoupm  sU    t//2DKKOOT[[__U8?A$$$Q'+AAArM  c                	    \        V P                  V4      V P                  P                  V P                  P                  4      pV Uu. uF  q@P                  V4      NK  	  up# u upi r+  )r  r  r(  r%  r  r  rO  s   &&&  r/  r  IPolys.gf_edf_shoupp  rI  rJ  c                	    \        V P                  V4      V P                  P                  V P                  P                  4      pV Uu. uF  q0P                  V4      NK  	  up# u upi r+  )r  r  r(  r%  r  r  rG  s   &&  r/  r  IPolys.gf_zassenhaust  sL     0 0 3T[[__dkkooV0791##A&999rJ  c                	    \        V P                  V4      V P                  P                  V P                  P                  4      pV Uu. uF  q0P                  V4      NK  	  up# u upi r+  )r  r  r(  r%  r  r  rG  s   &&  r/  r  IPolys.gf_shoupw  sL    4++A.Q0791##A&999rJ  c                	    \        V P                  V4      V P                  P                  V P                  P                  VR 7      w  r4Y4 Uu. uF  qPP                  V4      NK  	  up3# u upi ))method)r  r  r(  r%  r  r  )r-  rX  rZ  r)  r  r  s   &&&   r/  r  IPolys.gf_factor_sqf{  sV    &t'7'7':DKKOOT[[__eklw@w!**1-w@@@@s   A*c                	    \        V P                  V4      V P                  P                  V P                  P                  4      w  r#Y# UUu. uF  w  rEV P                  V4      V3NK  	  upp3# u uppi r+  )r   r  r(  r%  r  r  r,  s   &&    r/  r   IPolys.gf_factor~  s\    "4#3#3A#6YwHwtq++A.2wHHHHrC  r,  )NNN)F)T)NN)NNNFF)NNNF)NF)NNNFFFr+  (.  __name__
__module____qualname____firstlineno____annotations__r0  r5  r8  r=  r@  rD  rL  rO  rT  r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   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   rK   rL   rM   rN   rO   rP   rQ   rS   rT   rV   rW   rX   rU   rY   rZ   r[   r]   r\   r^   r_   r`   ra   rb   rg   rh   ri   rj   rk   rl   rm   rn   ro   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   r   r   r   r   rc   re   r   r   rd   rf   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r   r   r   r   r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r  r  r	  r
  r  r  r  r  r  r  r  r  r  r  r  r  rA  r  r  r  r  r  r  r  r  r  r   __static_attributes__r,  r3  r/  r#  r#     s    "!JN,-OR~R~R~Q_Q_Q_Q_SaMMGUGUYgYgo}o}YgGUJX8ZZ\8hhj88888YY[8ggi;I:HBPYg55JJ,:@P^KY_d:+//LmaI^;;8JLLZq]k63B''M88LL\j////77//6K(((N?LLLLLLLLLL""""""""+1-<<??DR`1
?CX"6@^2
2
27@HHHHHHHHHHH?H?@N/8F.GGOOLZHHH?H???CCVOC}_DDBx[UizAj\\\lS.;;ARcUUHYakkkkvvvaOOo<vvxVVd}WvvxcbQWzS<RWXWWOfIQ:B:B:::AI Ir3  r#  N(0  __doc__
__future__r   typingr   sympy.core.exprr   sympy.polys.domains.domainr   sympy.polys.orderingsr   rH  r   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/   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   sympy.polys.densebasicrI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   sympy.polys.densetoolsrS   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   ro   rp   rq   rr   rs   rt   ru   rv   sympy.polys.euclidtoolsrw   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   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   r   r   r   r   sympy.polys.rootisolationr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   sympy.polys.sqfreetoolsr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   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   sympy.utilitiesr!  r#  r,  r3  r/  <module>rs     sO   > "  $13- / / / / / / 1 1 1 1 1 1 1 1 3 3 - - * * * * * * * * . . . . * * * * * * + + + - + + + - - - - - * * * , * * * , / / . . 6 6 - - ) ) ) ) 0 0 - - 0 . 0 0 3 + + . + + . 0 3 , , 3 , 3 . 5 0 7 . 5 0 - , , , 0 . . 0 + 6 3 3 - 2 2 - - . . 5 5 5 5 ; 5 5 1 ; 5 5 < < < 1 4 4 2 2 2 2 2 2 2 2 1 1 + + . . + . . + / 1 . . 6 6 9 9 6 6 5 8 4 : < 5 1 < ; 6 6 > / 1 3 3 3 3 2 2 1 1 3 ; 3 ; 5 5 / : : ? @ @ : B F F @ < A : = C ? ;D D D D D	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 # "OI OI OIr3  