K ito,ddlmZmZmZmZmZmZmZmZm Z m Z m Z m Z m Z mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm 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/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;mZ>m?Z?m@Z@mAZAmBZBmCZCddlDmEZEddlFmGZHddlImJZJddlKmLZLddlMmNZNddlOmPZPdZQd ZRd ZSd ZTd ZUd ZVdZWdZXdZYdZZdZ[dZ\dZ]dZ^dZ_dZ`dZadZbdZcdZddZedZfdZgdZhd Zid!Zjd"Zkd#Zld$Zmd%Znd&Zod'Zpd(Zqd)Zry*)+)Cgf_crtgf_crt1gf_crt2gf_int gf_degreegf_stripgf_trunc gf_normal gf_from_dict gf_to_dictgf_from_int_polygf_to_int_polygf_neg gf_add_ground gf_sub_ground gf_mul_groundgf_addgf_sub gf_add_mul gf_sub_mulgf_mulgf_sqrgf_divgf_remgf_quogf_exquo gf_lshift gf_rshift gf_expandgf_pow gf_pow_modgf_gcdexgf_gcdgf_lcm gf_cofactorsgf_LCgf_TCgf_monicgf_eval gf_multi_eval gf_composegf_compose_mod gf_trace_mapgf_diffgf_irreduciblegf_irreducible_pgf_irred_p_ben_orgf_irred_p_rabin gf_sqf_list gf_sqf_partgf_sqf_p gf_Qmatrix gf_Qbasisgf_ddf_zassenhaus gf_ddf_shoupgf_edf_zassenhaus gf_edf_shoup gf_berlekamp gf_factor_sqf gf_factorgf_valuelinear_congruence_csolve_prime_las_vegas csolve_prime gf_csolvegf_frobenius_mapgf_frobenius_monomial_base)ExactQuotientFailed) polyconfig)ZZ)pi) nextprime)raisescgd}gd}d}d}t||t|k(sJgd}gd}t|t|||fk(sJt|||||t|k(sJy)N)1LA)ca_i i )i#i$i%)> )rrHrr)UMpuESs h/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sympy/polys/tests/test_galoistools.py test_gf_crtr])snAAAA !Q q  AA 1b>aAY && & 1aAq" % ** *ctdddk(sJtdddk(sJtdddk(sJtdddk(sJtdddk(sJtdddk(sJy) Nr)rr^r\ test_gf_intrh9sz !Q<1   !Q<1   !Q<1   !Q<2   !Q<2   !Q<1  r^ctgdk(sJtdgdk(sJtddgdk(sJtgddk(sJy)Nrfrar)rarrrrare)rrgr^r\test_gf_degreerjBsR R=B   aS>Q   aV  !! ! _ % ** *r^cRtggk(sJtdggk(sJtgdgk(sJtdgdgk(sJtddgdgk(sJtgddgk(sJtgdgdk(sJtgdgdk(sJtgdgdk(sJy)Nr)rrrra)rrrrararbr)rrarbr)rrrrarbr)rrgr^r\ test_gf_striprmIs B<2   QC=B   I " $$ $ QC=QC   QF s "" " L !aS (( ( I ) ++ + L !Y .. . & '9 44 4r^ctgdgk(sJtdgddgk(sJtdgdgk(sJtdgddgk(sJtgddgdk(sJtgddgdk(sJy) N rarUrorprarrar)rUrrrar)rarartrar)r rgr^r\ test_gf_truncrvWs B r !! ! QC  ## # RD"  ## # RD" ! $$ $ & +y 88 8 & + >> >r^c8tgddtgdk(sJy)Nrqrors)r rHrgr^r\test_gf_normalrxas 'R 0I == =r^c:dddd}dddd}gd}t|dt|k(sJt|d|k(sJd d ddd }d ddd }gd }t|dt|k(sJt|d|k(sJtdgddd dik(sJtdgddd dik(sJy)NrUrb)rortrrarc) rarrrrrbrrrrrrcror)rorercr)rorcr) rtrrrrrrrrarrra T symmetricrfF)r rHr )fFgs r\test_gf_from_to_dictres A"A 1A,A 2r "a '' ' a  !! ! A!#A A!A,A 2r "a '' ' a  !! ! rdB$ /Ar7 :: : rdB% 0QG ;; ;r^ctgddgdk(sJtgddgdk(sJtdgdd d gk(sJtdgdd dgk(sJy) N)rarrbr`)rarrbrbr)rarrerbrc)rarrfrbrdr|roTr}rfF)r rrgr^r\test_gf_from_to_int_polyrxsd ,a 0O CC C /1 -1B BB B 2$d 3t ;; ; 2$e 4 << Q   !Q  !! !r^ctgtdk(sJtdgtdk(sJtddgtdk(sJyr)r'rHrgr^r\ test_gf_TCrrr^cttjgdtdgfk(sJttjdgdtddgfk(sJttjdgdtddgfk(sJttjgddtdgdfk(sJttjgddtdgdfk(sJy)Nrorrarbrarbrcre)rbrcrer`)rarrb)r(rHmaprgr^r\ test_gf_monicrs BFF2JB 'Ar7 22 2 BFFA3KR (QH 44 4 BFFA3KR (QH 44 4 BFF<("b 1a5F FF F BFF<("b 1a5F FF Fr^c tgdtgk(sJtdgdtdgk(sJtgddtgdk(sJtgddtgk(sJtgddtgk(sJtgddtdgk(sJtgddtdgk(sJtdgddtd gk(sJtdgddtd gk(sJtdgddtgk(sJtdgddtgk(sJtgdddtgd k(sJtgdddtgd k(sJt gddtgk(sJt gddtgk(sJt dgddtgk(sJt dgddtdgk(sJt gdddtgk(sJt gdddtgdk(sJt gdd dtgdk(sJt ggdtgk(sJt dggdtdgk(sJt gdgdtdgk(sJt dgdgdtdgk(sJt dgdgdtdgk(sJt ddgdgdtddgk(sJt dgddgdtddgk(sJt gdgddtgdk(sJt ggdtgk(sJt dggdtdgk(sJt gdgdtdgk(sJt dgdgdtgk(sJt dgdgdtdgk(sJt ddgdgdtddgk(sJt dgddgdtddgk(sJt gdgddtgdk(sJtgdd dggddtgdk(sJtgdd dggddtgdk(sJtggdtgk(sJtgdgdtgk(sJtdggdtgk(sJtdgdgdtdgk(sJtdgd gdtdgk(sJtgdgddtgdk(sJtgdgddtgdk(sJtgdgddtgdk(sJtgdtgk(sJtdgdtd gk(sJtddgdtgdk(sJtgddtgdk(sJy)Nrorar|rarbrc)r| rrrcrrer)rarbrtrlr)rrcr|rb)rrr|)rrrbrcrbra)rtrerb)rar`rt)rrrtra)rarbr|rr)r|rrcrbrcr`)rcrrrtrarb)rerrar rarrcrbrercrarbr)rbrrrar rerrrertrrarcr`)rarere) rrHrrrrrrrrrrgr^r\ test_gf_arithrs "b"  ## # 1#r2 2$ && & )R $ 22 2 QB '2 -- - QB '2 -- - QB 'A3 .. . QB 'A3 .. . !aR (QC // / !aR (QC // / !aR (B .. . !aR (B .. . Ar2 .) ;; ; Ar2 .) ;; ; QB '2 -- - QB '2 -- - !aR (B .. . !aR (QC // / Ar2 ." 44 4 Ar2 .) ;; ; Ar2 .* << < "b"b !R '' ' 1#r2r "qc )) ) "qc2r "qc )) ) 1#sB #s ** * 1#sB #s ** * 1a&1#r2 &1a& 00 0 1#1vr2 &1a& 00 0 )ZR 0I == = "b"b !R '' ' 1#r2r "qc )) ) "qc2r "rd ** * 1#sB #r )) ) 1#sB #t ++ + 1a&1#r2 &1a& 00 0 1#1vr2 &2r( 22 2 )ZR 0I == = Aq6<R 14D EE E Aq6<R 14D EE E "b"b !R '' ' "qc2r "b (( ( 1#r2r "b (( ( 1#sB #s ** * 1#sB #s ** * $lB ;@' '' ' , 2B ;@' '' ' /?B ;@' '' ' "b"  ## # 1#r2 1# %% % 1a&"b !Y .. . /2r *.I II Ir^cttdttdttdttdtdggddtgdgfk(sJt dggddtdgk(sJt dggddtgk(sJtj gdtj gdgd }d d g}tdt||fk(sJt dt|k(sJt dt|k(sJttfd tj gdtj gd gd }gd}tdt||fk(sJt dt|k(sJt dt|k(sJttfdt tj gdtj ddgdtddgk(sJy)Nc*tgdgdtSNrro)rrHrgr^r\z"test_gf_division..fYB&Cr^c*tgdgdtSr)rrHrgr^r\rz"test_gf_division..rr^c*tgdgdtSrrrHrgr^r\rz"test_gf_division..rr^c*tgdgdtSrrrgr^r\rz"test_gf_division..rr^rarr)r`rercrbrar)r`rarrtrcc(tdtSNrrrHrrsr\rz"test_gf_division..Aq"(=r^)rarbrcr)r`rarrsc(tdtSrrrsr\rz"test_gf_division..rr^)rarbraro)rKZeroDivisionErrorrrHrrrrF)qrrrs @@r\test_gf_divisionrs CD CD CD CD 1#y!R (R!I 55 5 1#y!R (QC // / 1#y!R (B .. . !"A yAA AA !Q2 1a& (( ( !Q2 ! ## # !Q2 ! ## #  => !"A |AAA !Q2 1a& (( ( !Q2 ! ## # !Q2 ! ## #  => "&&#RVVQF^R <A FF Fr^cgd}tgdtgk(sJtgdtggfk(sJt|dtgdk(sJt|dtgdk(sJt|dt|gfk(sJt|dtgddgfk(sJt|d tddggd fk(sJt|dtg|fk(sJy) N)rarbrcrer`r`ra)rarbrcrer`rrb)rarbrcrer`rrrrrc)rcrer`)rrHrrs r\ test_gf_shiftrsA RB 2 %% % RB B8 ++ + Q2 "4 44 4 Q2 "7 77 7 Q2 1b' )) ) Q2 $ FF F N1b"5r2 >$ FF F N1b"5r2 >$ FF F N1b"5r2 >$ FF F N1b"5r2 >$ FF F N1b"5r2 >$ FF F N1b"5r2 >$ FF Fr^c8ttjdgdtdusJttjddgdtdusJttjgddtdusJttjdgdtdusJttjddgdtdusJttjgddtdusJt j ddt tjdgdtdusJt tjddgdtdusJt tjgddtdusJt j dd t tjdgdtdusJt tjddgdtdusJt tjgddtdusJt j dd ttd t j dtjgd }tjgd }t||dt}t|dtdusJt|dtdusJt|dtdusJt|dtdusJt|dtdusJt|dtdusJy)NrroTrcrFGF_IRRED_METHODzben-orrabinotherc&tdgdtS)Nrro)r0rHrgr^r\rz'test_gf_irreducible_p..s-qc2r:r^) rarr rtrrrr|) rarrrrrrrorr|rrr) r1rHrr2configsetupr0rKKeyErrorrrs r\test_gf_irreducible_prs RVVQC["b 1T 99 9 RVVQF^R 4 << < RVVI.B 75 @@ @ BFFA3KR 0D 88 8 BFFAq6NB 3t ;; ; BFF9-r2 6% ?? ? LL"H- BFFA3KR 0D 88 8 BFFAq6NB 3t ;; ; BFF9-r2 6% ?? ? LL"G, BFFA3KR 0D 88 8 BFFAq6NB 3t ;; ; BFF9-r2 6% ?? ? LL"G, 8:; LL"# 45A 78Aq!RA QB '4 // / QB '4 // / QB '5 00 0 Ar2 &$ .. . Ar2 &$ .. . Ar2 &% // /r^ctgdtdgfk(sJtdgdtdgfk(sJtddgdtdddgdfgfk(sJtgdtdusJtdgdtdusJtddgdtdusJtddddt}t|dtdusJt|dtdddgdfgfk(sJgd}t|dtdusJt|dtdddgdfddgdfgfk(sJt |dtgd k(sJgd }t|d tdddgdfddgd fddgd fgfk(sJy) NrorraT)rorFrar`rrerb)rarcrb) rarrrbrrrbrrrarrcrt)r3rHr5r r4rs r\test_gf_squarefreers r2r "q"g -- - sB #2w .. . 1vr2 &1A{m*< << < BB 4 '' ' QCR D (( ( QFB #t ++ +!]B+A Ar2 % '' ' q"b ! q!fb\N   A Ar2 % '' ' q"b ! q!fa[!fa[     q"b !Y .. .)A q!R q!fa[!fa[!fa[    r^ctjgd}tjgd}d}t||t}t||||t}t ||||t}||k(sJy)N) rbrrarrbrbrrbrbrb) rararrbrrarrbrrarc)rHrrErDr!)rrrXrrh1s r\test_gf_frobenius_maprsb -.A $%A A"1a,AAq!R(A Aq!Q #B 7N7r^c (tgdd}gdgdgdgdgdgdg}gdgd gd g}t|dt|k(sJt|dt|k(sJt |dtd d ggd gd gk(sJtj gd}tj gdgdgdgdgdgdgdgdg}gdgdgdg}t|dt|k(sJt|dt|k(sJt |dtd dggdgdgk(sJy)Nrararrfrraro)rarrrrr)rcr`rrrtr`)rcrtrtrar|r)rrer|rcrr)rrr|rrr)rr|rrr|r)rrarararar)rrrrrrararar`rcr) rarrarr|r|rrbr)rarrrrrrr)rbrarror|rUr`ro)rcrtrercrrerrb)rercrtr`rartrbrc)rbrorrrcrarcro)rtrorrtrbrr|r)r`rorr|rrorrU)rcrcrUr`rrorrU)rr`r`rrr`rar)rrrorr|rUrrarrc)rarrerU)rarbrcrert)r r6rHr7r<r)rQVs r\test_gf_berlekamprs:2B7A        A    A aR A %% % QB 1 $$ $ 2r " QL) ** * ,-A ( % ! ! # # % $& 'A " ! $ &A aR A %% % QB 1 $$ $ 2r " Q0 11 1r^c .ttdtdddt}gddfgddfg}t|dt|k(sJt|dt|k(sJttdtdddt}ddgdfgd dfgd d fgd d fg}t|dt|k(sJt|dt|k(sJttdtdtdtdtddd t}gddfgddfg}t|d t|k(sJt|d t|k(sJtjgd}ddgdfgddfg}t|dt|k(sJt|dt|k(sJtt t dtzj}tdddd|t}gddfgddfgddfg}t||t|k(sJt||t|k(sJy)Nrarf)rrro)rarrrrr|) rarrrrrarrrrrarb?rr)rarararararararc)7rararrararrarrararrararrrrrrrrrararrararrarrararrararrrrrrrrrararrararrarrararrarart)rtr`rercra)rararrararrarb) rarbr`iiiiEirTiAi) rani/iirFizri)rrarraiXi0 ) raili Hi#*i1i iiWiIrerai;i.siYJi,qihr`) r rHr8r9rrJintrIevalf)rrrXs r\ test_gf_ddfr<s0"Q%BrF+R4A q ! +Q / 1A QB '1 ,, , 2r "a '' '"Q%BqE*Ar2A a&! Q  # >?@ B CA Q2 &! ++ + 1b !Q && &A2b6be1"R&I1bQA Q 1  A Q2 &! ++ + 1b !Q && & >?A c(A 91 = ?A QR (A -- - 3 #q (( ( 9S%"*++-. /0A!a(!R0A Q  Eq I 0! 4 6A Q2 &! ++ + 1b !Q && &r^ctjgd}tjgdgdg}t|ddt|k(sJt|ddt|k(sJy)Nrr)rararbrbrc)rHrr:r;rs r\ test_gf_edfrgsU A  9%&A Q1b )Q .. . 1a $ )) )r^ctjgd}tjgdgdg}t|ddt|k(sJy)N)rarararararararararararararararara) rarrrarararrra) rarararrarrarararrb)rHrr:rs r\test_issue_23174ros? BCA +-HIJA Q1b )Q .. .r^c\tgdtdgfk(sJtdgdtdgfk(sJtddgdtdddgdfgfk(sJtgdtdgfk(sJtdgdtdgfk(sJtddgdtdddggfk(sJtjddtgdtdgfk(sJtdgdtdgfk(sJtddgdtdddggfk(sJtjddtgdtdgfk(sJtdgdtdgfk(sJtddgdtdddggfk(sJtjddttj gdtdgfk(sJttj dgdtdgfk(sJttj ddgdtdddggfk(sJtj gdd }}dddgdfddgdfgd dfgf}tjddt||t|k(sJtjddt||t|k(sJtjddt||t|k(sJdddgddggd gf}tjddt||t|k(sJtjddt||t|k(sJtjddt||t|k(sJt gd dd}}dddgdfgd dfgd dfgf}tjddt||t|k(sJtjddt||t|k(sJtjddt||t|k(sJgdd}}dddgdfdd gd fgf}tjddt||t|k(sJtjddt||t|k(sJtjddt||t|k(sJgdd}}dddgd fgddfgddfgf}tjddt||t|k(sJtjddt||t|k(sJtjddt||t|k(sJtddddtd}}dgddfgddfgf}tjddt||t|k(sJtjddt||t|k(sJtjddt||t|k(sJttdtdddtd}}dddgdfddgdfgddfgddfgddfgddfgddfgddfgddfg f}tjddt||t|k(sJtjddt||t|k(sJtjddt||t|k(sJttdtdddtd}}ddd gdfgd!dfgd"dfgd#dfgd$dfgd%dfgd&dfgd'dfgd(dfgd)dfgd*dfgd+dfgd,dfg f}tjddt||t|k(sJtjddt||t|k(sJtjddt||t|k(sJtttd-tzj}tdddd.|t}t||td/usJdgd0dfgd1dfgd2dfgd3dfgf}tjddt||t|k(sJtjddt||t|k(sJdgd0gd1gd2gd3gf}tjddt||t|k(sJtjddt||t|k(sJtttd4tzj}tj gd5}t||td/usJdgd6dfgd7dfgf}tjddt||t|k(sJtjddt||t|k(sJdgd6gd7gf}tjddt||t|k(sJtjddt||t|k(sJtjdd8ttd9tjdy):NrorraGF_FACTOR_METHOD berlekamp zassenhausshoup)rarrrarrbrrrrr) rarar|rarr|r|r|rr)rarr`)rarcrrr`rb) r)rarrrrrrrrcrrrrrrrr|)rarrrrrrrrrrrrrrrr|rr`rc)rarr)rarbrb)rarrb)rarr`rr)rarrtrr) rarrrrarrrrt) rarrrr|rrrrtrr)rarer`)rartrrb)rarrrb)rarrrrrre)rarbrrrertre)rarbrcrrrtre)rarbrtrrrere)rarcrcrartrre)rar`rtrrrtre)rartrbrrrre)rar|rerr|rre)rar|r|rarerrerrTr)rai>i.iSit)raiQii :iW{rr)rarbr`r)'&)ra,r)rarorzrc(tddgdtS)Nraro)r>rHrgr^r\rz test_gf_factor..JsY1vr26r^)r>rHr=rrrr r rJrrIrr5rKr)rrXrs r\test_gf_factorr vs[ RR QG ++ + aS"b !aW ,, , aVR $q!fa[M(: :: : R $B // / !b" %!R 00 0 !QR (Q!QM 99 9 LL#[1 R $B // / !b" %!R 00 0 !QR (Q!QM 99 9 LL#\2 R $B // / !b" %!R 00 0 !QR (Q!QM 99 9 LL#W- R ,B 77 7 b" -!R 88 8 AR 0Q!QM AA A 66/ "AqA q!fa[!fa[^  A LL#[1 Q2 ! ## # LL#\2 Q2 ! ## # LL#W- Q2 ! ## # aVV   A LL#[1 Ar "a '' ' LL#\2 Ar "a '' ' LL#W- Ar "a '' ' 5r :BqA q!fa[^A   !A LL#[1 Q2 ! ## # LL#\2 Q2 ! ## # LL#W- Q2 ! ## # qA q!fa[Aq61+ &'A LL#[1 Q2 ! ## # LL#\2 Q2 ! ## # LL#W- Q2 ! ## # -rqA q!fa[9a.+=q*A BCA LL#[1 Q2 ! ## # LL#\2 Q2 ! ## # LL#W- Q2 ! ## # Q1 r2 .qA BA FBA F H IA LL#[1 Q2 ! ## # LL#\2 Q2 ! ## # LL#W- Q2 ! ## # RUr!u-r2 6qA q!fa[!fa[^^^q !q !)1 -*A . 0 1A LL#[1 Q2 ! ## # LL#\2 Q2 ! ## # LL#W- Q2 ! ## # RUr!u-r2 6qA q!fa[^A A #Q '#Q '#Q '#Q '#Q '#Q '#Q '%q )%q ) + ,A LL#[1 Q2 ! ## # LL#\2 Q2 ! ## # LL#W- Q2 ! ## # 9S%"*++-. /0A!a(!R0A Aq"  %% %  #,a 0-q 14a 8 : ;A  LL#\2 Q2 ! ## # LL#W- Q2 ! ## #  + , 3 5 6A  LL#\2 Ar "a '' ' LL#W- Ar "a '' ' 9S$)**,- ./A ()A Aq"  %% % k1 !1 % ' (A LL#\2 Q2 ! ## # LL#W- Q2 ! ## # [  " #A LL#\2 Ar "a '' ' LL#W- Ar "a '' ' LL#W- 867 LL#$r^c tgdddk(sJtddddgk(sJtdddgk(sJtd d dgk(sJtdddgd k(sJtdd d gdk(sJtd ddgdk(sJtgddddgk(sJtgddgk(sJddlm}|ddD]M}t t d dg|d z |td |t}t||ttd |k(rMJtgdddgk(sJtgdddd gk(sJtgddgdk(sJtgdddgdk(sJtgdddgdk(sJtgdddgdk(sJtgd d!gd"k(sJtgd#d$d%d&gk(sJtgd d gk(sJy)'N)rarrbreroirercr`rbrrtra)rrarbrcrerUr)rerr )rrcrtrrUr)rbrcra)rbrra) primeranged)rarcrbrrr)rarcrar`)rcrtrrc)rrarb)rara) rerrp(rM:CrN)rcr`rbrz)r2rP)rcrbrbrM))rarar)rrMrNp)rarcrerar <r|r ) r?r@rA sympy.ntheoryrrr rHlistrangerBrC)rrXrs r\test_gf_csolver"Ns L" % -- - Q1 %! ,, , Q1 % ++ + Q1 % ++ + Q1 % 88 8 QB ': 55 5 Q2 &*> >> > "9a 0QF :: : "9a 0B 66 6( 3 B &!QQ261b A&q!,U1a[0AAAAB  q )aS 00 0  a (QF 22 2  a (I 55 5 Q A BB B  q! , << <  q! , ?? ? Y $(C CC C %r *r2h 66 6 Y #r )) )r^N)ssympy.polys.galoistoolsrrrrrrr r r r r rrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrEsympy.polys.polyerrorsrF sympy.polysrGrsympy.polys.domainsrHsympy.core.numbersrIsympy.ntheory.generaterJsympy.testing.pytestrKr]rhrjrmrvrxrrrrrrrrrrrrrrrrrrrrrrrrrrr r"rgr^r\r*s28-"!,' + + 5?><&=" " GKJ\ GF *=X> ^ M V %GJ" < ,G&0RB'1T('V*/U%p*r^