Goto Chapter: Top 1 2 3 4 5 Bib Ind
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 

2 Algebras and their Actions
 2.1 Multipliers
 2.2 Commutative actions
 2.3 Lists of algebra homomorphisms

2 Algebras and their Actions

All the algebras considered in this package will be associative and commutative. Scalars belong to a commutative ring k with 1 ≠ 0.

Why not a field? A group ring over the integers is not an algebra.

2.1 Multipliers

A multiplier in a commutative algebra A is a function μ : A -> A such that

\mu(ab) ~=~ (\mu a)b ~=~ a(\mu b) \quad \forall~ a,b \in A.

The regular multipliers of A are the functions

\mu_a : A \to A ~:~ \mu_ab = ab \quad \forall~ b \in A.

When A has a one, it follows from the defining condition that μ(b1) = (μ 1)b and so μ = μ_a where a = μ 1. Since an ideal I of A is closed under multiplication, a multiplier μ may be restricted to I.

Question: Is there an example of an algebra A without a one which has multipliers not of the form μ_a?

2.1-1 RegularAlgebraMultiplier
‣ RegularAlgebraMultiplier( A, I, a )( operation )

This operation defines the multiplier μ_a : I -> I on an ideal I of A.


gap> A5c6 := GroupRing( GF(5), Group( (1,2,3,4,5,6) ) );;
gap> vecA := BasisVectors( Basis( A5c6 ) );; 
gap> v := vecA[1] + vecA[3] + vecA[5];
(Z(5)^0)*()+(Z(5)^0)*(1,3,5)(2,4,6)+(Z(5)^0)*(1,5,3)(2,6,4)
gap> I5c6 := Ideal( A5c6, [v] );; 
gap> v2 := vecA[2];
(Z(5)^0)*(1,2,3,4,5,6)
gap> m2 := RegularAlgebraMultiplier( A5c6, I5c6, v2 ); 
[ (Z(5)^0)*()+(Z(5)^0)*(1,3,5)(2,4,6)+(Z(5)^0)*(1,5,3)(2,6,4), 
  (Z(5)^0)*(1,2,3,4,5,6)+(Z(5)^0)*(1,4)(2,5)(3,6)+(Z(5)^0)*(1,6,5,4,3,2) ] -> 
[ (Z(5)^0)*(1,2,3,4,5,6)+(Z(5)^0)*(1,4)(2,5)(3,6)+(Z(5)^0)*(1,6,5,4,3,2), 
  (Z(5)^0)*()+(Z(5)^0)*(1,3,5)(2,4,6)+(Z(5)^0)*(1,5,3)(2,6,4) ]

2.1-2 IsAlgebraMultiplier
‣ IsAlgebraMultiplier( m )( operation )

This function tests the condition μ(ab) = (μ a)b = a(μ b) for all a,b in the basis for A.


gap> IsAlgebraMultiplier( m2 ); 
true
gap> one := One( A5c6 );; 
gap> L := List( vecA, v -> one );; 
gap> m1 := LeftModuleHomomorphismByImages( A5c6, A5c6, vecA, L ); 
[ (Z(5)^0)*(), (Z(5)^0)*(1,2,3,4,5,6), (Z(5)^0)*(1,3,5)(2,4,6), 
  (Z(5)^0)*(1,4)(2,5)(3,6), (Z(5)^0)*(1,5,3)(2,6,4), (Z(5)^0)*(1,6,5,4,3,2) 
 ] -> [ (Z(5)^0)*(), (Z(5)^0)*(), (Z(5)^0)*(), (Z(5)^0)*(), (Z(5)^0)*(), 
  (Z(5)^0)*() ]
gap> IsAlgebraMultiplier( m1 );                                                
false

2.1-3 MultiplierAlgebraOfIdealBySubalgebra
‣ MultiplierAlgebraOfIdealBySubalgebra ( A, I, B )( operation )

