Bill Allombert on Mon, 29 Aug 2022 19:08:45 +0200

 Re: all divisors of a cyclotomic integer

• To: pari-users@pari.math.u-bordeaux.fr
• Subject: Re: all divisors of a cyclotomic integer
• From: Bill Allombert <Bill.Allombert@math.u-bordeaux.fr>
• Date: Mon, 29 Aug 2022 19:08:40 +0200
• Delivery-date: Mon, 29 Aug 2022 19:08:45 +0200
• Mail-followup-to: pari-users@pari.math.u-bordeaux.fr
• References: <CAJkPp5NTu1Fe01Dbkqg8L2eTaorAF3PZ_gLbLn2Rf_romNDb6A@mail.gmail.com> <YsC0fqV7pR42R3Pn@seventeen> <YsC4BbI1GfxfrrbZ@seventeen> <CAJkPp5PKe8wP-VGFNGb_04oMmz_D-LUFXWn=ORjyGGPUXA4Xcg@mail.gmail.com>

```On Sun, Aug 28, 2022 at 02:09:10PM -0400, Max Alekseyev wrote:
> Dear Bill,
>
> I've tried to run your code to find divisors of (2*x^30 + 4*x^26 + 2*x^22)
> modulo polcyclo(68).
> This element has norm 2^32 = 4294967296. However, among the reported
> divisors I see norms that do not divide 2^32 (and some are even much
> larger).
> For example, one of the reported divisors is (-x^22 + x^15 + x^12 - x^6 +
> 1) of the norm 23137.
> What goes wrong here?

Well, I do not get this.

bnf=bnfinit(polcyclo(68),1);
id=idealfactor(bnf,(2*x^30 + 4*x^26 + 2*x^22));
{
my(L=List());
forvec(w=apply(a->[0,a],id[,2]),
my(v=bnfisprincipal(bnf,idealfactorback(bnf,id[,1],w)));
if(v[1]==0,listput(~L,v[2])));
V=Vec(L);
}
apply(x->nfeltnorm(bnf,x),V)
%4 = [1,256,65536,256,65536,16777216,65536,16777216,4294967296]
lift(apply(x->nfbasistoalg(bnf,x),V))
%5 = [1,-x^31-x^28-x^27-x^24-x^23-x^20-x^19-x^16-x^15-x^12-x^8-x^7+x^2+x,-x^28-x^24+x^10+x^6-1,x^29+x^26-x^16+x^14-x^4-x,x^31-x^29+x^27-x^25+x^23-x^21+x^19-x^17+x^16+x^15-x^13+x^11-x^9+x^7-x^5+x^3-x,-x^31+x^27+x^20+x^19+x^18+x^17+x^16+x^15+x^13+x^12+x^11+x^9+x^8+x^7+x^6+x^5+x^4,-x^29+x^27-x^25+x^23-x^21-x^17+2*x^15-x^13-x^9+x^7-x^5+x^3-x,x^31+x^30+2*x^26+x^25+x^23+x^22+x^21-x^20-x^17-x^16-x^15-x^12+x^11+x^10+x^9+x^7+2*x^6+x^2+x,2]

(I changed the variable name from w to v to avoid using v twice, but this does not affect the result).

The element of %4 are powers of 2 smaller than 2^32.

Cheers,
Bill.

```