# Introduction

An *étale algebra* $A$ over a field $K$ is a finite product of finite separable extensions $K_1,\ldots,K_n$ of $K$. Typical examples are:

**(a)**
$A = K\times K$ where $K$ is a number field.

**(b)**
$A = {K[x] / f(x)}$ where $f(x)$ is a polynomial in $K[x]$ and no repeated roots over $\overline{K}$.

We will refer to the field $K$ as the *prime field* of $A$ and to the fields $K_1,\ldots,K_n$ as the *components* of $A$. If $F$ is a finite extension of $K$ such that $K_1,\ldots,K_n$ are all defined as relative extensions of $F$, we call $F$ the *base field* of $A$. If the components $K_1,\ldots,K_n$ of $A$ have distinct defining polynomials, say $f_1(x),\ldots,f_n(x) \in F[x]$ then $A$ is isomorphic to the étale algebra $F[x]/(f(x))$ where $f(x) = f_1(x)\cdot \cdots \cdot f_n(x)$. The polynomial $f(x)$ is then referred to as the *defining polynomial* of $A$.

This section describes functions to work with these algebras, orders inside the algebra and ideals of the orders.

Currently all number fields have to be absolute number fields.

An étale algebra has type `AlgEtQ`, an order has type `AlgEtQOrd`, an ideal has type `AlgEtQIdl`, and the elements have type `AlgEtQElt`.

This was released in version 2.29 and the original code was written by Stefano Marseglia. Furthermore, his papers, [[Marseglia, 2020](../../references.md#cite-marseglia20), [Marseglia, 2024](../../references.md#cite-marseglia24), [Marseglia, 2025](../../references.md#cite-marseglia25)], are a good reference for many of the algorithms implemented in this package.
