Operation( A, M )
Let A be an F-algebra for a field F, and M an A-module of
F-dimension n. With respect to a chosen F-basis of M, the action
of an element of A on M can be described by an n times n matrix
over F. This induces an algebra homomorphism from A onto a matrix
algebra A_M, with action on its natural module equivalent to the action
of A on M.
The matrix algebra A_M can be computed as Operation( A, M )
.
Operation( A, B )
returns the operation of the algebra A on an A-module M with respect to the vector space basis B of M.
Note that contrary to the situation for groups, the operation domains of algebras are not lists of elements but domains.
For constructing the algebra homomorphism from A onto A_M, and the module homomorphism from M onto the equivalent A_M-module, see OperationHomomorphism for Algebras and Module Homomorphisms, respectively.
gap> a:= UnitalAlgebra( Rationals, [ [ [ 1, 0 ], [ 0, 0 ] ] ] );; gap> m:= Module( a, [ [ 1, 0 ] ] );; gap> op:= Operation( a, m ); UnitalAlgebra( Rationals, [ [ [ 1 ] ] ] ) gap> mat1:= PermutationMat( (1,2,3), 3, GF(2) );; gap> mat2:= PermutationMat( (1,2), 3, GF(2) );; gap> u:= Algebra( GF(2), [ mat1, mat2 ] );; u.name:= "u";; gap> nat:= NaturalModule( u );; nat.name:= "nat";; gap> q:= nat / FixedSubmodule( nat );; gap> op1:= Operation( u, q ); UnitalAlgebra( GF(2), [ [ [ 0*Z(2), Z(2)^0 ], [ Z(2)^0, Z(2)^0 ] ], [ [ Z(2)^0, Z(2)^0 ], [ 0*Z(2), Z(2)^0 ] ] ] ) gap> b:= Basis( q, [ [ 0, 1, 1 ], [ 0, 0, 1 ] ] * Z(2) );; gap> op2:= Operation( u, b ); UnitalAlgebra( GF(2), [ [ [ Z(2)^0, Z(2)^0 ], [ Z(2)^0, 0*Z(2) ] ], [ [ Z(2)^0, Z(2)^0 ], [ 0*Z(2), Z(2)^0 ] ] ] ) gap> IsEquivalent( NaturalModule( op1 ), NaturalModule( op2 ) ); true
If the dimension of M is zero then the elements of A_M cannot be
represented as GAP matrices. The result is a null algebra, see
NullAlgebra, NullAlgebra
.
GAP 3.4.4