# Basic Invariants

## `Field(A): ArtRep -> FldNum`

Number field $K$ such that $A$ factors through the Galois group of the normal closure of $K$.

## `BaseField(A): ArtRep -> Fld`

The field $F$ over which $A$ is a representation of ${\operatorname{Gal}}(\bar F/F)$. This is ${\mathbb{Q}}$ unless $A$ was constructed as a relative Artin representation, in which case it is the base field of the defining relative extension.

## `Degree(A): ArtRep -> RngIntElt`

## `Dimension(A): ArtRep -> RngIntElt`

Degree (=dimension) of an Artin representation $A$.

## `Group(A): ArtRep -> GrpPerm`

The Galois group of the field through which $A$ factors.

## `Character(A): ArtRep -> AlgChtrElt`

Character of an Artin representation $A$, represented as a complex-valued character of `Group(A)`.

## `Conductor(A): ArtRep -> RngIntElt`

Conductor of an Artin representation $A$ (which must be a true representation, i.e. its character is not allowed to be a generalized character). Computes all the necessary local information if Artin representations were defined with `Ramification:=false`, so the first call to this function might take some time.

## `Decomposition(A): ArtRep -> SeqEnum[Tup]`

Decompose an Artin representation $A$ into irreducible constituents. Returns a sequence of tuples `[...<A_i,n_i>...]` with $A_i$ irreducible and $n_i$ its exponent in $A$ (nonzero but possibly negative).

## `RationalDecomposition(A): ArtRep -> SeqEnum[Tup]`

Decompose an Artin representation $A$ into constituents with rational-valued characters, each corresponding to a Galois conjugacy class of irreducibles. Returns a sequence of tuples `[...<A_i,n_i>...]` with $A_i$ having rational-valued character and $n_i$ its exponent in $A$ (nonzero but possibly negative).

## `Example: Artin Decompose (ex-12f333)`

We give an example to show the difference between these decompositions.

```magma
> K := NumberField(PolynomialWithGaloisGroup(12,15));
> DefiningPolynomial(K);
x^12 - 24*x^10 + 216*x^8 - 896*x^6 + 1680*x^4 - 1152*x^2 + 48
> GroupName(GaloisGroup(K));
C3:D4
> c := PermutationCharacter(K);
> Decomposition(c);
[ <Artin representation C3:D4: (1,1,1,1,1,1,1,1,1) of K, 1>,
  <Artin representation C3:D4: (1,1,1,-1,1,-1,1,1,1) of K, 1>,
  <Artin representation C3:D4: (2,2,2,0,-1,0,-1,-1,-1) of K, 2>,
  <Artin representation C3:D4: (2,-2,0,0,2,0,0,0,-2) of K, 1>,
  <Artin representation C3:D4: (2,-2,0,0,-1,0,-1-2*J,1+2*J,1) of K, 1>,
  <Artin representation C3:D4: (2,-2,0,0,-1,0,1+2*J,-1-2*J,1) of K, 1> ]
> RationalDecomposition(c);
[ <Artin representation C3:D4: (1,1,1,1,1,1,1,1,1) of K, 1>,
  <Artin representation C3:D4: (1,1,1,-1,1,-1,1,1,1) of K, 1>,
  <Artin representation C3:D4: (2,2,2,0,-1,0,-1,-1,-1) of K, 2>,
  <Artin representation C3:D4: (2,-2,0,0,2,0,0,0,-2) of K, 1>,
  <Artin representation C3:D4: (4,-4,0,0,-2,0,0,0,2) of K, 1>];

```

## `DefiningPolynomial(A): ArtRep -> RngUPolElt`

Returns the polynomial whose roots `Group(A)` permutes.

## `Minimize(A): ArtRep -> ArtRep`

```magma
Optimize: BoolElt                    Default: true
```

Returns $A$ attached to the smallest number field $K$ such that $A$ factors through its Galois closure. If `Optimize := true`, attempts to minimize the defining polynomial of $K$ using `OptimizedRepresentation`.

## `OptimizedRepresentation(A): ArtRep -> ArtRep`

Returns the same Artin representation, but over an isomorphic version of the field that has had its representation optimized.

## `Kernel(A): ArtRep -> FldNum`

Smallest Galois extension $K$ of the rationals through which $A$ factors. Note that this field may be enormous and incomputable.

## `Example: Artin Minimize (ex-9129cc)`

We take an $S_4$-extension of ${\mathbb{Q}}$ and compute its Artin representations.

```magma
> R<x> := PolynomialRing(Rationals());
> K := NumberField(x^4+9*x-2);
> A := ArtinRepresentations(K);
> [Dimension(a): a in A];
[ 1, 1, 2, 3, 3 ]

```

Then we minimize the 2-dimensional one, which factors through an $S_3$-quotient.

```magma
> B := Minimize(A[3]); B;
Artin representation S3: (2,0,-1) of ext<Q|x^3+8*x+81>
> Kernel(B);
Number Field with defining polynomial x^6 + 48*x^4 + 576*x^2 + 179195
   over the Rational Field

```

## `IsIrreducible(A): ArtRep -> BoolElt`

Return `true` iff a given Artin representation is irreducible as a complex representation.

## `IsRamified(A, p): ArtRep, RngIntElt -> BoolElt`

Return `true` iff a given Artin representation is ramified at $p$.

