Re: How to compute a finite field nth root using a provided factorization?
Loïc Grenié <[email protected]> Sat, 28 Mar 2026 09:59:43 +0100
| Newsgroups | gmane.comp.mathematics.pari.user |
|---|---|
| Message-ID | <CAMLkfFR9HLsrczZgmB+w=YoSK8ZvisJwJs0gCzgtb8m0ei3oyQ@mail.gmail.com> |
--00000000000081c833064e11d734 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Le sam. 28 mars 2026 =C3=A0 08:49, La=C3=ABl Cellier <[email protected]= m> a =C3=A9crit : > On Fri, Mar 27, 2026 at 02:26:49PM +0100, La=C3=ABl Cellier wrote: > > Bonjour, > > > > if I have a finite field factorization which too complex to be compute > > automatically. For example, let s say > > 21888242871839275222246405745257275088696311157297823662689037894645226= 208583=C2=B9=C2=B2=E2=88=921=3D2 > > =C3=97 2 =C3=97 2 =C3=97 2 =C3=97 2 =C3=97 3 =C3=97 3 =C3=97 3 =C3=97 5= =C3=97 7 =C3=97 11 =C3=97 13 =C3=97 17 =C3=97 29 =C3=97 67 =C3=97 163 =C3= =97 229 =C3=97 > > 311 =C3=97 397 =C3=97 983 =C3=97 3769 =C3=97 4051 =C3=97 11003 =C3=97 4= 3913 =C3=97 1400587 =C3=97 5830087 =C3=97 > > 32159167 =C3=97 405928799 =C3=97 11465965001 =C3=97 41692944763 =C3=97 = 152001576931 =C3=97 > > 52920684769483 =C3=97 3005054907817151659 =C3=97 3388996819669187238034= 903 =C3=97 > > 13427688667394608761327070753331941386769 =C3=97 > > 104348903484733242407804502753091803656481823949 =C3=97 > > 64146966983547661987959683617937708319359041535057415875983506058816159= 059153647304344187619 > > =C3=97 292709098791663788479256587 =C3=97 12051215992189917705435977487= 75484291 =C3=97 > > 1299287670584980812472075235801753046609485536283861463811601644579 =C3= =97 > > 64177052757608003316984792821190393947290473614419530386479121451917641= 122805418393835009573667434937689392838890413030823815490004914389366996109 > > =C3=97 493356762637 =C3=97 493356762637 =C3=97 2126437289207585950861 = =C3=97 > > 99958339237566847387819651978153731703086441622746320518140724932023978= 446602500157015660689865730448242821374173445127241730633861337008355847407= 51075324811175115719549874430103358645783161654857 > > > > Then, how can I provide such a factorization to Pari/gp in order to com= pute > > arbitrary nth roots? I m meaning, doing the reverse of Modexp. > > The simplest way is to use addprimes on all primes factors larger than 2^= 28. > > Cheers, > Bill > > > > > > > Hi, but what do you mean=E2=80=AF? Using addprimes with which functions= =E2=80=AF? > Cordialement > > Simplement { addprimes([ 3005054907817151659, 3388996819669187238034903, 3388996819669187238034903, 641469669835476619879596836179377083193590415350574158759835060588161590591= 53647304344187619, ... } en incluant tous les premiers "grands", c'est =C3=A0 dire >2^28 Lo=C3=AFc --00000000000081c833064e11d734 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div dir=3D"ltr"><div class=3D"gmail_default" style=3D"fon= t-family:verdana,sans-serif"><br></div></div><br><div class=3D"gmail_quote = gmail_quote_container"><div dir=3D"ltr" class=3D"gmail_attr">Le=C2=A0sam. 2= 8 mars 2026 =C3=A0=C2=A008:49, La=C3=ABl Cellier <<a href=3D"mailto:lael= [email protected]">[email protected]</a>> a =C3=A9crit=C2=A0:<br><= /div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;bo= rder-left:1px solid rgb(204,204,204);padding-left:1ex"><u></u> =20 =20 =20 <div> <pre>On Fri, Mar 27, 2026 at 02:26:49PM +0100, La=C3=ABl Cellier wrote: > Bonjour, >=20 > if I have a finite field factorization which too complex to be compute > automatically. For example, let s say > 2188824287183927522224640574525727508869631115729782366268903789464522= 6208583=C2=B9=C2=B2=E2=88=921=3D2 > =C3=97 2 =C3=97 2 =C3=97 2 =C3=97 2 =C3=97 3 =C3=97 3 =C3=97 3 =C3=97 = 5 =C3=97 7 =C3=97 11 =C3=97 13 =C3=97 17 =C3=97 29 =C3=97 67 =C3=97 163 =C3= =97 229 =C3=97 > 311 =C3=97 397 =C3=97 983 =C3=97 3769 =C3=97 4051 =C3=97 11003 =C3=97 = 43913 =C3=97 1400587 =C3=97 5830087 =C3=97 > 32159167 =C3=97 405928799 =C3=97 11465965001 =C3=97 41692944763 =C3=97= 152001576931 =C3=97 > 52920684769483 =C3=97 3005054907817151659 =C3=97 338899681966918723803= 4903 =C3=97 > 13427688667394608761327070753331941386769 =C3=97 > 104348903484733242407804502753091803656481823949 =C3=97 > 6414696698354766198795968361793770831935904153505741587598350605881615= 9059153647304344187619 > =C3=97 292709098791663788479256587 =C3=97 1205121599218991770543597748= 775484291 =C3=97 > 1299287670584980812472075235801753046609485536283861463811601644579 = =C3=97 > 6417705275760800331698479282119039394729047361441953038647912145191764= 112280541839383500957366743493768939283889041303082381549000491438936699610= 9 > =C3=97 493356762637 =C3=97 493356762637 =C3=97 2126437289207585950861 = =C3=97 > 9995833923756684738781965197815373170308644162274632051814072493202397= 844660250015701566068986573044824282137417344512724173063386133700835584740= 751075324811175115719549874430103358645783161654857 >=20 > Then, how can I provide such a factorization to Pari/gp in order to co= mpute > arbitrary nth roots? I m meaning, doing the reverse of Modexp. The simplest way is to use addprimes on all primes factors larger than 2^28= . Cheers, Bill Hi, but what do you mean=E2=80=AF? Using addprimes with which functions=E2= =80=AF? Cordialement</pre></div></blockquote><div><br></div><div><div style=3D"font= -family:verdana,sans-serif" class=3D"gmail_default">=C2=A0 =C2=A0 =C2=A0 Si= mplement</div><div style=3D"font-family:verdana,sans-serif" class=3D"gmail_= default">{</div><div style=3D"font-family:verdana,sans-serif" class=3D"gmai= l_default">addprimes([</div><div style=3D"font-family:verdana,sans-serif" c= lass=3D"gmail_default">3005054907817151659,</div><div style=3D"font-family:= verdana,sans-serif" class=3D"gmail_default">3388996819669187238034903,</div= ><div style=3D"font-family:verdana,sans-serif" class=3D"gmail_default">3388= 996819669187238034903,</div><div style=3D"font-family:verdana,sans-serif" c= lass=3D"gmail_default">6414696698354766198795968361793770831935904153505741= 5875983506058816159059153647304344187619,</div><div style=3D"font-family:ve= rdana,sans-serif" class=3D"gmail_default">...</div><div style=3D"font-famil= y:verdana,sans-serif" class=3D"gmail_default">}</div></div><div><br></div><= div><div style=3D"font-family:verdana,sans-serif" class=3D"gmail_default">= =C2=A0 =C2=A0 en incluant tous les premiers "grands", c'est = =C3=A0 dire >2^28</div><div style=3D"font-family:verdana,sans-serif" cla= ss=3D"gmail_default"><br></div><div style=3D"font-family:verdana,sans-serif= " class=3D"gmail_default">=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Lo=C3=AFc</div= ><br></div></div></div> --00000000000081c833064e11d734--