# Properties

 Label 4.4.233289.1 Degree $4$ Signature $[4, 0]$ Discriminant $233289$ Root discriminant $$21.98$$ Ramified primes $3,7,23$ Class number $1$ Class group trivial Galois group $C_2^2$ (as 4T2)

# Related objects

Show commands: Magma / Oscar / PariGP / SageMath

## Normalizeddefining polynomial

sage: x = polygen(QQ); K.<a> = NumberField(x^4 - x^3 - 31*x^2 + 76*x - 20)

gp: K = bnfinit(y^4 - y^3 - 31*y^2 + 76*y - 20, 1)

magma: R<x> := PolynomialRing(Rationals()); K<a> := NumberField(x^4 - x^3 - 31*x^2 + 76*x - 20);

oscar: Qx, x = PolynomialRing(QQ); K, a = NumberField(x^4 - x^3 - 31*x^2 + 76*x - 20)

$$x^{4} - x^{3} - 31x^{2} + 76x - 20$$

sage: K.defining_polynomial()

gp: K.pol

magma: DefiningPolynomial(K);

oscar: defining_polynomial(K)

## Invariants

 Degree: $4$ sage: K.degree()  gp: poldegree(K.pol)  magma: Degree(K);  oscar: degree(K) Signature: $[4, 0]$ sage: K.signature()  gp: K.sign  magma: Signature(K);  oscar: signature(K) Discriminant: $$233289$$ 233289 $$\medspace = 3^{2}\cdot 7^{2}\cdot 23^{2}$$ sage: K.disc()  gp: K.disc  magma: OK := Integers(K); Discriminant(OK);  oscar: OK = ring_of_integers(K); discriminant(OK) Root discriminant: $$21.98$$ sage: (K.disc().abs())^(1./K.degree())  gp: abs(K.disc)^(1/poldegree(K.pol))  magma: Abs(Discriminant(OK))^(1/Degree(K));  oscar: (1.0 * dK)^(1/degree(K)) Ramified primes: $$3$$, $$7$$, $$23$$ 3, 7, 23 sage: K.disc().support()  gp: factor(abs(K.disc))[,1]~  magma: PrimeDivisors(Discriminant(OK));  oscar: prime_divisors(discriminant((OK))) Discriminant root field: $$\Q$$ $\card{ \Gal(K/\Q) }$: $4$ sage: K.automorphisms()  magma: Automorphisms(K);  oscar: automorphisms(K) This field is Galois and abelian over $\Q$. Conductor: $$483=3\cdot 7\cdot 23$$ Dirichlet character group: $\lbrace$$\chi_{483}(160,·), \chi_{483}(1,·), \chi_{483}(461,·), \chi_{483}(344,·)$$\rbrace$ This is not a CM field.

## Integral basis (with respect to field generator $$a$$)

$1$, $a$, $a^{2}$, $\frac{1}{20}a^{3}+\frac{1}{4}a^{2}-\frac{1}{20}a-\frac{1}{2}$

sage: K.integral_basis()

gp: K.zk

magma: IntegralBasis(K);

oscar: basis(OK)

 Monogenic: No Index: $2$ Inessential primes: $2$

## Class group and class number

Trivial group, which has order $1$

sage: K.class_group().invariants()

gp: K.clgp

magma: ClassGroup(K);

oscar: class_group(K)

## Unit group

sage: UK = K.unit_group()

magma: UK, fUK := UnitGroup(K);

oscar: UK, fUK = unit_group(OK)

 Rank: $3$ sage: UK.rank()  gp: K.fu  magma: UnitRank(K);  oscar: rank(UK) Torsion generator: $$-1$$ -1  (order $2$) sage: UK.torsion_generator()  gp: K.tu[2]  magma: K!f(TU.1) where TU,f is TorsionUnitGroup(K);  oscar: torsion_units_generator(OK) Fundamental units: $\frac{1}{20}a^{3}+\frac{1}{4}a^{2}-\frac{21}{20}a+\frac{1}{2}$, $\frac{1}{10}a^{3}+\frac{1}{2}a^{2}-\frac{11}{10}a-2$, $\frac{9}{4}a^{3}+\frac{45}{4}a^{2}-\frac{61}{4}a+\frac{7}{2}$ 1/20*a^3 + 1/4*a^2 - 21/20*a + 1/2, 1/10*a^3 + 1/2*a^2 - 11/10*a - 2, 9/4*a^3 + 45/4*a^2 - 61/4*a + 7/2 sage: UK.fundamental_units()  gp: K.fu  magma: [K|fUK(g): g in Generators(UK)];  oscar: [K(fUK(a)) for a in gens(UK)] Regulator: $$50.7453282212$$ sage: K.regulator()  gp: K.reg  magma: Regulator(K);  oscar: regulator(K)

## Class number formula

