# 38.22 Operation for Algebras

`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
April 1997