U
    L?héf  ă                   @   sŽ  d Z ddlmZmZmZmZmZ ddlmZ ddl	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z. ddl/m0Z0 ddl1m2Z2m3Z3m4Z4m5Z5 ddl6m7Z7 ddl8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z? dd	l@mAZA dd
lBmCZC ddlDmEZE ddlFmGZG ddlHmIZI ddlJmKZK dd e7 D \ZLZMZNZOZPZQZRdd ZSdd ZTdd ZUdd ZVdd ZWdd ZXdd ZYdd  ZZd!d" Z[d#d$ Z\d%d& Z]d'd( Z^d)d* Z_d+d, Z`d-d. Zad/d0 Zbd1d2 Zcd3d4 Zdd5d6 Zed7d8 Zfd9d: Zgd;d< Zhd=d> Zid?d@ ZjdAdB ZkdCdD ZldEdF ZmdGdH ZndIdJ ZodKdL ZpdMdN ZqdOdP ZrdQdR ZsdSdT ZtdUdV ZudWdX ZvdYdZ Zwd[S )\z.Tests for dense recursive polynomials' tools. é    )Ú
dup_normalÚ
dmp_normalÚdup_from_raw_dictÚdmp_convertÚdmp_swap)Údmp_mul_ground)%Údup_clear_denomsÚdmp_clear_denomsÚ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_revertÚ
dmp_revert)ÚANP)ÚMultivariatePolynomialErrorÚExactQuotientFailedÚNotReversibleÚDomainError)Úf_polys)ÚFFÚZZÚQQÚZZ_IÚQQ_IÚEXÚRR)Úring)ÚI)ÚS)Úsin)Úx)Úraisesc                 C   s   g | ]}|  Ą qS Š )Zto_dense)Ú.0Úfr@   r@   úS/var/www/html/venv/lib/python3.8/site-packages/sympy/polys/tests/test_densetools.pyÚ
<listcomp>4   s     rD   c                   C   s  t g dtg kstt g dtg ks(tt tdgdttdtdgksNtt tdgdttddtdtdgks|tt tdtdtdgdttdtdtdgks´tt tdtdtdgdttddtdtdtdgksôtt tdtdtdgdttddtddtddtdtdgks@tt tdtdtdgdttddtddtddtdtdtdgkstt tdtditdttd	tdd
itksĆtt ttdtdddtdtttdd
tdddtks
td S )Né   é   r   é   é   é<   é   é   é    i@t  )rJ   é   i   )rL   é   )r
   r5   ÚAssertionErrorr   r@   r@   r@   rC   Útest_dup_integrate6   s,    &.˙˙&˙
,˙
˙
 ˙rP   c                   C   s  t tdgddttddtdtdgks0tt g ggddtg ggksNtt g ggddtg ggksltt tdgggddttdggg ggkstt tdgggddttddggg gg ggksÎtt tdgtdgtdggddttdgtdgtdggkstt tdgtdgtdggddttddgtdgtdgg gksbtt tdgtdgtdggddttddgtddgtddgg g gks´tt tdgtdgtdggddttddgtddgtddgg g g gkstd S )NrE   rF   r   rG   rH   rI   )r   r5   rO   r@   r@   r@   rC   Útest_dmp_integrateM   s"    0.4$˙
