K idZddlmZmZmZmZmZmZmZm Z m Z m Z m Z m Z mZmZmZmZmZmZddlmZmZmZddlmZddlmZmZmZdZdZdZ d Z!d Z"d Z#d Z$d Z%dZ&dZ'dZ(dZ)dZ*dZ+dZ,dZ-dZ.dZ/dZ0dZ1y)z&Tests for sparse distributed modules. )sdm_monomial_mulsdm_monomial_degsdm_monomial_dividessdm_addsdm_LMsdm_LT sdm_mul_termsdm_zerosdm_degsdm_LC sdm_from_dict sdm_spoly sdm_ecart sdm_nf_mora sdm_groebnersdm_from_vector sdm_to_vectorsdm_monomial_lcm)lexgrlex InverseOrder)QQxyzc&tdddk(sJy)Nrr)rrr )ro/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sympy/polys/tests/test_distributedmodules.pytest_sdm_monomial_mulr&s Iv .) ;; ;r$c$tddk(sJy)Nr"rr )rr#r$r%test_sdm_monomial_degr*s I &! ++ +r$c&tdddk(sJy)Nr!)rr)r)rr)r )rr#r$r%test_sdm_monomial_lcmr,s Iy 1Y >> >r$ctdddusJtdddusJtdddusJtdddusJtdddusJtd d dusJy) NrrrTrr"r)r)rrr(r"rrFr)r)rr")r)rr)rr#r$r%test_sdm_monomial_dividesr1s  9 5 == =  9 5 == =  9 5 == =  9 5 >> >  9 5 >> >  9 5 >> >r$cXtdtdfgttdk(sJy)Nr!r))r rr#r$r% test_sdm_LCr3's' Ir!u%& +r!u 44 4r$c tdtdtdtdtdd}t|tdtdfdtdfdtdfdtdfdtdfgk(sJy)Nrrr"rrrrr"rrrr"rrrrr rrrrr6r7r8r9r:)rr rdics r%test_sdm_from_dictr=+sAbe2a5Abe 5C e $ 1 r!u 5 1 r!u 5 be7L N NN Nr$ctdtdfgdtdfgttdtdfdtdfgk(sJtdtdfgdtdfgttgk(sJtdtdfgdtdfgttdtdfgk(sJtdtdfgd tdfgttd tdfdtdfgk(sJy) N)rrrrr0r.r"r rrrr)rrrr#r$r% test_sdm_addrA5s Y1&'9be*<)=sB G RU iA/0 11 1 Y1&'9bf*=)>R HB NN N Y1&'9be*<)=sB G RU    Y1&'9be*<)=sB G RU iA/0 11 1r$ctdtdtdd}tt|tdk(sJy)Nrr!)rrrDrrrE)rrr rr;s r% test_sdm_LMrF?s4e1"Q% @C -S) *i 77 7r$ctdtdtdd}tt|tdtdfk(sJy)Nrr"r rCrE)rrr rr;s r% test_sdm_LTrHDs=e1"Q% @C -S) *y"Q%.@ @@ @r$ctdtdfgdtdfttgk(sJtgdtdfttgk(sJtdtdfgdtdfttdtdfgk(sJdtdfdtd fg}t|d td fttd td fdtdfgk(sJy)Nr.r)rrrrrr)r"rrrDr )rrr")r"rr"r/)r rr)fs r%test_sdm_mul_termrNIs )RU+,vr!uosB G2 MM M VRUOS" 5 ;; ; )RU+,vr!uosB G RU    RU iA/0A FBqE?C 4 RU iA/0 11 1r$c"tgk(sJy)N)r r#r$r% test_sdm_zerorPSs :  r$c(tgddk(sJy)N)r!r)) rrr))r"r rDrD)r r#r$r% test_sdm_degrUWs D E JJ Jr$cdtdfdtdfg}dtdfg}dtdfg}t||ttgk(sJt||ttdtdfgk(sJy)N)r"rrrr@)r"r rr!r/)rrr)rMghs r%test_sdm_spolyrY[s~ RU iA/0A RU A RU A Q3 #r )) ) Q3 #BqE(:'; ;; ;r$cLtddgdk(sJtddgdk(sJy)NrR)r@rr))r"r"rr))rr)rrr )rr#r$r%test_sdm_ecartr[cs2 nn5 6! ;; ; nn5 6! ;; ;r$c ttdtdtdtdtddt}ttdtdtddt}tdtdit}tdDcgc]!}t|dddftdit#c}\}}}t |||gtt|||gfd tdfd tdfdtdfd tdfgd tdfd tdfgfk(sJt |||gtt|||gfd tdfd tdfdtdfgd tdfdtdfd tdfgfk(sJt t tztdzttzztz tgttt ttg}t t tdgttt ttg}t t tzttdzgttt ttg}t |||gttt |||gttcxk(r6dtdfdtdfdtdfdtdfgk(sJJycc}w)Nrr5r?)r:)rrr"r)rrrrr:r r)phantomr8r9)rrrr)rrrr)r"rrr)r"rrrr"gens)rrrrrrrr)rrrr)rrrr) r rrrangerrrrrr)rMf1f2iid0id1id2s r%test_sdm_nf_morarhhsRU"Q% e2a51O  A be2a5&(f./4 6B  be,e 4B %a*%q!QlBqE%:EB*OS#s q2r(E2c3Z7H I A ,1!6r!u8M A  ! B <A"7 8 : :: : q2r(E2c3Z7H I A ,1!6r!u8M N B <B"8<A:O P R RR R 1adQqSj1na0#rAq JA !QC1a)  ?? ? +,q!Qiq AaAY NN N Aq63!Q 8HJ FF Fr$cz tttgfd}|ttgtsJ|ttgttzsJ|ttgdrJ|ttgtrJ|tdztztdztzgttz sJ|ttztzttzttzzttzzttztzgtdzrJ|ttztzttzttzzttzzttztzgtdzsJ|ttztzttzttzzttzzttztzgtdzsJ|ttztzttzttzzttzzttztzgttdzzrJ|ttztzttzttzzttzzttztzgtdztdzzdtztztzzsJ|ttztzttzttzzttzzttztzgttztzsJ|tdtztzddtzz gdsJ|tdztdzztdztdzztdztdzztdztztdztzztdztzzgtdzsJ|tdztdzztdztdzztdztdzztdztztdztzztdztzzgtdztdzzrJ|tdtztzztdtzzgtrJ|tdtztzztdtzzgttzrJy)Nc |Dcgc]}t|gtt}}t|ttt}t t|gtt|ttt k(Scc}wNr^)rrrrrr )IrMrWSGr_s r%containsz!test_nontrivial..containssf?@ A!_aS#r 5 A A Kb 1?A3RdCc2'*2*5 5 BsA8rr"r rDr)rTr)rrr_s @r%test_nontrivialrss q!9D5 QFA   QFAE "" "A"" "A"" " QTAXq!tax(!a% 00 0QAaC!A#I!OQqSU;QTBB B QUQY!ac AaC1Q7A >> > QUQY!ac AaC1Q7A >> >QAaC!A#I!OQqSU;Qq!tVDD D QUQY!ac AaC1Q7A1qs1uQw9N OO O QUQY!ac AaC1Q71Q ?? ? QA 1qs7+Q // /  A1adQTk1a4!Q$;1QAa!Q$q&0HI 1   A1adQTk1a4!Q$;1QAa!Q$q&0HI 1q!t   AEAI1q5 2A66 6AEAI1q5 2AE:: ::r$c(tttttgfd}|ttgtsJ|ttgttzsJ|ttgdrJ|ttgtrJ|tdztztdztzgttz sJ|ttztzttzttzzttzzttztzgtdzrJ|tdtztzztdtzzgtsJ|tdtztzztdtzzgttzsJy)Nc |Dcgc]}t|gt}}t|tt}tt|gtt|ttt k(Scc}wrn)rrrrrr )rorMrWrprqr_igrlexs r%rrztest_local..containssfBC DQ_aS&"4 8 D D K 4?A3RdCc2'*2*5 5 EsA0rr")rrrrr)rrr_rvs @@r% test_localrws1 % F q!9D5 QFA   QFAE "" "A"" "A"" " QTAXq!tax(!a% 00 0QAaC!A#I!OQqSU;QTBB B QA ]Aq1uI. 22 2 QA ]Aq1uI.A 66 6r$c0ttg}t}ttdgtt |}tdtgtt |}t ||tt tk(sJt ||tt tk(sJy)Nrr^)rrr rrrr)r_rbrcf3s r%test_uncovered_linerzsp q6D B !Qbt 4B !Qbt 4B RS" % 33 3 RS" % 33 3r$ctg}tdtgtt|}tdtdz gtt|}t t ||gt ttdk(sJy)Nrr^rr")rrrrlenrr)r_rbrcs r%test_chain_criterionr}sW 3D !Q 6B !QUUBT :B |RHk5"= >! CC Cr$N)2__doc__sympy.polys.distributedmodulesrrrrrrr r r r r rrrrrrrsympy.polys.orderingsrrrsympy.polys.domainsr sympy.abcrrrr&r*r,r1r3r=rArFrHrNrPrUrYr[rhrkrsrwrzr}r#r$r%rs,;:"<,??5N18 A 1K<<  6G;B7&4Dr$