The regular multipliers μ_b : I -> I for all b ∈ B, where I is an ideal in A and B is a subalgebra of A, form an algebra with product μ_b ∘ μ_b' = μ_bb'.


gap> v3 := vecA[3];
(Z(5)^0)*(1,3,5)(2,4,6)
gap> B5c3 := Subalgebra( A5c6, [ v3 ] );; 
gap> M := MultiplierAlgebraOfIdealBySubalgebra( A5c6, I5c6, B5c3 );
<algebra of dimension 1 over GF(5)>
gap> vecM := BasisVectors( Basis( M ) );; 
gap> vecM[1];
<linear mapping by matrix, 
<two-sided ideal in <algebra-with-one of dimension 6 over GF(5)>, (dimension 2
 )> -> <two-sided ideal in <algebra-with-one of dimension 6 over GF(5)>, 
  (dimension 2)>>

2.1-4 MultiplierAlgebra
‣ MultiplierAlgebra( A )( attribute )

The regular multipliers μ_a : A -> A for all a ∈ A form an algebra isomorphic to A by the map a ↦ μ_a. This operation returns MultiplierAlgebraOfIdealBySubalgebra(A,A,A);.


gap> MA5c6 := RegularMultiplierAlgebra( A5c6 );
<algebra of dimension 6 over GF(5)>
gap> vecM := BasisVectors( Basis( MA5c6 ) );; 
gap> vecM[3];
<linear mapping by matrix, <algebra-with-one of dimension 
6 over GF(5)> -> <algebra-with-one of dimension 6 over GF(5)>>

2.1-5 MultiplierHomomorphism
‣ MultiplierHomomorphism( M )( attribute )

If M is a multiplier algebra with elements of algebra A multiplying an ideal I then this operation returns the homomorphism from A to M mapping a to μ_a.


gap> hom := MultiplierHomomorphism( MA5c6 );; 
gap> ImageElm( hom, vecA[2] ); 
Basis( <two-sided ideal in <algebra-with-one of dimension 6 over GF(5)>, 
  (dimension 2)>, 
[ (Z(5)^0)*()+(Z(5)^0)*(1,3,5)(2,4,6)+(Z(5)^0)*(1,5,3)(2,6,4), 
  (Z(5)^0)*(1,2,3,4,5,6)+(Z(5)^0)*(1,4)(2,5)(3,6)+(Z(5)^0)*(1,6,5,4,3,2) 
 ] ) -> 
[ (Z(5)^0)*(1,2,3,4,5,6)+(Z(5)^0)*(1,4)(2,5)(3,6)+(Z(5)^0)*(1,6,5,4,3,2), 
  (Z(5)^0)*()+(Z(5)^0)*(1,3,5)(2,4,6)+(Z(5)^0)*(1,5,3)(2,6,4) ]

2.2 Commutative actions

If S and R are commutative k-algebras, a map

R \times S ~\to~ S, \qquad (r,s) ~\mapsto~ r \cdot s

is a commutative action if and only if the following five axioms hold:

for all k ∈k, r,r' ∈ R, and s,s' ∈ S.

2.2-1 AlgebraActionByMultipliers
‣ AlgebraActionByMultipliers( A, I )( operation )

