Aurel Page on Fri, 15 Mar 2019 11:29:38 +0100

 new GP function bnrclassfield

• To: pari-dev@pari.math.u-bordeaux.fr
• Subject: new GP function bnrclassfield
• From: Aurel Page <aurel.page@normalesup.org>
• Date: Fri, 15 Mar 2019 11:29:32 +0100
• Delivery-date: Fri, 15 Mar 2019 11:29:38 +0100
• User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.5.1

```Dear PARI developers,

```
I have added a new GP function bnrclassfield, which computes the class field attached to an arbitrary subgroup of a ray class group. Internally it is a wrapper for rnfkummer.
```
? bnrclassfield(bnfinit(y^2-y+50)) \\Hilbert class field
```
% = [x^9 - 24*x^7 + (2*y - 1)*x^6 + 495*x^5 + (-12*y + 6)*x^4 - 30*x^3 + (18*y - 9)*x^2 + 18*x + (-2*y + 1)]
```
```
By default the class field is expressed as a compositum of cyclic extensions of prime power degree:
```? bnrclassfield(bnfinit(y^2-y+58))
% = [x^2 + 7, x^2 + (y - 3), x^3 - 3*x + 9]
? bnrclassfield(bnfinit(y^2-y+58),,1) \\as a single polynomial
```
% = x^12 + 4*x^11 + Mod(7*y - 5, y^2 - y + 58)*x^10 + ... + Mod(3846*y - 18721, y^2 - y + 58)
```
With modulus and subgroup:
? bnf = bnfinit(y^3-y^2+1);
? bnr = bnrinit(bnf, [6545,1333,2018;0,1,0;0,0,1]);
? bnrclassfield(bnr, [2,0;0,2])
% = [x^2 + (-5*y^2 + 5*y - 3), x^2 + (-y^2 + 2*y - 5)]