Recognition of \(\ast\)-Algebras#

In this section we describe methods that facilitate structural examinations of \(*\)-algebras. All of the functions in this section require that the base ring of the given algebra is a finite field of odd order. The functions are implementations of the methods described in [Brooksbank and Wilson, 2012, Sections 4.2 and 4.3].

Recognition of Simple \(\ast\)-Algebras#

If \(A\) is a simple \(*\)-algebra, then we constructively recognise \(A\) by finding an explicit inverse isomorphisms between \(A\) and the standard copy of the simple \(*\)-algebra which is isomorphic to \(A\). The latter is the output of the function SimpleStarAlgebra with the appropriate input parameters.

RecogniseClassicalSSA(A): AlgMat -> BoolElt, AlgMat, Map, Map#

Given a matrix \(*\)-algebra \(A\), this function first decides whether or not \(A\) is a simple \(*\)-algebra of classical type. If it is, the standard \(*\)-algebra, \(T\), corresponding to \(A\), a \(*\)-isomorphism from \(A\) to \(T\), and its inverse from \(T\) to \(A\) are returned.

RecogniseExchangeSSA(A): AlgMat -> BoolElt, AlgMat, Map, Map#

Given a matrix \(*\)-algebra \(A\), this function first decides whether or not \(A\) is a simple \(*\)-algebra of exchange type. If it is, the standard \(*\)-algebra, \(T\), corresponding to \(A\), a \(*\)-isomorphism from \(A\) to \(T\), and its inverse from \(T\) to \(A\) are returned.

Example: Recognise Classical SSA (ex-f5d034)#

We build a particular simple \(*\)-algebra of symplectic type and recognise it constructively.

> MA := MatrixAlgebra(GF(7), 4);
> F := MA![0,1,3,4,6,0,0,1,4,0,0,2,3,6,5,0];
> F;
[0 1 3 4]
[6 0 0 1]
[4 0 0 2]
[3 6 5 0]
> A := AdjointAlgebra([F]);
> isit, T, f, g := RecogniseClassicalSSA(A);
> isit;
true;

Run in calculator

A quick check that \(f\) is, as claimed, a \(*\)-isomorphism.

> (A.1 + A.2)@f eq (A.1@f) + (A.2@f);
true
> (A.1 * A.2)@f eq (A.1@f) * (A.2@f);
true
> (A.2@Star(A))@f eq (A.2@f)@Star(T);
true

Run in calculator

Recognition of Arbitrary \(\ast\)-Algebras#

If \(A\) is an arbitrary \(*\)-algebra, then we constructively recognise \(A\) as follows:

(i)

Find a decomposition \(A=J\oplus T\), where \(J\) is the Jacobson radical of \(A\) and \(T\) is a \(*\)-invariant semisimple complement to \(J\) in \(A\);

(ii)

Find a decomposition \(T=I_1\oplus\ldots\oplus I_t\) of \(T\) into minimal \(*\)-ideals; and

(iii)

For each \(j\in\{1,\ldots,t\}\) constructively recognise the simple \(*\)-algebra \(I_j\).

RecogniseStarAlgebra(A): AlgMat -> BoolElt#
RecogniseStarAlgebra(A): AlgGrp -> BoolElt#

Constructively recognise the \(*\)-algebra \(A\) given as a matrix \(*\)-algebra or a group algebra.

There are several functions available that permit easy access to structural information about a \(*\)-algebra that has been constructively recognised. (In fact all of these functions also initiate a constructive recognition of the input \(*\)-algebra if the recognition has not already been carried out.) For all of the access functions \(A\) can be either a matrix \(*\)-algebra or a group algebra.

IsSimpleStarAlgebra(A): AlgMat -> BoolElt#
IsSimpleStarAlgebra(A): AlgGrp -> BoolElt#

Return true if and only if \(A\) is a simple \(*\)-algebra.

SimpleParameters(A): AlgMat -> SeqEnum#
SimpleParameters(A): AlgGrp -> SeqEnum#

