Function: _header_algebras
Class: header
Section: algebras
Doc:
 \section{Associative and central simple algebras}

 This section collects functions related to associative algebras and central
 simple algebras (CSA) over number fields.

 \subsec{Basic definitions} %GPHELPskip

 Let $A$ be a finite-dimensional unital associative algebra over a field $K$.
 The algebra $A$ is \emph{central} if its center is $K$ and it is
 \emph{simple} if it has no nontrivial two-sided ideals.

 We provide functions to handle associative algebras of finite
 dimension over~$\Q$ or~$\F_p$. We represent them by the left multiplication
 table on a basis over the prime subfield; the function \kbd{algtableinit}
 creates the object representing an associative algebra. We also provide
 functions to handle central simple algebras over a number field $K$. We
 represent them either by the left multiplication table on a basis over the
 center $K$ or by a cyclic algebra (see below); the function~\kbd{alginit}
 creates the object representing a central simple algebra.

 The set of elements of an algebra~$A$ that annihilate every simple left
 $A$-module is a two-sided ideal, called the \emph{Jacobson radical} of~$A$.
 If the Jacobson radical is trivial, the algebra is \emph{semisimple}: it is
 isomorphic to a direct product of simple algebras. The
 dimension of a CSA over its center $K$ is always a
 square $d^2$ and the integer $d$ is called the \emph{degree} of the
 algebra over~$K$. A CSA over a field~$K$ is always isomorphic to~$M_k(D)$
 for some integer~$k$ and some central division algebra~$D$ of degree~$e$:
 the integer~$e$ is the \emph{index} of the algebra.

 Let $L/K$ be a cyclic extension of degree $d$, let $\sigma$ be a
 generator of $\text{Gal}(L/K)$ and let $b\in K^*$. Then the
 \emph{cyclic algebra} $(L/K,\sigma,b)$ is the algebra
 $\bigoplus_{i=0}^{d-1}x^iL$ with $x^d=b$ and $\ell x=x\sigma(\ell)$ for
 all~$\ell\in L$. The algebra $(L/K,\sigma,b)$ is a central simple $K$-algebra
 of degree~$d$, and it is an $L$-vector space. Left multiplication is
 $L$-linear and induces a $K$-algebra isomorphism $(L/K,\sigma,b)\otimes_K L\to
 M_d(L)$.

 Let $K$ be a nonarchimedean local field with uniformizer $\pi$, and let
 $L/K$ be the unique unramified extension of degree $d$. Then every central
 simple algebra $A$ of degree $d$ over $K$ is isomorphic to
 $(L/K, \Frob, \pi^h)$ for some integer $h$. The element $h/d\in
 \Q/\Z$ is called the \emph{Hasse invariant} of $A$.

 \subsec{Orders} %GPHELPskip

 Let~$A$ be an algebra of finite dimension over~$\Q$. An \emph{order}
 in~$A$ is a finitely generated $\Z$-submodule~${\cal O}$ such
 that~$\Q{\cal O} = A$, that is also a subring with unit.
 By default the data computed by~\kbd{alginit} contains a~$\Z$-basis of a maximal
 order~${\cal O}_0$. We define natural
 orders in central simple algebras defined by a cyclic algebra or by a
 multiplication table over the center. Let~$A = (L/K,\sigma,b) =
 \bigoplus_{i=0}^{d-1}x^iL$ be a cyclic algebra over a number field~$K$ of
 degree~$n$ with ring of integers~$\Z_K$. Let~$\Z_L$ be the ring of integers
 of~$L$, and assume that~$b$ is integral. Then the submodule~${\cal O} =
 \bigoplus_{i=0}^{d-1}x^i\Z_L$ is an order in~$A$, called the
 \emph{natural order}. Let~$\omega_0,\dots,\omega_{nd-1}$ be a~$\Z$-basis
 of~$\Z_L$. The \emph{natural basis} of~${\cal O}$ is~$b_0,\dots,b_{nd^2-1}$
 where~$b_i = x^{i/(nd)}\omega_{(i \mod nd)}$. Now let~$A$ be a central simple
 algebra of degree~$d$ over a number field~$K$ of degree~$n$ with ring of
 integers~$\Z_K$. Let~$e_0,\dots,e_{d^2-1}$ be a basis of~$A$ over~$K$ and
 assume that the left multiplication table of~$A$ on~$(e_i)$ is integral. Then
 the submodule~${\cal O} = \bigoplus_{i=0}^{d^2-1}\Z_K e_i$ is an order
 in~$A$, called the \emph{natural order}. Let~$\omega_0,\dots,\omega_{n-1}$ be
 a~$\Z$-basis of~$\Z_K$. The \emph{natural basis} of~${\cal O}$
 is~$b_0,\dots,b_{nd^2-1}$ where~$b_i = \omega_{(i \mod n)}e_{i/n}$.

 \subsec{Lattices} %GPHELPskip

 We also provide functions to handle full lattices in algebras over~$\Q$. A
 full lattice~$J\subset A$ is represented by a $2$-component \typ{VEC}~$[I,t]$
 representing~$J = tI$, where

 \item $I$ is an integral nonsingular upper-triangular matrix representing a
 sublattice of~${\cal O}_0$ expressed on the integral basis, and

 \item $t\in\Q_{>0}$ is a \typ{INT} or \typ{FRAC}.

 For the sake of efficiency you should use matrices~$I$ that are primitive and
 in Hermite Normal Form; this makes the representation unique. No GP function
 uses this property, but all GP functions return lattices in this form. The
 prefix for lattice functions is \kbd{alglat}.

 \subsec{GP conventions} %GPHELPskip

 As with number fields, we represent elements of central simple algebras
 in two ways, called the \emph{algebraic representation} and the \emph{basis
 representation}, and you can convert betweeen the two with the functions
 \kbd{algalgtobasis} and \kbd{algbasistoalg}. In every central simple algebra
 object, we store a~$\Z$-basis of an order~${\cal O}_0$, and the basis
 representation is simply a \typ{COL} with coefficients in~$\Q$ expressing the
 element in that basis. If no maximal order was computed by~\kbd{alginit},
 then~${\cal O}_0$ is the natural order. If a maximal order was computed,
 then~${\cal O}_0$ is a maximal order containing the natural order. For a cyclic
 algebra~$A = (L/K,\sigma,b)$, the algebraic representation is a \typ{COL} with
 coefficients in~$L$ representing the element in the decomposition~$A =
 \bigoplus_{i=0}^{d-1}x^iL$. For a central simple algebra defined by a
 multiplication table over its center~$K$ on a basis~$(e_i)$, the algebraic
 representation is a \typ{COL} with coefficients in~$K$ representing the element
 on the basis~$(e_i)$.

 \misctitle{Warning} The coefficients in the decomposition~$A =
 \bigoplus_{i=0}^{d-1}x^iL$ are not the same as those in the decomposition~$A
 = \bigoplus_{i=0}^{d-1}Lx^i$! The $i$-th coefficients are related by
 conjugating by~$x^i$, which on~$L$ amounts to acting by~$\sigma^i$.

 \misctitle{Warning} For a central simple algebra over $\Q$ defined by a
 multiplication table, we cannot distinguish between the basis and the algebraic
 representations from the size of the vectors. The behavior is then to always
 interpret the column vector as a basis representation if the coefficients are
 \typ{INT} or \typ{FRAC}, and as an algebraic representation if the coefficients
 are \typ{POL} or \typ{POLMOD}.
