Automorphisms and Isomorphisms

Magma has the capability of computing automorphisms and isomorphisms of basic algebras. Because the automorphism groups tend to be rather large, the functions work best on small examples.

GradedAutomorphismGroupMatchingIdempotents(A) : AlgBas -> GrpMat, SeqEnum, SecEnum
Returns the group of graded automorphisms of the basic algebra A that preserve the idempotents of A. Returns also the graded caps (matrices of homomorphisms from X/Rad2(X) to itself, where X is the Associated Graded algebra of A) of the generators of the automorphism group in two sequenced, nonunipotent generators and unipotent generators.
GradedAutomorphismGroup(A) : AlgBas -> GrpMat, SeqEnum[ModMatFldElt], SeqEnum[ModMatFldElt], SeqEnum[ModMatFldElt]
Returns the group of graded automorphisms of the associated graded algebra X of the basic algebra A. The function returns also the graded caps of the generators of the graded automorphism group. These are the induced automorphisms of X/Rad2(X) to itself, and they are returned as two lists of nonunipotent and unipotent generators that preserve the idempotents of X and a list of generators that permute the idempotents.
IsGradedIsomorphic(A, B) : AlgBas, AlgBas -> Bool, ModMatFldElt
Returns true if the associated graded algebras of A and B are isomorphic, in which case the isomorphism is returned.
AutomorphismGroupMatchingIdempotents(A) : AlgBas -> AlgBas, ModMatFldElt
Returns the group of all automorphism of the basic algebra A that preserve the basic idempotent structure. That is, any element of this group induces the identity automorphism on the quotient A/Rad(A) of A by its Jacobson radical.
AutomorphismGroup(A) : AlgBas -> GrpMat, SeqEnum, SeqEnum, SeqEnum
Returns the automorphism group of the basic Algebra A, together with the sequences of nonnilpotent generators preserving idempotents, nilpotent generators preserving idempotents and generators that permute the idempotents.
InnerAutomorphismGroup(A) : AlgBas -> GrpMat
Returns the group of inner automorphisms of the basic algebra A.
IsIsomorphic(A, B) : AlgBas, AlgBas -> Bool, Map
Returns true if the basic algebra A is isomorphic to the basic algebra B and, if so, the function also returns an isomorphism.

Example AlgBas_Automorphism group (H92E9)

We compute the automorphism group of a group algebra.
> A := BasicAlgebra(SmallGroup(81, 7));
> time ba := AutomorphismGroup(A);
Time: 6.260
> #ba;
687170027642681774715281506354161696936143362668
> Factorization(#ba);
[ <2, 2>, <3, 99> ]
As expected the automorphism group has a very large unipotent 3-subgroup.

Example AlgBas_modify presentation (H92E10)

We can see if small changes in the presentation of an algebra affect the isomorphism type. We define the algebras by generators and relations.
> F<e1,e2,z,y,x> := FreeAlgebra(GF(5),5);
> RR:= [(y*z)^3,x^4,x*y*z];
> A := BasicAlgebra(F,RR,2,[<1,2>,<2,1>,<2,2>]);
> A;
Basic algebra of dimension 49 over GF(5)
Number of projective modules: 2
Number of generators: 5
> RS:= [(y*z)^3-x^4,x^5,x*y*z,(z*y)^3];
> B := BasicAlgebra(F,RS,2,[<1,2>,<2,1>,<2,2>]);
> B;
Basic algebra of dimension 49 over GF(5)
Number of projective modules: 2
Number of generators: 5
> RT:= [(y*z)^3-2*x^4,x^5,x*y*z,(z*y)^3];
> C := BasicAlgebra(F,RS,2,[<1,2>,<2,1>,<2,2>]);
> C;
Basic algebra of dimension 49 over GF(5)
Number of projective modules: 2
Number of generators: 5
> time ab, x := IsIsomorphic(A,B);
Time: 0.100
> ab;
false
> time ac, x := IsIsomorphic(A,C);
Time: 0.050
> print ac;
false
> time bc,x := IsIsomorphic(B,C);
Time: 2.350
> print bc;
true

Example AlgBas_GradedGroupAlgebras (H92E11)

We can see which groups of order 32 have mod 2 group algebras that are graded. The algebra is graded if and only if it is isomorphic to its associated graded algebra. So we make a list of those algebras whose group algebras are graded. Note that there are 51 isomorphism classes of groups of order 32. The last one (number 51) is elementary abelian and we know that its group algebra is graded.
> graded := [];
> for i := 1 to 50 do
>     A := BasicAlgebra(SmallGroup(32,i));
>     B := AssociatedGradedAlgebra(A);
>     boo, map := IsIsomorphic(A, B);
>     if boo then Append(~graded, i); end if;
> end for;
> graded;
[ 1, 2, 3, 5, 9, 12, 14, 16, 18, 21, 22, 25, 36, 39, 45, 46 ]
V2.28, 13 July 2023