Decompositions of *-Algebras

Every finite-dimensional K-algebra A has a decomposition A=J direct-sum W, where J is the Jacobson radical of A and W is a semisimple subring of A. We refer to such decompositions as Wedderburn decompositions. The procedure that computes Wedderburn decompositions is adapted from an analogous Magma function written by W. de Graaf for algebras defined by structure constants.

If A is a *-algebra and the characteristic of K is not 2, then it follows from a result of Taft [Taf57] that A has a Wedderburn decomposition of the form A=J direct-sum T in which T is invariant under the involution of A. We refer to such decompositions as Taft decompositions. The procedure that computes Taft decompositions is based on Taft's original proof, and is described in [BW12a, Proposition 4.3].

WedderburnDecomposition(A) : AlgMat -> AlgMat, AlgMat
WedderburnDecomposition(A) : AlgGrp -> AlgGrpSub, AlgGrpSub
A Wedderburn decomposition is constructed for the *-algebra A. Specifically, the Jacobson radical, J, of A, and a semisimple complement, W, to J in A are computed. Here A may be either a matrix algebra or a group algebra over any field.
TaftDecomposition(A) : AlgMat -> AlgMat, AlgMat
TaftDecomposition(A) : AlgGrp -> AlgGrpSub, AlgGrpSub
A Taft decomposition is constructed for the *-algebra A. Specifically, the Jacobson radical, J, of A and a *-invariant Wedderburn complement to J in A are computed. This function requires that the base ring of A has characteristic different from 2. Here A may be either a matrix *-algebra or a group algebra.

Example AlgInv_TaftDcomposition (H94E6)

We compute a Wedderburn decomposition of the group algebra (GF (5))[A5] equipped with its natural involution.
> K := GF(5);
> G := AlternatingGroup(5);
> A := GroupAlgebraAsStarAlgebra(K, G);
> J, W := WedderburnDecomposition(A);
We check dimensions and the *-invariance of T.
> Dimension(J); Dimension(W);
25
35
> forall { i : i in [1..Ngens (W)] | W.i@Star(A) in W };
false
Now find a *-invariant decomposition.
> J, T := TaftDecomposition(A);
> Dimension(J); Dimension(W);
25
35
> forall { i : i in [1..Ngens(T)] | T.i@Star(A) in T };
true
V2.28, 13 July 2023