\begin{aligned}\lim_{s\to 1} (s-1)\zeta_K(s) =\mathstrut & \frac{2^{r_1}\cdot (2\pi)^{r_2}\cdot R\cdot h}{w\cdot\sqrt{|D|}}\cr \approx\mathstrut &\frac{2^{4}\cdot(2\pi)^{0}\cdot 50.7453282212 \cdot 1}{2\cdot\sqrt{233289}}\cr\approx \mathstrut & 0.840502330786 \end{aligned}

# self-contained SageMath code snippet to compute the analytic class number formula

x = polygen(QQ); K.<a> = NumberField(x^4 - x^3 - 31*x^2 + 76*x - 20)

DK = K.disc(); r1,r2 = K.signature(); RK = K.regulator(); RR = RK.parent()

hK = K.class_number(); wK = K.unit_group().torsion_generator().order();

2^r1 * (2*RR(pi))^r2 * RK * hK / (wK * RR(sqrt(abs(DK))))

# self-contained Pari/GP code snippet to compute the analytic class number formula

K = bnfinit(x^4 - x^3 - 31*x^2 + 76*x - 20, 1);

[polcoeff (lfunrootres (lfuncreate (K))[1][1][2], -1), 2^K.r1 * (2*Pi)^K.r2 * K.reg * K.no / (K.tu[1] * sqrt (abs (K.disc)))]

/* self-contained Magma code snippet to compute the analytic class number formula */

Qx<x> := PolynomialRing(QQ); K<a> := NumberField(x^4 - x^3 - 31*x^2 + 76*x - 20);

OK := Integers(K); DK := Discriminant(OK);

UK, fUK := UnitGroup(OK); clK, fclK := ClassGroup(OK);

r1,r2 := Signature(K); RK := Regulator(K); RR := Parent(RK);

hK := #clK; wK := #TorsionSubgroup(UK);

2^r1 * (2*Pi(RR))^r2 * RK * hK / (wK * Sqrt(RR!Abs(DK)));

# self-contained Oscar code snippet to compute the analytic class number formula

Qx, x = PolynomialRing(QQ); K, a = NumberField(x^4 - x^3 - 31*x^2 + 76*x - 20);

OK = ring_of_integers(K); DK = discriminant(OK);

UK, fUK = unit_group(OK); clK, fclK = class_group(OK);

r1,r2 = signature(K); RK = regulator(K); RR = parent(RK);

hK = order(clK); wK = torsion_units_order(K);

2^r1 * (2*pi)^r2 * RK * hK / (wK * sqrt(RR(abs(DK))))

## Galois group

$C_2^2$ (as 4T2):

sage: K.galois_group(type='pari')

gp: polgalois(K.pol)

magma: G = GaloisGroup(K);

oscar: G, Gtx = galois_group(K); G, transitive_group_identification(G)

 An abelian group of order 4 The 4 conjugacy class representatives for $C_2^2$ Character table for $C_2^2$

## Intermediate fields

Fields in the database are given up to isomorphism. Isomorphic intermediate fields are shown with their multiplicities.

sage: K.subfields()[1:-1]

gp: L = nfsubfields(K); L[2..length(b)]

magma: L := Subfields(K); L[2..#L];

oscar: subfields(K)[2:end-1]

## Multiplicative Galois module structure

 $U_{K^{gal}}/\textrm{Tors}(U_{K^{gal}}) \cong$ $J$ Galois action is Type III

## Frobenius cycle types

 $p$ $2$ $3$ $5$ $7$ $11$ $13$ $17$ $19$ $23$ $29$ $31$ $37$ $41$ $43$ $47$ $53$ $59$ Cycle type ${\href{/padicField/2.2.0.1}{2} }^{2}$ R ${\href{/padicField/5.1.0.1}{1} }^{4}$ R ${\href{/padicField/11.2.0.1}{2} }^{2}$ ${\href{/padicField/13.2.0.1}{2} }^{2}$ ${\href{/padicField/17.1.0.1}{1} }^{4}$ ${\href{/padicField/19.2.0.1}{2} }^{2}$ R ${\href{/padicField/29.2.0.1}{2} }^{2}$ ${\href{/padicField/31.2.0.1}{2} }^{2}$ ${\href{/padicField/37.2.0.1}{2} }^{2}$ ${\href{/padicField/41.2.0.1}{2} }^{2}$ ${\href{/padicField/43.2.0.1}{2} }^{2}$ ${\href{/padicField/47.2.0.1}{2} }^{2}$ ${\href{/padicField/53.2.0.1}{2} }^{2}$ ${\href{/padicField/59.2.0.1}{2} }^{2}$

In the table, R denotes a ramified prime. Cycle lengths which are repeated in a cycle type are indicated by exponents.

# to obtain a list of $[e_i,f_i]$ for the factorization of the ideal $p\mathcal{O}_K$ for $p=7$ in Sage:

p = 7; [(e, pr.norm().valuation(p)) for pr,e in K.factor(p)]

\\ to obtain a list of $[e_i,f_i]$ for the factorization of the ideal $p\mathcal{O}_K$ for $p=7$ in Pari:

p = 7; pfac = idealprimedec(K, p); vector(length(pfac), j, [pfac[j][3], pfac[j][4]])