Function: algtableinit
Section: algebras
C-Name: algtableinit
Prototype: GDG
Help: algtableinit(mt, {p=0}): initializes the associative algebra
over Q (resp. Fp) defined by the multiplication table mt.
Doc: initializes the associative algebra over $K = \Q$ ($p$ omitted) or $\F_p$
defined by the multiplication table \var{mt}.
As a $K$-vector space, the algebra is generated by a basis
$(e_1 = 1, e_2, \dots, e_n)$; the table is given as a \typ{VEC} of $n$ matrices in
$M_n(K)$, giving the left multiplication by the basis elements $e_i$, in the
given basis.
Assumes that $e_1=1$, that $K e_1\oplus \dots\oplus K e_n]$ describes an
associative algebra over $K$, and in the case $K=\Q$ that the multiplication
table is integral. If the algebra is already known to be central
and simple, then the case $K = \F_p$ is useless, and one should use
\tet{alginit} directly.
The point of this function is to input a finite dimensional $K$-algebra, so
as to later compute its radical, then to split the quotient algebra as a
product of simple algebras over $K$.
The pari object representing such an algebra $A$ is a \typ{VEC} with the
following data:
\item The characteristic of $A$, accessed with \kbd{algchar}.
\item The multiplication table of $A$, accessed with \kbd{algmultable}.
\item The traces of the elements of the basis.
A simple example: the $2\times 2$ upper triangular matrices over $\Q$,
generated by $I_2$, $a = \kbd{[0,1;0,0]}$ and $b = \kbd{[0,0;0,1]}$,
such that $a^2 = 0$, $ab = a$, $ba = 0$, $b^2 = b$:
\bprog
? mt = [matid(3),[0,0,0;1,0,1;0,0,0],[0,0,0;0,0,0;1,0,1]];
? A = algtableinit(mt);
? algradical(A) \\ = (a)
%6 =
[0]
[1]
[0]
? algcenter(A) \\ = (I_2)
%7 =
[1]
[0]
[0]
@eprog