When I is an ideal in A we have seen that the multiplier homomorphism from A to MultiplierAlgebraOf(Ideal(A,I) is an action.

In the example the algebra is the group ring of the cyclic group C_6 over the field GF(5). The ideal is generated by v = () + (1,3,5)(2,4,6) + (1,5,3)(2,6,4). The generator r = (1,2,3,4,5,6) acts on v by multiplication to give the vector r ⋅ v = (1,2,3,4,5,6) + (1,4)(2,5)(3,6) + (1,6,5,4,3,2).


gap> A5c6 := GroupRing( GF(5), Group( (1,2,3,4,5,6) ) );;
gap> vecA := BasisVectors( Basis( A5c6 ) );; 
gap> v := vecA[1] + vecA[3] + vecA[5];
(Z(5)^0)*()+(Z(5)^0)*(1,3,5)(2,4,6)+(Z(5)^0)*(1,5,3)(2,6,4)
gap> I5c6 := Ideal( A5c6, [v] );; 
gap> actm := AlgebraActionByMultipliers( A5c6, I5c6 );; 
gap> actm2 := Image( actm, vecA[2] );; 
gap> Image( actm2, v );
(Z(5)^0)*(1,2,3,4,5,6)+(Z(5)^0)*(1,4)(2,5)(3,6)+(Z(5)^0)*(1,6,5,4,3,2)

2.2-2 AlgebraActionBySurjection
‣ AlgebraActionBySurjection( hom )( operation )

Let θ : S -> R be a surjective algebra homomorphism such that ks = 0_S ~∀~ k ∈ K = kerθ. Then R acts on S with r ⋅ s = (θ^-1r)s. Note that thus action is well defined since if θ p = r then θ^-1r = { p+k ~|~ k ∈ kerθ } and (p+k)s = ps+ks = ps+0.

Continuing with the previous example, we construct the quotient algebra Q5c6 = A5c6/I5c6, and the natural homomorphism θ : A5c6 -> Q5c6. The kernel of θ is not contained in the annihilator of A5c6, so an attempt to form the action fails.

An alternative example involves a single-generator matrix algebra.


gap> theta := NaturalHomomorphismByIdeal( A5c6, I5c6 );
<linear mapping by matrix, <algebra-with-one of dimension 
6 over GF(5)> -> <algebra of dimension 4 over GF(5)>>
gap> List( vecA, v -> ImageElm( theta, v ) ); 
[ v.1, v.2, v.3, v.4, (Z(5)^2)*v.1+(Z(5)^2)*v.3, (Z(5)^2)*v.2+(Z(5)^2)*v.4 ]
gap> actp := AlgebraActionBySurjection( theta );
kernel of hom is not in the annihilator of A
fail
gap> ## an example which does not fail: 
gap> m := [ [0,1,2,3], [0,0,1,2], [0,0,0,1], [0,0,0,0] ];; 
gap> m^2;
[ [ 0, 0, 1, 4 ], [ 0, 0, 0, 1 ], [ 0, 0, 0, 0 ], [ 0, 0, 0, 0 ] ]
gap> m^3;
[ [ 0, 0, 0, 1 ], [ 0, 0, 0, 0 ], [ 0, 0, 0, 0 ], [ 0, 0, 0, 0 ] ]
gap> A1 := Algebra( Rationals, [m] );;
gap> A3 := Subalgebra( A1, [m^3] );; 
gap> nat3 := NaturalHomomorphismByIdeal( A1, A3 ); 
<linear mapping by matrix, <algebra of dimension 
3 over Rationals> -> <algebra of dimension 2 over Rationals>>
gap> act3 := AlgebraActionBySurjection( nat3 );; 
gap> a3 := Image( act3, BasisVectors( Basis( Image( nat3 ) ) )[1] );;  
gap> [ Image( a3, m ) = m^2, Image( a3, m^2 ) = m^3 ];
[ true, true ]

2.2-3 SemidirectProductOfAlgebras
‣ SemidirectProductOfAlgebras( R, act, S )( operation )

When R,S are commutative algebras and R acts on S then we can form the semidirect product R ⋉ S, where the product is given by:

(r_1,s_1)(r_2,s_2) ~=~ (r_1r_2,~ r_1 \cdot s_2 + r_2 \cdot s_1 + s_1s_2).

This product, as wekll as being commutative, is associative: (r_1,s_1)(r_2,s_2)(r_3,s_3) expands as:

(r_1r_2r_3,~ \left (r_1r_2)\cdot s3 + (r_1r_3)\cdot s_2 + (r_2r_3)\cdot s_1 + r_1 \cdot (s_2s_3) + r_2 \cdot (s_1s_3) + r_3 \cdot (s_1s_2) + s_1s_2s_3 \right).

If B_R, B_S are the sets of basis vectors for R and S then R ⋉ S has basis

\{(r,0_S) ~|~ r \in B_R\} ~\cup~ \{(0_R,s) ~|~ s \in B_S\}

with defining products

(r_1,0_S)(r_2,0_S) = (r_1r_2,0_S), \qquad (r,0_S)(0_R,s) = (0_R,r \cdot s), \qquad (0_R,s_1)(0_R,s_2) = (0_R,s_1s_2).

Continuing the example above,


gap> P := SemidirectProductOfAlgebras( A5c6, actm, I5c6 ); 
gap> Embedding( P, 1 );
[ (Z(5)^0)*(), (Z(5)^0)*(1,2,3,4,5,6), (Z(5)^0)*(1,3,5)(2,4,6), 
  (Z(5)^0)*(1,4)(2,5)(3,6), (Z(5)^0)*(1,5,3)(2,6,4), (Z(5)^0)*(1,6,5,4,3,2) 
 ] -> [ v.1, v.2, v.3, v.4, v.5, v.6 ]
gap> Embedding( P, 2 );
[ (Z(5)^0)*()+(Z(5)^0)*(1,3,5)(2,4,6)+(Z(5)^0)*(1,5,3)(2,6,4), 
  (Z(5)^0)*(1,2,3,4,5,6)+(Z(5)^0)*(1,4)(2,5)(3,6)+(Z(5)^0)*(1,6,5,4,3,2) ] -> 
[ v.7, v.8 ]
gap> Projection( P, 1 );
[ v.1, v.2, v.3, v.4, v.5, v.6, v.7, v.8 ] -> 
[ (Z(5)^0)*(), (Z(5)^0)*(1,2,3,4,5,6), (Z(5)^0)*(1,3,5)(2,4,6), 
  (Z(5)^0)*(1,4)(2,5)(3,6), (Z(5)^0)*(1,5,3)(2,6,4), (Z(5)^0)*(1,6,5,4,3,2), 
  <zero> of ..., <zero> of ... ]

2.2-4 SemidirectProductOfAlgebrasInfo
‣ SemidirectProductOfAlgebrasInfo( P )( attribute )

The SemidirectProductOfAlgebrasInfo(P) for P = R ⋉ S is a record with fields P.action; P.algebras; P.embeddings; and P.projections.

2.3 Lists of algebra homomorphisms

2.3-1 AllAlgebraHomomorphisms
‣ AllAlgebraHomomorphisms( A, B )( operation )
‣ AllBijectiveAlgebraHomomorphisms( A, B )( operation )
‣ AllIdempotentAlgebraHomomorphisms( A, B )( operation )

These three operations list all the homomorphisms from A to B of the specified type. These lists can get very long, so the operations should only be used with small algebras.


gap> A2c6 := GroupRing( GF(2), Group( (1,2,3,4,5,6) ) );;
gap> R2c3 := GroupRing( GF(2), Group( (7,8,9) ) );;
gap> homAR := AllAlgebraHomomorphisms( A2c6, R2c3 );;
gap> List( homAR, h -> MappingGeneratorsImages(h) );
[ [ [ (Z(2)^0)*(1,6,5,4,3,2) ], [ <zero> of ... ] ], 
  [ [ (Z(2)^0)*(1,6,5,4,3,2) ], [ (Z(2)^0)*() ] ], 
  [ [ (Z(2)^0)*(1,6,5,4,3,2) ], [ (Z(2)^0)*()+(Z(2)^0)*(7,8,9) ] ], 
  [ [ (Z(2)^0)*(1,6,5,4,3,2) ], 
      [ (Z(2)^0)*()+(Z(2)^0)*(7,8,9)+(Z(2)^0)*(7,9,8) ] ], 
  [ [ (Z(2)^0)*(1,6,5,4,3,2) ], [ (Z(2)^0)*()+(Z(2)^0)*(7,9,8) ] ], 
  [ [ (Z(2)^0)*(1,6,5,4,3,2) ], [ (Z(2)^0)*(7,8,9) ] ], 
  [ [ (Z(2)^0)*(1,6,5,4,3,2) ], [ (Z(2)^0)*(7,8,9)+(Z(2)^0)*(7,9,8) ] ], 
  [ [ (Z(2)^0)*(1,6,5,4,3,2) ], [ (Z(2)^0)*(7,9,8) ] ] ]
gap> homRA := AllAlgebraHomomorphisms( R2c3, A2c6 );;
gap> List( homRA, h -> MappingGeneratorsImages(h) );
[ [ [ (Z(2)^0)*(7,8,9) ], [ <zero> of ... ] ], 
  [ [ (Z(2)^0)*(7,8,9) ], [ (Z(2)^0)*() ] ], 
  [ [ (Z(2)^0)*(7,8,9) ], [ (Z(2)^0)*()+(Z(2)^0)*(1,3,5)(2,4,6) ] ], 
  [ [ (Z(2)^0)*(7,8,9) ], 
      [ (Z(2)^0)*()+(Z(2)^0)*(1,3,5)(2,4,6)+(Z(2)^0)*(1,5,3)(2,6,4) ] ], 
  [ [ (Z(2)^0)*(7,8,9) ], [ (Z(2)^0)*()+(Z(2)^0)*(1,5,3)(2,6,4) ] ], 
  [ [ (Z(2)^0)*(7,8,9) ], [ (Z(2)^0)*(1,3,5)(2,4,6) ] ], 
  [ [ (Z(2)^0)*(7,8,9) ], [ (Z(2)^0)*(1,3,5)(2,4,6)+(Z(2)^0)*(1,5,3)(2,6,4) ] 
     ], [ [ (Z(2)^0)*(7,8,9) ], [ (Z(2)^0)*(1,5,3)(2,6,4) ] ] ]
gap> bijAA := AllBijectiveAlgebraHomomorphisms( A2c6, A2c6 );;
gap> List( bijAA, h -> MappingGeneratorsImages(h) );
[ [ [ (Z(2)^0)*(1,6,5,4,3,2) ], 
      [ (Z(2)^0)*()+(Z(2)^0)*(1,3,5)(2,4,6)+(Z(2)^0)*(1,4)(2,5)(3,6) ] ], 
  [ [ (Z(2)^0)*(1,6,5,4,3,2) ], 
      [ (Z(2)^0)*()+(Z(2)^0)*(1,4)(2,5)(3,6)+(Z(2)^0)*(1,5,3)(2,6,4) ] ], 
  [ [ (Z(2)^0)*(1,6,5,4,3,2) ], [ (Z(2)^0)*(1,2,3,4,5,6) ] ], 
  [ [ (Z(2)^0)*(1,6,5,4,3,2) ], 
      [ (Z(2)^0)*(1,2,3,4,5,6)+(Z(2)^0)*(1,3,5)(2,4,6)+(Z(2)^0)*(1,5,3)
            (2,6,4) ] ], 
  [ [ (Z(2)^0)*(1,6,5,4,3,2) ], 
      [ (Z(2)^0)*(1,3,5)(2,4,6)+(Z(2)^0)*(1,5,3)(2,6,4)+(Z(2)^0)*
            (1,6,5,4,3,2) ] ], 
  [ [ (Z(2)^0)*(1,6,5,4,3,2) ], [ (Z(2)^0)*(1,6,5,4,3,2) ] ] ]
gap> ideAA := AllIdempotentAlgebraHomomorphisms( A2c6, A2c6 );; 
gap> Length( ideAA );
14

 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 
Goto Chapter: Top 1 2 3 4 5 Bib Ind

generated by GAPDoc2HTML