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