## `IsWildlyRamified(A, p): ArtRep, RngIntElt -> BoolElt`

Return `true` iff a given Artin representation is wildly ramified at $p$.

## `EulerFactor(A, p): ArtRep, RngIntElt -> RngUPolElt`

```magma
R: Fld                    Default: ComplexField()
```

The local polynomial (Euler factor) of an Artin representation $A$ at the prime $p$. It is a polynomial with coefficients in the field $R$, which is complex numbers by default, and it is the inverse characteristic polynomial of (arithmetic) Frobenius at $p$ on the inertia invariant subspace of $A$.

## `EpsilonFactor(A): ArtRep -> FldComElt`

Global epsilon-factor $\epsilon(A)$ of an Artin representation. Currently only implemented in a few basic cases, and raises an error otherwise. See Example [Example: Local and Global Epsilon Factors for Dirichlet Characters](../../LocalFields/LocalGaloisRepresentations/fields-2.md#galrep-ex1).

## `RootNumber(A): ArtRep -> FldComElt`

Global root number $\epsilon(A)/|\epsilon(A)|$ of an Artin representation. Currently only implemented in a few basic cases, and raises an error otherwise. See Example [Example: Local and Global Epsilon Factors for Dirichlet Characters](../../LocalFields/LocalGaloisRepresentations/fields-2.md#galrep-ex1).

## `EpsilonFactor(A, p): ArtRep, RngIntElt -> FldComElt`

Local epsilon-factor $\epsilon(A)$ of an Artin representation at $p$. Currently only implemented in a few basic cases, and raises an error otherwise. See Example [Example: Local and Global Epsilon Factors for Dirichlet Characters](../../LocalFields/LocalGaloisRepresentations/fields-2.md#galrep-ex1).

## `RootNumber(A, p): ArtRep, RngIntElt -> FldComElt`

Local root number $\epsilon_p(A)/|\epsilon_p(A)|$ of an Artin representation at $p$. Currently only implemented in a few basic cases, and raises an error otherwise. See Example [Example: Local and Global Epsilon Factors for Dirichlet Characters](../../LocalFields/LocalGaloisRepresentations/fields-2.md#galrep-ex1).

## `EpsilonFactor(A, infty): ArtRep, Infty -> FldComElt`

## `RootNumber(A, infty): ArtRep, Infty -> FldComElt`

Local root number $w_\infty(A)$ of an Artin representation at infinity. See Example [Example: Local and Global Epsilon Factors for Dirichlet Characters](../../LocalFields/LocalGaloisRepresentations/fields-2.md#galrep-ex1).

## `Example: Artin Invariants (ex-2bf31b)`

Here are the invariants of Artin representations that factor through the splitting field of $x^4-3$, a $D_4$-extension of ${\mathbb{Q}}$.

```magma
> R<x> := PolynomialRing(Rationals());
> K := NumberField(x^4-3);
> A := ArtinRepresentations(K);
> Degree(Kernel(A[5]),Rationals());
8
> [Dimension(a): a in A];
[ 1, 1, 1, 1, 2 ]
> Character(A[5]);
( 2, -2, 0, 0, 0 )
> [Conductor(a): a in A];
[ 1, 12, 3, 4, 576 ]
> [IsRamified(a,3): a in A];
[ false, true, true, false, true ]
> [IsWildlyRamified(a,3): a in A];
[ false, false, false, false, false ]
> EulerFactor(A[5],5);
x^2 + 1
> EpsilonFactor(A[5],3);
-3

```

## `DirichletCharacter(A): ArtRep -> GrpDrchElt`

Convert a one-dimensional Artin representation to a Dirichlet character.

## `HeckeCharacter(A): ArtRep -> GrpHeckeElt`

Convert a one-dimensional Artin representation $A$ to a Hecke character. This is more natural than the previous, as in general Hecke characters will have $L$-functions matching that of the Artin representation, while Dirichlet characters only necessarily have $L$-functions when defined over the rationals.

## `ArtinRepresentation(ch): GrpDrchElt -> ArtRep`

```magma
field: FldNum                    Default: 
```

Convert a Dirichlet character `ch` to a one-dimensional Artin representation $A$. To avoid recomputation, the minimal field through which $A$ factors may be supplied by the `field` parameter. This now uses class field theory (thanks to C. Fieker).

## `Example: One Dim Artin Reps (ex-db71ab)`

An example that goes back and forth between the Dirichlet character and the Artin representation.

```magma
> load galpols;
> f := PolynomialWithGaloisGroup(8,46); // order 576
> K := NumberField(f); // octic field
> A := ArtinRepresentations(K);
> [Degree(a) : a in A];
[ 1, 1, 1, 1, 4, 4, 6, 6, 9, 9, 9, 9, 12 ]
> [Order(Character(Determinant(a))) : a in A];
[ 1, 2, 4, 4, 2, 2, 2, 1, 1, 2, 4, 4, 2 ]
> chi := DirichletCharacter(A[3]); // order 4
> Conductor(chi), Conductor(chi^2);
215 5
> Minimize(ArtinRepresentation(chi)); // disc = N(chi)^2*N(chi^2)
Artin representation C4: (1,-1,-I,I) of ext<Q|x^4+x^3-54*x^2-54*x+551>
> Factorization(Discriminant(Integers(Field($1))));
[ <5, 3>, <43, 2> ]

```