$˙
$$˙
$&˙rQ   c                	      s  t tdtt t dddtttt dddtddtdddtksHtt dddtttt dddtddtdddtkstt dddtttt dddtddtdddtksźtt dddtttt dddtddtdddtksöttt	 fdd tt	 fdd d S )NrG   rF   rE   r   c                      s   t  dddtS ŠNrE   é˙˙˙˙rG   Šr   r5   r@   ŠrB   r@   rC   Ú<lambda>p   ó    z'test_dmp_integrate_in.<locals>.<lambda>c                      s   t  dddtS ŠNrE   é   rG   rT   r@   rU   r@   rC   rV   q   rW   )
r   Úf_6r4   r5   r   r   r   rO   r?   Ú
IndexErrorr@   r@   rU   rC   Útest_dmp_integrate_in`   sN        ˙˙    ˙˙    ˙˙    ˙˙r\   c                  C   sh  t g dtg kstt dgdtg ks*tt ddgdtdgksDtt dddgdtddgksbtt ddddgdtdddgkstt dddddgdtddddgksŞttd	d
dddddddddgt} t | dt| ksŢtt | dtddddddddddg
kstt | dtt t | dtdtks.tt | dtt t t | dtdtdtks\ttd}td	d
dddddddddg|} t | d|tddddddddddg
|ks´tt | d|tdddddddg|ksŢtt | d|tg |ksútt | d|| kstt | d|t t | d|d|ks6tt | d|t t t | d|d|d|ksdtd S )NrE   é   rF   rG   rY   rS   r   éý˙˙˙rK   é"   é8   i§ţ˙˙é   éL   rH   éŞ   i2  iŔ  iö˙˙é   i|  é   )r   r4   rO   r   r3   )rB   ÚKr@   r@   rC   Útest_dup_difft   s>    "& *&  ˙˙
 0*&  ˙˙rg   c                  C   s  t g ddtg kstt g gddtg gks0tt g ggddtg ggksNtt dgdgggddtg ggksrtt dggg ggddtdgggkstt dggdggg ggddtdggdgggksĘtt dddddgddttdddddgdtksütt tddttkstt tddtdggg ggdddgg g d	ddgggg ggd
ggdggg gdgg ddgg gg gggks|tt tddtt t tddtddtks¨tt tddtt t t tddtddtddtksŢttd} ttd| }t |dd| |ks
tt |dd| t |dd| ks,tt |dd| t t |dd| dd| ksXtt |dd| t t t |dd| dd| dd| kstd S )NrE   r   rF   rG   é   rS   i!  é   iy˙˙˙iYţ˙˙iŃ˙˙˙é   é^   ra   )r   r4   rO   r   rZ   r3   r   )rf   ZF_6r@   r@   rC   Útest_dmp_diff   sP    $&2˙&ý   ˙˙
   ˙",   ˙rl   c                	   C   s  t tdddtttttdddtddtdddtks:tt tdddtttttdddtddtdddtksttt tdddtttttdddtddtdddtksŽtt tdddtttttdddtddtdddtksčtttdd  ttdd  d S )NrF   rE   rG   r   c                   S   s   t tdddtS rR   Šr   rZ   r4   r@   r@   r@   rC   rV   ź   rW   z"test_dmp_diff_in.<locals>.<lambda>c                   S   s   t tdddtS rX   rm   r@   r@   r@   rC   rV   ˝   rW   )r   rZ   r4   r   r   rO   r?   r[   r@   r@   r@   rC   Útest_dmp_diff_in˛   s    $˙$˙$˙$˙rn   c                   C   sJ   t g dtdkstt ddgdtdks,tt dddgdtdksFtd S )Nr]   r   rE   rF   rG   éB   )r   r4   rO   r@   r@   r@   rC   Útest_dup_evalż   s    rp   c                   C   s  t g ddtdkstt g gddtg ks.tt g ggddtg gksJtt ddggddtddgksjtt dgggddtdggkstt ddgggddtddggksŽtt ddgddggddtddgksÔtt ddggddgggddtddggkstd S )NrG   r   rE   rF   é
   rN   )r   r4   rO   r@   r@   r@   rC   Útest_dmp_evalĹ   s      $&rr   c                  C   s\  t tdddttttdddtddtks.tt tdddttttdddtddtks\tt tdddtttttdddtddtdddtkstt tdddtttttdddtddtdddtksĐttdggg gg gtdgd	gg tdtdtd
tdggg} t | dddtdgg g dd	ddggks<tttdd  ttdd  d S )Néţ˙˙˙rE   rG   r   r]   rF   é-   i÷˙˙˙rS   rq   iÔ˙˙˙c                   S   s   t ttdddtS rR   Šr   rZ   r4   r@   r@   r@   rC   rV   ă   rW   z"test_dmp_eval_in.<locals>.<lambda>c                   S   s   t ttdddtS rX   ru   r@   r@   r@   rC   rV   ä   rW   )	r   rZ   r4   r   r   rO   Úintr?   r[   rU   r@   r@   rC   Útest_dmp_eval_inÔ   sL        ˙˙    ˙˙    ˙
    ˙
@˙
rw   c                   C   sÂ  t g gdgdtg kstt g ggdgdtg gks8tt g ggddgdtg ksVtt tg dttksltt tdddgdtdkstt tddgdtdddgks¨tt tdgdtd	dgdgd
ddggksŇtt tddgdtddddgksôtt tddgdtddddddgkstt tddgdtddddddgksDtt tddgdtddd d!d"d#d$d%d&d'g
ksttt tddgdtdd(d)d*gkstt t	ddd+gdtd,ddd-gksžtd S ).NrE   rF   iď˙˙˙rN   iJ iú˙˙rG   iO éS   i.  éQ   ix˙˙˙iS=  iÎ#  iř˙˙iô˙˙˙iú˙˙r   iBý˙˙i8ű˙˙iý˙˙é   éR   iĂë˙˙i8˙˙iěĹ˙˙iäý˙˙é   rS   l   Áoä iů lü˙˙˙fc5lý˙˙˙y
?÷i(č˙l   2c[l   ţ|U78éü˙˙˙l   XLk^ i× i˛˙˙˙iř˙˙iXť˙˙rY   i°  i  )
r   r4   rO   Úf_0Úf_1Úf_2Úf_3Úf_4Úf_5rZ   r@   r@   r@   rC   Útest_dmp_eval_tailç   sT     *"   ˙˙
   ˙˙
   ˙      ˙˙
$r   c                	   C   sz   t tddddtttttdddtddtddtks:tt tddddttttddtddtkshtttdd  d S )NrF   r]   rE   rG   r   c                   S   s   t tdtdddtS rX   )r   rZ   r4   r@   r@   r@   rC   rV     rW   z'test_dmp_diff_eval_in.<locals>.<lambda>)	r   rZ   r4   r   r   r   rO   r?   r[   r@   r@   r@   rC   Útest_dmp_diff_eval_in  s    "˙˙r   c                  C   s   t dd t dt ddt dt dd t dt dg} t ddt dt ddt dt ddt dt dg}t| dt |kstttd	d
  d S )NrE   éĐ  r   re   rF   é=   rM   rN   c                   S   s   t tdtdgdtS )NrE   r   rG   )r+   r5   r@   r@   r@   rC   rV     rW   z!test_dup_revert.<locals>.<lambda>)r5   r+   rO   r?   r0   ŠrB   Úgr@   r@   rC   Útest_dup_revert  s    84r   c                  C   s   t dd t dt ddt dt dd t dt dg} t ddt dt ddt dt ddt dt dg}t| ddt |kstttd	d
  d S )NrE   r   r   re   rF   r   rM   rN   c                   S   s   t dggddtS ŠNrE   rF   )r,   r5   r@   r@   r@   rC   rV     rW   z!test_dmp_revert.<locals>.<lambda>)r5   r,   rO   r?   r.   r   r@   r@   rC   Útest_dmp_revert  s    84r   c                  C   sÚ   t ddddddgtdtddddddgks0tt ddddddgtdtdddddgks^tt} t | d| d| dg| d| | d| dgksttd}t |d|d|dg|d||d|dgksÖtd S )	NrE   rF   rG   rY   rM   rh   rS   r   )r   r4   rO   r6   r3   )ÚRrf   r@   r@   rC   Útest_dup_trunc  s    0.6r   c                   C   sV   t g gddgdtg gkstt ddgdddgdggddgdtdgdggksRtd S )NrE   rF   rY   r^   )r   r4   rO   r@   r@   r@   rC   Útest_dmp_trunc(  s    r   c                   C   sN   t ttddttdddgdggg gdddgdddgdgggdtksJtd S )NrG   rF   rE   rS   r   )r   r~   r4   r   rO   r@   r@   r@   rC   Útest_dmp_ground_trunc-  s    *  ˙˙r   c                   C   s   t dddgtdddgkstttdd  t g tg ks>tt tdgttdgks\tt tdtdtd	gttdtddtdgkstd S )
NrG   rh   é	   rE   rF   c                   S   s   t dddgtS )NrG   rY   rM   )r   r4   r@   r@   r@   rC   rV   6  rW   z test_dup_monic.<locals>.<lambda>r]   é   )r   r4   rO   r?   r/   r5   r@   r@   r@   rC   Útest_dup_monic3  s
    r   c                   C   sŕ   t dddgdtdddgks tt dgdgdggdtdgdgdggksLtttdd  t g gdtg gksrtt tdggdttdggkstt td	gtdgtd
ggdttdgtdd	gtdggksÜtd S )NrG   rh   r   r   rE   rF   c                   S   s   t dgdgdggdtS )NrG   rY   rM   rE   )r   r4   r@   r@   r@   rC   rV   C  rW   z'test_dmp_ground_monic.<locals>.<lambda>r]   r   )r   r4   rO   r?   r/   r5   r@   r@   r@   rC   Útest_dmp_ground_monic=  s     , ˙$  ˙˙r   c                   C   s  t g ttdkstt dgttdks.tt dgttdksFtt ddgttdks`tt ddgttdksztt dddgttdkstt dddgttdks˛tt tddtddgttddksÚtt tddtddgttdd	kstd S )
Nr   rE   rS   rF   rY   rG   r   rM   é   )r   r4   rO   r5   r@   r@   r@   rC   Útest_dup_contentK  s    (r   c                   C   s&  t g gdttdkstt g gdttdks4tt dggdttdksPtt dggdttdksltt dgdggdttdkstt dgdggdttdksŹtt dgdgdggdttdksĐtt dgdgdggdttdksôtt tddgtddggdttddks$tt tddgtddggdttdd	ksTtt tdttdksntt tttddtdttdkstt tdttdks°tt tttddtdttdksŘtt tdttdksňtt tttddtdttdkstt tdttdks4tt tttddtdttdks\tt t	dttdksvtt tt	td
dtdttd
kstt t
dttdks¸tt tt
tddtdttdksŕtt tdttdksútt tttddtdttdks"td S )NrE   r   rS   rF   rY   rG   r   rM   r   rh   r]   rN   )r   r4   rO   r5   r~   r   r   r   r   r   r   rZ   r@   r@   r@   rC   Útest_dmp_ground_contentX  s      $$00  ˙˙
  ˙˙
  ˙˙
  ˙˙
  ˙˙
  ˙˙
  ˙˙r   c                   C   sĆ  t g ttdg fkstt tdgttdtdgfks@tt tdtdgttdtdtdgfksrtt tdtdgttdtdtdgfks¤tt tdtdtdgttdtdtdtdgfksâtt tdtdtdgttdtdtdtdgfks"tt g ttdg fks>tt tdgttdtdgfksftt tdtdgttdtdtdgfkstt tdtdgttdtdtdgfksÎtt tdtdtdgttdtdtdtdgfkstt tdtdtdgttdtdtdtdgfksNtt tddtddgttddtdtdgfkstt tddtddgttddtdtd	gfksÂtd S )
Nr   rE   rF   rY   rG   r   rM   r   rh   )r   r4   rO   r5   r@   r@   r@   rC   Útest_dup_primitive  sX    &22 ˙˙ ˙˙
(44 ˙˙
 ˙˙
 ˙˙
 ˙˙r   c                   C   s,  t tdgdttdtdgfks(tt g gdttdg gfksHtt tdttdtfksdtt tttddtdttdtfkstt tdttdtfksŞtt tttddtdttdtfksÔtt tdttdtfksđtt tttddtdttdtfkstt tdttdtfks:tt tttddtdttdtfksftt tdttdtfkstt tttddtdttdtfks°tt t	dttdt	fksÎtt tt	tddtdttdt	fksútt t
dttdt
fkstt tt
td	dtdttd	t
fksDtt tdggdttdtdggfksrtt tdggdttdtdggfks tt tddgtdd
ggdttdd
tdgtdggfksätt tddgtddggdttddtdgtdggfks(td S )NrE   r   rF   rG   rY   rM   rh   r]   rN   r   r   )r   r4   rO   r~   r   r   r   r   r   r   rZ   r5   r@   r@   r@   rC   Útest_dmp_ground_primitive  s    (   ˙
˙  ˙
˙  ˙
˙
  ˙
˙
  ˙
˙
  ˙
˙
  ˙
˙
..  ˙˙
  ˙˙r   c                  C   sz   t dddddddgt} t ddddddgt}t d	dd