Given a \(*\)-algebra \(A\), this function returns the parameters that determine (up to \(*\)-isomorphism) the minimal \(*\)-ideals of the semisimple quotient \(A/J\), where \(J\) is the Jacobson radical of \(A\). The parameters are returned in the form of a sequence.

NormGroup(A): AlgMat -> GrpMat#

Given a \(*\)-algebra \(A\), this function returns the group of unitary elements of \(A\), namely the group consisting of all units in \(A\) satisfying the condition \(x^*=x^{-1}\). The function is based on methods described in [Brooksbank and Wilson, 2012, Section 5].

Example: Nonisomorphism1 (ex-9f1ea0)#

Our first example illustrates how the \(*\)-algebra machinery may be used to distinguish between group algebras over \({\rm GF}(5)\) for the dihedral and quaternion groups of order 8. Those group algebras are isomorphic as algebras, but the example shows that they are nonisomorphic as \(*\)-algebras.

> K := GF(5);
> G1 := SmallGroup(8, 3);
> G2 := SmallGroup(8, 4);
> A1 := GroupAlgebraAsStarAlgebra(K, G1);
> A2 := GroupAlgebraAsStarAlgebra(K, G2);
> J1, T1 := TaftDecomposition(A1);
> J2, T2 := TaftDecomposition(A2);
> Dimension(J1); Dimension(J2);
0
0

Run in calculator

Thus (as we know from Maschke’s theorem) both \({\rm GF}(5)[D_8]\) and \({\rm GF}(5)[Q_8]\) are semisimple. We now recognise them as \(*\)-algebras and examine their minimal \(*\)-ideals.

> RecogniseStarAlgebra(A1);
true
> RecogniseStarAlgebra(A2);
true
> SimpleParameters(A1);
[ <"orthogonalcircle", 1, 5>, <"orthogonalcircle", 1, 5>,
<"orthogonalcircle", 1, 5>, <"orthogonalcircle", 1, 5>,
<"orthogonalplus", 2, 5> ]
> SimpleParameters(A2);
[ <"orthogonalcircle", 1, 5>, <"orthogonalcircle", 1, 5>,
<"orthogonalcircle", 1, 5>, <"orthogonalcircle", 1, 5>,
<"symplectic", 2, 5>
]

Run in calculator

Both group algebras decompose into four 1-dimensional \(*\)-ideals, and one 4-dimensional \(*\)-ideal. However, the latter has type "orthogonalplus" for \({\rm GF}(5)[D_8]\), but type "symplectic" for \({\rm GF}(5)[Q_8]\).

Example: Nonisomorphism2 (ex-31ccc3)#

Our second example shows how to use \(*\)-algebra functions to distinguish between two \(p\)-groups of class 2 and order \(43^6\). The first group is a Sylow 43-subgroup of \({\rm GL}(3,43^2)\).

> P1 := ClassicalSylow(GL(3, 43^2), 43);
> Forms1 := PGroupToForms(P1);
> A1 := AdjointAlgebra(Forms1);
> RecogniseStarAlgebra(A1);
true
> SimpleParameters(A1);
[ <"symplectic", 2, 1849> ]

Run in calculator

The second group is constructed as a subgroup of \({\rm GL}(3,{\rm GF}(43)[x]/(x^2))\).

> R<x> := PolynomialRing(GF(43));
> S, f := quo< R | x^2 >;
> G := GL(3, S);
> Ua := G![1,1,0,0,1,0,0,0,1];
> Wa := G![1,0,0,0,1,1,0,0,1];
> Ub := G![1,x@f,0,0,1,0,0,0,1];
> Wb := G![1,0,0,0,1,x@f,0,0,1];
> P2 := sub< G | [ Ua, Wa, Ub, Wb ] >;
> Forms2 := PGroupToForms(P2);
> A2 := AdjointAlgebra(Forms2);
> RecogniseStarAlgebra(A2);
true
> SimpleParameters(A2);
[ <"symplectic", 2, 43> ]

Run in calculator

Since \(A_1\) and \(A_2\) are non-isomorphic \(*\)-algebras, it follows that \(P_1\) and \(P_2\) are non-isomorphic groups.