# Construction

## `EtaleAlgebra(seq): SeqEnum[FldNum] -> AlgEtQ`

Given a sequence of number fields returns the étale algebra corresponding to the direct product. Note: the number fields with `DefiningPolynomial` of degree one should be created with the parameter `DoLinearExtension` set to `true`.

## `Example: Two Copies Of Q (ex-e44d0f)`

We now consider the étale algebra consisting of two copies of the rational field.

```magma
> _<x> := PolynomialRing(Integers());
> QQ := NumberField(x-1:DoLinearExtension);
> A := EtaleAlgebra([QQ,QQ]);
> a := PrimitiveElement(A); a;
<1, 2>

```

## `EtaleAlgebra(f): RngUPolElt[RngInt] -> AlgEtQ`

## `EtaleAlgebra(f): RngUPolElt[FldRat] -> AlgEtQ`

Given a squarefree polynomial over the integers or rationals returns the product of the number fields defined by the irreducible factors.

## `DirectProduct(seq): SeqEnum[AlgEtQ] -> AlgEtQ, SeqEnum[Map], SeqEnum[Map]`

Given a sequence of étale algebras over ${{\Bbb Q}}$, returns their direct product, together with the natural inclusions and projections.
