K iLdZddlmZddlmZmZmZddlmZm Z m Z m Z e\Z Z ZZZZZdZdZdZdZd Zd Zd Zd Zd ZdZdZdZdZdZ dZ!dZ"y)zOTests for Euclidean algorithms, GCDs, LCMs and polynomial remainder sequences. )ring)ZZQQRR)f_polysdmp_fateman_poly_F_1dmp_fateman_poly_F_2dmp_fateman_poly_F_3ctdt\}}|dzd|dzzz d|dzzz d|zzdz}|dz|dzzd|zz dz }tdd  |ztdd z}tdd |dzztdd |zz dz}|dz}|j||||fk(sJ|j|||||fk(sJ|dzd|dzzz|z dz}|dz|z dz}|j||\}}}|j||\}}} |j |j |||j |||k(sJ|j |j |||j ||| k(sJd|z}|dzd z }tdd |z}tdd  }d}|j||||fk(sJ|j|||||fk(sJy) Nx  )rrdup_half_gcdex dup_gcdexdup_adddup_mul) Rr fgsthSTHs h/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sympy/polys/tests/test_euclidtools.pytest_dup_gcdexr%s+ R=DAq 1qAv !Q$A%*A 1q!t acAA Aa R!WA 1Q1 r!Awqy 1$A AA  Aq !aV ++ + ;;q! Aq )) ) 1qAv AA 1q1 Akk!QGAq!kk!QGAq! 99QYYq!_YYq!_ &)* ++ + 99QYYq!_YYq!_ &)* ++ + !A 1r A 1R A Ab A A  Aq !aV ++ + ;;q! Aq )) )ctdt\}}|jd|z|dzdz tdd|zk(sJy)Nr rrrr)rr dup_invertrr s r$test_dup_invertr*1s@ R=DAq <<!QTBY '2a8A: 55 5r&c tdt\}}|dz|dzzd|dzzz d|dzzz d|dzzzd|zzdz }d|dzzd|dzzzd|dzzz d|zz d z}|j||||tdd |dzztd d|dzzztd dz td d  |dzzd|zz td d ztdd|ztddz tdd gk(sJy)Nr rrr rr ruiii=MidiiuLiif )rrdup_euclidean_prsrr rrs r$test_dup_euclidean_prsr36s5 R=DAq 1q!t a1fqAv%!Q$.14q8A !Q$1a4!AqD& 1Q3&+A  q! $  AaA 1Q1 $r!Aw. C AqD1Q3C+ 6%Rt_, Jy !! )# ## #r&cPtdt\}}|dz|dzzd|dzzz d|dzzz d|dzzzd|zzdz }d|dzzd|dzzzd|dzzz d|zz d z}|j||||d |dzz|dzzdz d |dzzd |zzd z d|zdz dgk(sJy)Nr r,rrr rrr-r. r01i7ir)rrdup_primitive_prsr2s r$test_dup_primitive_prsr9Es R=DAq 1q!t a1fqAv%!Q$.14q8A !Q$1a4!AqD& 1Q3&+A  q! $   1a4!Q$ 1a4"Q$ Q  )    r&c<tdt\}}|jdddk(sJ|jdddk(sJ|jdddk(sJ|dz|dzzd|dzzz d|dzzz d|dzzzd|zzd z }d|dzzd |dzzzd|dzzz d |zz d z}d |dzzd|dzzz d z}d |dzzd|zzdz }d|zdz }d}|j||||||||gk(sJ|j|||j |k(sJ|dzd|zz dz}|dzdz }d|zdz }|j|||||gk(sJ|j||dk(sJ|dzdz}|dzdz }d}|j|||||gk(sJ|j||dk(sJ|dzdz }|dz|dzz dz}|j||dk(sJd|dzz|z }d |dzzdz}|j||dk(sJ|dzd|zz dz}|dz|z d z}|j||dk(sJ|dzd|dzzz d|zzdz }|dzd |dzzz d|zzdz }|j||dk(sJ|dzd|dzzz d|zzdz }|dzd|dzzz d|zzdz }|j||dk(sJ|dzdz }|dzd|dzzzd|zzdz }|j||dk(sJ|dzdz }|dz }|j||dk(sJy) Nr rrr,rrr rrr-r.rA}in$i 0id@i  Jxi@ r)rr dup_resultantdup_subresultantsdup_LC)rr rrabcds r$test_dup_subresultantsrOTs R=DAq ??1a A %% % ??1a A %% % ??1a A %% % 1q!t a1fqAv%!Q$.14q8A !Q$1a4!AqD& 1Q3&+A 1a4!AqD&1A 1a4#a%#A QAA  q! $Aq!Q(: :: : ??1a AHHQK // / 1qs QA 1qA !aA  q! $Aq 11 1 ??1a A %% % 1qA 1qA A  q! $Aq 11 1 ??1a A %% % 1qA 1q!t aA ??1a A %% % !Q$ A !Q$ A ??1a B && & 1qs QA 1q1 A ??1a C '' ' 1qAv 1q A 1r!Q$wA#A ??1a E )) ) 1qAv 1q A 1r!Q$wA"A ??1a A %% % 1qA 1qAv !aA ??1a B && & 1qA AA ??1a B && &r&c tdt\}}}|jdddk(sJ|jddddk(sJ|j dddk(sJ|j dddk(sJ|jdddk(sJ|jdddk(sJ|jdddk(sJ|jdddk(sJ|jddddk(sJ|j dddk(sJ|j dddk(sJd|dzz|z|dzz dz }|dz||dzzzdz }d|z|dzz|dzzd|zz dz}d |d zzd |d zzz |d zzd|dzzz d|dzzzd|dzzzd|zz dz}|j |}|j||||||gk(sJ|j|||k(sJ|j||d|k(sJ|j |||k(sJ|j |||k(sJ|dz dz}d|dzz|z|dzz}d|dzzd|zzdz}d|dzzd|dzzzd|zzdz}|j |}|j|||||gk(sJ|j|||k(sJ|j||d|k(sJ|j |||k(sJ|j |||k(sJtdt\}}}}} } d |dzzd|z|zz d|z|zz ||zz}|dz|| zz || zz | | zz}|dz|dzzd|dzz|z| zz d|dzz|z| zz d|dzz| z| zzd|z|dzz| zz d|z|dzz| zz d |z|z| dzzzd |z|z| z| zzd |z|z| dzzzd|z| dzz| zz d|z| z| dzzz d|dzz| z| zzd |z| dzz| zz d |z| z| dzzz d| dzz| dzzz}|j |||j|k(sJtdt\}}}}} } |dztdd|z|zz tdd|z|zz tdd |z|zz}|dz|| zz || zz | | zz}tdd|dzz|dzztdd |dzz|z| zz tdd |dzz|z| zz tdd|dzz| z| zztdd|z|dzz| zz tdd|z|dzz| zz tdd |z|z| dzzztdd|z|z| z| zztdd |z|z| dzzztdd|z| dzz| zz tdd|z| z| dzzz tdd|dzz| z| zztdd|z| dzz| zz tdd|z| z| dzzz | dz| dzzz}|j |||j|k(sJtdt\} } td| \} }|d zd|dzzz d|dzzzdz}d| z|dzz|dzzd| z|dzzzd|dzzz d | z|zz d z}| j||d | d zzd!| dzzzd"| dzzzd#zk(sJy)$Nx,yrrrrr r-rDrr@r6r,irr-ir0 x,y,z,u,v$rr irFi,i!ibi) rr dmp_resultantdmp_prs_resultantdmp_zz_collins_resultantdmp_qq_collins_resultantdmp_LCdmp_subresultantsdroprrH)rr yrrrKrLrzuvRtrRxs r$test_dmp_subresultantsrjs5"oGAq! ??1a A %% %  q! $Q '1 ,, , % %a +q 00 0 % %a +q 00 0 ??1a A %% % ??1a A %% % ??1a A %% % ??1a A %% %  q! $Q '1 ,, , % %a +q 00 0 % %a +q 00 0 !Q$q1a4!A 1qAv A !AqD1a4"Q$"A 1b52ad7QT!Bq!tG+a1f4s1a4x?#a%G"LA  A  q! $Aq! 44 4 ??1a A %% %  q! $Q '1 ,, , % %a +q 00 0 % %a +q 00 0 A A !Q$q1a4A 1a4"Q$A AqD3q!t8c!e#b(A  A  q! $Aq 11 1 ??1a A %% %  q! $Q '1 ,, , % %a +q 00 0 % %a +q 00 0K,Aq!Q1 !Q$1Q1Q1$A 1qs QqS1Q3A 1QT AadF1HQJ1a4!+a1fQhqj81Q3q!t8A:E !AqD  qSU1a4Z "$Q$q&(1* -/0s1uQTz :<>qDAIaK H 1Qq!t  1fQhqj !#%a419Q; /13Aa1 =?A!Q$wq!t| LA % %a +qvvay 88 8K,Aq!Q1 1r!Awqy{R!WQYq[(2a719Q;6A 1qs QqS1Q3A 1RA adR"Xad]1_Q..Ab!Q$q1BBR!WQPQT\RS^TUEUU 1R 1a4 qHQJq!tOA- .021Q ! AqD0@ ACEa719Q;q=QR? S 1Q ! AqD a719QT>!+ ,.01gaik!Q$.> ?ACAaAaPQAQ R 1Q !Q$q a719Q;q!t+ ,/0d1a4i 8A % %a +qvvay 88 8 bMEB bMEB 1qAv !Q$"A 1QT AqD2a419$qAv-1Q6:A  Aq !WQT\GAqDL%@6!Q$;%NQV%V VV Vr&ctdt\}}|jddk(sJ|j|dk(sJ|j|dzd|dzzzd|zzdz dk(sJ|jd |d zz|dzzdzd k(sJ|j|d zd|dzzzd |dzzzd |zz dzdk(sJ|jd|dzzd|d zzzd|dzzz|dzzdzdk(sJy)Nr rrrrr-r6prr rrr@rrW BBu)rrdup_discriminantr)s r$test_dup_discriminantrqs6 R=DAq  a A %% %  a A %% %  adQq!tVmac1B6 76 AA A  a1fq!tma/ 0H << <  adQq!tVma1f4r!t;b@ AQ FF F  bAg1a4/"QT'9AqD@1D EI\ \\ \r&c2tdt\}}|jddk(sJtdt\}}}|jddk(sJ|j|dk(sJ|j|dzd|dzzzd|zzdz dk(sJ|jd |d zz|dzzdzd k(sJ|j|d zd|dzzzd |dzzzd |zz dzdk(sJ|jd|dzzd|d zzzd|dzzz|dzzdzdk(sJ|j|dz|zd|zzd|dzzj|k(sJ|j||dzzd|zzdk(sJtdt\}}}}|j||z|zdk(sJtdt\}}}}}|j|dz|z||zz|zd|z|z|dzzj|k(sJtdt\}}}}}}|j|dz|z|dz|zz||zz|zd|dzz|dzzd|z|z|z|zzd |z|dzzz d |dzz|zz |dz|dzzzj|k(sJy)Nr rrQrrr-r6rlrrmr rrnrr@rrWrroix,y,zx,y,z,urYirZ)rrdmp_discriminantrb)rr rcrerfrgs r$test_dmp_discriminantrws R=DAq  a A %% %5"oGAq!  a A %% %  a A %% %  adQq!tVmac1B6 76 AA A  a1fq!tma/ 0H << <  adQq!tVma1f4r!t;b@ AQ FF F  bAg1a4/"QT'9AqD@1D EI\ \\ \  ad1fqsl +1a4~~a/@ @@ @  a1fqsl +q 00 0gr"JAq!Q  acAg &! ++ +B'MAq!Q  ad1fqslQ. /BqDFQTM3G3G3J JJ JK,Aq!Q1  ad1fq!tAvo!3a7 8 QT!Q$Aa! #ac!Q$h .1a4 9AqDAI EKKAN OO Or&cVtdt\}}d\}}|j|||j||cxk(rdk(sJJd\}}|j|||j||cxk(rdk(sJJd\}}|j|||j||cxk(rdk(sJJd\}}|j|||j||cxk(rd k(sJJd d |zd z}}|j|||j||cxk(rd |zd zd d fk(sJJd |zd zd }}|j|||j||cxk(rd |zd zd d fk(sJJd\}}|j|||j||cxk(rdk(sJJd\}}|j|||j||cxk(rdk(sJJd\}}|j|||j||cxk(rdk(sJJd\}}|j|||j||cxk(rdk(sJJ|d zd |zzd zd }}|j|||j||cxk(rd |d zd |zzd zd fk(sJJ|d zd |zzd zd }}|j|||j||cxk(rd |d zd |zzd zd fk(sJJd |d zzd |zzd zd }}|j|||j||cxk(rd |d zd |zzd zd fk(sJJd d |d zzd |zzd z}}|j|||j||cxk(rd d |d zd |zzd zfk(sJJd |d zzd |zzd z|d z}}|j|||j||cxk(r|d zd |zd zd fk(sJJ|d zd |d zzd |zzd z}}|j|||j||cxk(r|d zd d |zd zfk(sJJ|dz |}}|j|||j||cxk(r d ||fk(sJJ|d zd|dzzzd|d zzzd|zzdz}|dzd|d zzzd|zzdz}|d zd|zzd z}|d zd|zzd z}|dz}|j|||||fk(sJ|j|||||fk(sJ|d zd z }|d zd |d zzzd z}|d zd z}|d zd z }|d zd z}|j|||||fk(sJ|j|||||fk(sJ|dz|dzzd|d zzz d|dzzz d|d zzzd |zzdz }d|dzzd|d zzzd |d zzz d|zz dz}d }|}|}|j|||||fk(sJ|j|||||fk(sJtdt\}}|dz|dzzd|d zzz d|dzzz d|d zzzd |zzdz }d|dzzd|d zzzd |d zzz d|zz dz}d }|}|}|j |||||fk(sJ|j |||||fk(sJtdt\}}d|d zzd!|d"zzzd#|d$zzzd%|d&zzzd'|dzzz d(|d)zzzd*|d+zzzd,z}d-|dzzd.|d)zzzd/|d+zzz d,z }|j||j|d d |k(sJ|j||j|d d |k(sJtdt\}}t d d |d zz|zt d d z}t d d |zt d d z}|d z}|j ||||t d d fk(sJ|j ||||t d d fk(sJtdt\}}d0|zd1z}d2|zd3z}d2|zd3z}d4}d }|j|||||fk(sJy)5Nr rrrrrrrrrrr>rrrGrrr>rrrGrrr rrrrrrr>rrrGrrr>rrrGr>r>rrGrGr,rr.rnrrArr-lp>Z6 -(3{CzVg sR&r7l ` %'('@$@9$`V*l`%Nwgej^ r0cu`ZhD#l]%5u[ov&+/ c>_o],l@)-P/'X=vw+U9+;l _I ,4~XsR`Y?t Ul y[p?u;ZW`( r@lEAy\ ^ lmc @Atsl\o#MkE6w#l @r/sLxFJGjA l 3sd%u%g% 9 i[Tl qRvl@ lP\ l`i*)rrdup_zz_heu_gcddup_rr_prs_gcdrdup_qq_heu_gcddup_ff_prs_gcddup_diff)rr rrr cffcfgs r$ test_dup_gcdrs R=DAq DAq  Aq !Q%5%5a%; Hy HH HH H DAq  Aq !Q%5%5a%; Hy HH HH H DAq  Aq !Q%5%5a%; Iz II II I DAq  Aq !Q%5%5a%; Iz II II I acAgqA  Aq !Q%5%5a%; N!aA NN NN N Q37AqA  Aq !Q%5%5a%; N!aA NN NN N DAq  Aq !Q%5%5a%; Hy HH HH H DAq  Aq !Q%5%5a%; Iz II II I DAq  Aq !Q%5%5a%; Iz II II I DAq  Aq !Q%5%5a%; J{ JJ JJ J a4!A#:>1qA  Aq !Q%5%5a%; U1a4!A#:PQ>ST?U UU UU U a4!A#:>1qA  Aq !Q%5%5a%; U1a4!A#:PQ>ST?U UU UU U QT6AaCST?U UU UU U a1fqslQqA  Aq !Q%5%5a%; U1adQqSjSTn?U UU UU U QT6AaC  ? / /A Gq"u L @B F G 8A = > / /A  Aqzz!Q/ 0 3q 88 8  Aqzz!Q/ 0 3q 88 8 R=DAq 1Q1 q2a7"A 1Q BqGA AA  Aq !aBqG_ 44 4  Aq !aBqG_ 44 4 R=DAqq #99A111A111A C C  Aq !ac] 22 2r&c ntdt\}}}d\}}|j|||j||cxk(rdk(sJJd\}}|j|||j||cxk(rdk(sJJd\}}|j|||j||cxk(rdk(sJJd\}}|j|||j||cxk(rd k(sJJd d |zd z}}|j|||j||cxk(rd |zd zd d fk(sJJd |zd zd }}|j|||j||cxk(rd |zd zd d fk(sJJd\}}|j|||j||cxk(rdk(sJJd\}}|j|||j||cxk(rdk(sJJd\}}|j|||j||cxk(rdk(sJJd\}}|j|||j||cxk(rdk(sJJ|d zd |zzd zd }}|j|||j||cxk(rd |d zd |zzd zd fk(sJJ|d zd |zzd zd }}|j|||j||cxk(rd |d zd |zzd zd fk(sJJd |d zzd |zzd zd }}|j|||j||cxk(rd |d zd |zzd zd fk(sJJd d |d zzd |zzd z}}|j|||j||cxk(rd d |d zd |zzd zfk(sJJd |d zzd |zzd z|d z}}|j|||j||cxk(r|d zd |zd zd fk(sJJ|d zd |d zzd |zzd z}}|j|||j||cxk(r|d zd d |zd zfk(sJJtdt\}}}}}|d zd |zzd zd |zd z}}|j|||j||cxk(r|d z|d zd fk(sJJ|d z|d zzd |d zz|zz|d zz||zz|z|d zd |zzd z}}|d z|d z|z|d zz|z|d z} }}|j||||| fk(sJ|j||||| fk(sJ|j|||| |fk(sJ|j|||| |fk(sJtdt\}}}}t |j t d t\}}}|j||\} }} | |k(r*|j| ||k(r|j| | |k(sJ|j||\} }} | |k(r*|j| ||k(r|j| | |k(sJtdt\}}}}}} t |j t d t\}}}|j||\} }} | |k(r*|j| ||k(r|j| | |k(sJtdt\}}}}}} } } t |j t dt\}}}|j||\} }} | |k(r*|j| ||k(r|j| | |k(sJtdt\ }}}}}} } } }}t |j t dt\}}}|j||\} }} | |k(r*|j| ||k(r|j| | |k(sJtdt\}}}}t |j td t\}}}|j||\} }} | |k(r*|j| ||k(r|j| | |k(sJ|j||\} }} | |k(r*|j| ||k(r|j| | |k(sJt |j td t\}}}|j||\} }} | |k(r*|j| ||k(r|j| | |k(sJ|j||\} }} | |k(r*|j| ||k(r|j| | |k(sJtdt\}}}}}} t |j td t\}}}|j||\} }} | |k(r*|j| ||k(r|j| | |k(sJtdt\}}}td d |d zz|ztd d z}td d |ztd d z}|d z}|j||||td d fk(sJ|j||||td d fk(sJtdt\}}}d|z|d zzd|z|zz d|zz}d|d zz}|j||d|zd|d zzd|zz dzd|d zzfk(sJy)!NrQryrzr{r|r}r~rrrrr rrrrrrrrrrtrsrYz x,y,z,u,v,a,brzx,y,z,u,v,a,b,c,dr,g@g@g?r)rrdmp_zz_heu_gcddmp_rr_prs_gcdmap from_denserdmp_mulr r dmp_inner_gcdrdmp_qq_heu_gcddmp_ff_prs_gcdr)rr rcrrrerfr rrr#rgrKrLrMrNs r$ test_dmp_gcdrs8 5"oGAq! DAq  Aq !Q%5%5a%; Hy HH HH H DAq  Aq !Q%5%5a%; Hy HH HH H DAq  Aq !Q%5%5a%; Iz II II I DAq  Aq !Q%5%5a%; Iz II II I acAgqA  Aq !Q%5%5a%; N!aA NN NN N Q37AqA  Aq !Q%5%5a%; N!aA NN NN N DAq  Aq !Q%5%5a%; Hy HH HH H DAq  Aq !Q%5%5a%; Iz II II I DAq  Aq !Q%5%5a%; Iz II II I DAq  Aq !Q%5%5a%; J{ JJ JJ J a4!A#:>1qA  Aq !Q%5%5a%; U1a4!A#:PQ>ST?U UU UU U a4!A#:>1qA  Aq !Q%5%5a%; U1a4!A#:PQ>ST?U UU UU U QT6AaCST?U UU UU U a1fqslQqA  Aq !Q%5%5a%; U1adQqSjSTn?U UU UU U QT6AaC1Q37qA  Aq !Q%5%5a%; PAq1ua?P PP PP P a419qAvax !Q$ &1 ,q 0!Q$1*q.qAa%Aa!Q$*AECsA  Aq !ac] 22 2  Aq !ac] 22 2  Aq !ac] 22 2  Aq !ac] 22 2gr"JAq!Q!,, 4Q ;rrrrrrsx,y,z,t)rr dmp_contentrangerbf_4f_5f_6) rr rcrrFirers r$test_dmp_contentr_s  %_FAq ==  !! !1fqslQ1!qA 1a[ Q QT!V  == qvvay (( (GR HAq1 ==  "" " ==  "" "i$JAq1Q ==  "" "r&ctdt\}}}|jddk(sJ|jddk(sJd|dzzd|zzdzdd}}}tddD]}||z}|||z|zz }|j||j |||z fk(sJtd t\}}}}|jt \}}|dk(r |t k(sJ|jt \}}|dk(r |t k(sJtd t\}}}}} |jt\}}|dk(r |tk(sJy) NrQrryr)rrrrrrsr)rr dmp_primitiverrbrrr) rr rcrrrrrecontrs r$test_dmp_primitiverusW %_FAq ??1  '' ' ??1  '' '1fqslQ1!qA 1a[ Q QT!V  ??1 !&&)QU!3 33 3GR HAq1ooc"GD! 19c! !ooc"GD! 19c! !i$JAq1Qooc"GD! 19c! !r&ctdt\}}d|dzzdz }|dzd|zz dz}d|zdz}|dz }|j||||fk(sJ|j||ddd||fk(sJ| dz }d|zdz }|dz}d|zdz}|j||||fk(sJ|j||||fk(sJ|jd d d k(sJ|jd d dd k(sJ|j|d d k(sJ|j|d dd k(sJ|jd |dk(sJ|jd |ddk(sJd }|}d}|j||d||fk(sJy)Nr rrFincluderr rSrryrrrrrrrrrrrrrrrrT)rr dup_cancel) rr rrpqrGones r$test_dup_cancelrs R=DAq !Q$ A 1qs QA !aA AA <<1 !Q '' ' <<1e< ,Aq! << < QA !aA AA 1qA <<1 !Q '' ' <<1 !Q '' ' <<1  '' ' <<1e< , << < <<1  '' ' <<1e< , << < <<1  '' ' <<1e< , << < A A C <<1d< +3x 77 7r&ctdt\}}}d|dzzdz }|dzd|zz dz}d|zdz}|dz }|j||||fk(sJ|j||ddd||fk(sJ|jdddk(sJ|jddddk(sJ|j|dd k(sJ|j|ddd k(sJ|jd|d k(sJ|jd|dd k(sJy) NrQrrFrrryrrrrr)rr dmp_cancel)rr rcrrrrs r$test_dmp_cancelrs35"oGAq! !Q$ A 1qs QA !aA AA <<1 !Q '' ' <<1e< ,Aq! << < <<1  '' ' <<1e< , << < <<1  '' ' <<1e< , << < <<1  '' ' <<1e< , << rsU"** %,I!S#sCc *F6 #  D'NKW\ ]O:J3ZV2r 6 0#,"6"8J=r&