ddddgt}t ddddddgt}t| |td||fksvtd S )Né š, r   éŔ! é°b éä˛  é Vé + é`Ĺ é@   é0   rH   rE   é  éŔ   re   )r   r4   r   rO   ŠrB   r   ÚFÚGr@   r@   rC   Útest_dup_extractĹ  s
    r¨   c                  C   s    t dgg dgg dgg dggdt} t dgg dgg dgg gdt}t d	gg d
gg dgg dggdt}t dgg dgg dgg gdt}t| |dtd||fkstd S )Nr   r   r   r   rE   r   r   r    rĄ   r˘   rH   rŁ   r¤   re   )r   r4   r   rO   rĽ   r@   r@   rC   Útest_dmp_ground_extractĎ  s      ˙"rŠ   c                	   C   sR  t g tg gg gfkstt dgtdggg gfks8tt ddgtdgdggddggfks`tt ddgtdgdggddggfkstt dddgtdgdgdddggddgddggfksŔtt tdtdtdtdgttdgg tdtdtdgtdggtdtdgg tdtdtdtdggfks@tttdd  d S )	NrE   r   rF   rG   rS   r^   c                   S   s   t tdtdgtS r   )r    r8   r@   r@   r@   rC   rV   é  rW   z$test_dup_real_imag.<locals>.<lambda>)r    r4   rO   r?   r1   r@   r@   r@   rC   Útest_dup_real_imagÚ  s    (( ˙"˙ (,ţrŞ   c                   C   s|   t g tg kstt dgtdgks(tt dddddgtdddddgksNtt ddddddgtd	dd
dddgksxtd S )NrE   rF   rG   rY   rM   rs   r}   rh   rS   r^   éű˙˙˙)r!   r4   rO   r@   r@   r@   rC   Útest_dup_mirrorí  s    &rŹ   c                   C   s   t g dtg kstt dgdtdgks,tt dddddgdtdddddgksTtt dddddgd	td
ddddgks|td S )NrS   rE   rF   rG   rY   rM   rs   r}   iů˙˙˙ia	  iRý˙˙é   iä˙˙˙)r"   r4   rO   r@   r@   r@   rC   Útest_dup_scaleő  s    (rŽ   c                   C   s   t g dtg kstt dgdtdgks,tt dddddgdtdddddgksTtt dddddgd	tdd
dddgks|td S )NrE   rF   rG   rY   rM   rh   r   é   r]   é   iS  i°  iĂ  )r#   r4   rO   r@   r@   r@   rC   Útest_dup_shiftý  s    (rą   c                  C   s´   t tdtdgtdgdttdtdgks4tt g gtdtdgdtg gksZttdtdgg g} tdtdgtdtdgg}t | tdtdgdt|ks°td S )NrE   rF   r   rG   )r$   r4   rO   )ZxyZx1y2r@   r@   rC   Útest_dmp_shift  s
    4& r˛   c                
   C   s   t g g ddgtg kstt g dgddgtg ks6tt g ddgddgtg ksTtt dddddgdddgddgtddd	d
