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.
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?
‣ 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) ]
‣ 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
‣ 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)>>
‣ 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)>>
‣ 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) ]
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:
k(r ⋅ s) ~=~ (kr) ⋅ s ~=~ r ⋅ (ks),
r ⋅ (s + s') ~=~ r ⋅ s + r ⋅ s', qquad (so r ⋅ 0_S = 0_S ~∀~ r ∈ R),
(r + r') ⋅ s ~=~ r ⋅ s + r' ⋅ s, qquad (so 0_R ⋅ s = 0_S ~∀~ s ∈ S),
r ⋅ (ss') ~=~ (r ⋅ s)s' = s(r ⋅ s'),
(rr') ⋅ s ~=~ r ⋅ (r' ⋅ s), qquad (so 1_R ⋅ s = s ~∀~ s ∈ S when R has a one),
for all k ∈k, r,r' ∈ R, and s,s' ∈ S.
‣ 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)
‣ 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 ]
‣ 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 ... ]
‣ SemidirectProductOfAlgebrasInfo ( P ) | ( attribute ) |
The SemidirectProductOfAlgebrasInfo(P)
for P = R ⋉ S is a record with fields P.action
; P.algebras
; P.embeddings
; and P.projections
.
‣ 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
generated by GAPDoc2HTML