dddddg	kstd S )NrE   rF   rh   rŤ   rY   r^   rK   iŽ˙˙˙i  ic÷˙˙i  iMÎ˙˙i'C  iÝĘ˙˙iĽ  )r%   r4   rO   r@   r@   r@   rC   Útest_dup_transform  s     ˙rł   c                   C   sF  t g g tg kstt g dgtg ks*tt g ddgtg ksBtt dgg tdgksZtt dddgg tg ksttt dddgg tdgkstt dddgdgtdgksŽtt dddgdgtdgksĚtt dddgddgtdddgksđtt dddgddgtdddgkstt dddgdddgtdddddgksBtd S )	NrE   rF   r   rY   r]   rĄ   rS   rN   )r&   r4   rO   r@   r@   r@   rC   Útest_dup_compose  s    $&r´   c                   C   s  t dddgdddgdtdddddgks,tt g ggg ggdtg ggksNtt g ggdgggdtg ggksrtt g ggdggdgggdtg ggkstt dgggg dtdgggksžtt dgdgg gg gdtg gksâtt dgdgdggg gdtdggkstt dgdgdggdggdtdggks8tt dgdgdggdggdtdggksdtt dgdgdggdgdggdtdgg g gkstt dgdgdggdgdggdtdgdgdggksĐtt dgdgdggdgdgdggdtdgdgdgdgdggkstd S )	NrE   rF   r   rY   rN   r]   rĄ   rS   )r'   r4   rO   r@   r@   r@   rC   Útest_dmp_compose*  s&    ,"$*"$*,,48   ˙˙rľ   c                  C   s  t dgtdggkstt ddgtddggks4tt ddddgtddddggksXtt dddddgtdddgdddggkstt dddddddgtddddgdddggksśtt dddddgtdddgdddggksâtt dddddgtdddgdddggkstddddddd	dd
ddddg} t | tdddddgddddggksXtdddddddddddddg} t | tdddddgddddggks tdddddddddddddg} t | tdddd dgddddggksčttd!t\}}d"|d  d# d$|d  d% d&|d  d'|  d( d)|d  d*|  d+ d,|d  d-|d   d.|  d/ g} t | | Ą | gks~td S )0NrE   r   r]   rY   rG   rF   rŻ   é   iô  iq  rs   iö˙˙˙r   rM   é(   i,  ič  iâ  r}   iě˙˙˙é   iř˙˙˙i˙˙˙i  i¨ý˙˙ia  iöű˙˙iX  iV˙˙˙rJ   re   iŢ˙˙˙Útrh   é*   r˘   é`   rz   i  i   ip  i`  rŁ   él   i8  i°  r¤   )r(   r4   rO   r:   Z	to_domain)rB   r   rš   r@   r@   rC   Útest_dup_decompose@  s4    $, ˙˙,.***"ür˝   c                  C   sL  t ddt ddt ddg} tt ddg| t tg | t tg | t tt ddt ddg| t tt ddt ddg| t g}t dt dt dt dt dt dt dt dt dt dt dt dt dt dt dt dt dg}t|dt  tĄ|ksţttdtdtdtddtddg}t|dt|ks:tttdd	  d S )
NrE   r   rK   rF   iB  ižý˙˙iAF c                   S   s   t tdtdgdtS )NrE   rF   r   )r)   r8   r@   r@   r@   rC   rV   r  rW   ztest_dmp_lift.<locals>.<lambda>)	r5   r-   r)   Zalgebraic_fieldr;   rO   r7   r?   r1   )ÚqZf_aZf_liftZf_gr@   r@   rC   Útest_dmp_liftc  s&    & ˙6       ˙&rż   c                   C   s  t g tdkstt ddgtdks(tt dddgtdks@tt ddddgtdksZtt dddddgtdksvtt dddgtdkstt ddddgtdks¨tt dddddgtdksÄtt ddd	gtdksÜtt ddd	gtdksôtt ddd	gtdkstt dddgtdks(tt ddd	gtdksBtt dddgtdks\tt dddgtdksvtt dddgtdkstt ddddd	gtdksŽtt ddddd	gtdksĚtt ddddd	gtdksętt dddddgtdkstt ddddd	gtdks&tt dddddgtdksDtt dddddgtdksbtt dddddgtdkstd S )
Nr   rE   rF   rG   rY   rM   rS   r}   rŤ   )r*   r4   rO   r@   r@   r@   rC   Útest_dup_sign_variationsu  s0    rŔ   c                  C   sž  t g tttdg fkstt tdgtttdtdgfksDtt tdgtttdtdgfksltt tddgttdtdgfkstt tddgtttdtdgfksžtt tdtdtdgtttdtdtdtdgfksţtt tdtddtdgtttdtdtdtdgfksBtt tdtdtdgttddtdtdtdtdgfkstt tdtddtdgttddtdtdtdtdgfksĐtt ttdd ttdd	 gttd	td
tdgfkstt tdgttdtdgfks<tt tttt tdgtttttttdgfks|tt 	tĄ} t | ddt d  | dg| }t
|dksştd S )NrE   r]   rG   r   rF   TŠÚconvertr   rY   rh   gE/ŁXnů @gjŢq @g¤p=
×Ł@g        z0(x + 0.353356890459364, [1.05971731448763, 0.0]))r   r5   r4   rO   r8   r<   r=   r>   r9   Z
frac_fieldÚstr)rŚ   Úresultr@   r@   rC   Útest_dup_clear_denoms  sj    (((*  ˙˙  ˙˙

˙˙  ˙˙

 ˙˙  ˙˙
 ˙˙
(@
"rĹ   c                   C   sP  t g gdtttdg gfks"tt tdggdtttdtdggfksPtt tdggdtttdtdggfks~tt tddggdttdtdggfksŹtt tddggdtttdtdggfksÜtt tdgtdgg gdtttdtdgtdgg gfks tt tdgtddgg gdtttdtdgtdgg gfksftt tdtdtdgdttddtdtdtdtdgfksŽtt tdtddtdgdttddtdtdtdtdgfksřtt tdgtdgg gdttddtdtdgtdgg gfks@tt tdgtddgg gdttddtdtdgtdgg gfkstt ttdd gttdd	 ggdttd	td
gtdggfksŘtt tdggdttdtdggfkstt tttt tdggdtttttttdggfksLtd S )NrE   r]   rG   rF   r   TrÁ   r   rY   rh   )r	   r5   r4   rO   r8   r<   r=   r>   r@   r@   r@   rC   Útest_dmp_clear_denoms°  s    "...0   ˙˙
˙
 ˙  ˙˙

˙˙   ˙˙
˙   ˙˙
˙˙   ˙˙
˙˙
"  ˙˙
.rĆ   N)xÚ__doc__Zsympy.polys.densebasicr   r   r   r   r   Zsympy.polys.densearithr   Zsympy.polys.densetoolsr   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   Zsympy.polys.polyclassesr-   Zsympy.polys.polyerrorsr.   r/   r0   r1   Zsympy.polys.specialpolysr2   Zsympy.polys.domainsr3   r4   r5   r6   r7   r8   r9   Zsympy.polys.ringsr:   Zsympy.core.numbersr;   Zsympy.core.singletonr<   Z(sympy.functions.elementary.trigonometricr=   Z	sympy.abcr>   Zsympy.testing.pytestr?   r~   r   r   r   r   r   rZ   rP   rQ   r\   rg   rl   rn   rp   rr   rw   r   r   r   r   r   r   r   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   Ú<module>   sf   $!
		
**

	#