|
For a field K and groups G and H, a (KG, KH)-bimodule is a vector
space over K equipped with a left G-action and a right H-action.
In the Magma implementation, (KG, KH)-bimodules are regarded as being
equivalent to standard right K(G x H)-modules, where
 - the right action of H in the bimodule is the same as
the right action of H in the equivalent K(G x H)-module; and
 - the left action of G in the bimodule is related
to the right action of G in the equivalent K(G x H)-module by
g - 1 * v = v * g for all g ∈G and v in the common underlying
K-vector space.
Most of the functionality for standard right KG-modules, such as forming
sub- and quotient modules, defining homomorphisms, etc, should also
work for (KG, KH)-modules, where results are calculated using
the equivalent K(G x H)-module. But note that there is no requirement
for the groups G and H to have the same type.
It is often more convenient to construct a bimodule directly from the
equivalent K(G x H)-module.
Inputs M and N should be KG- and KH-modules of the same dimension, such
that the actions of G and H commute; i.e. (v * g) * h = (v * h) * g
for all g ∈G, h ∈H, and v in the common underlying K-vector space
V of M and N. An error will result if this condition is not satisfied.
The corresponding bimodule is returned in which g - 1 * v = v * g for
all g ∈G and v ∈V.
> G:=Sym(3);
> H:=CyclicGroup(2);
> M:=PermutationModule(G,GF(3));
> S:=ScalarMatrix(3, GF(3)!2);
> N:=GModule(H,[S]);
> B:=Bimodule(M,N);
> B;
Bimodule B of dimension 3 over GF(3)
> M.1 * G.1;
M: (0 1 0)
> G.1^-1 * B.1;
B: (0 1 0)
> GHom(B,B);
KMatrixSpace of 3 by 3 matrices and dimension 2 over GF(3)
> #Submodules(B);
4
Inputs G and H should be groups, and
M should be a (G x H)-module.
The equivalent (KG, KH)-bimodule is constructed.
> X := DirectProduct(Sym(4), Alt(5));
> I := IrreducibleModules(X, GF(3));
> M12 := I[9];
> M12;
GModule M12 of dimension 12 over GF(3)
> B := Bimodule(Sym(4), Alt(5), M12);
> B;
Bimodule B of dimension 12 over GF(3)
> IsIrreducible(B);
true
M should be a KG-module.
The corresponding (KG, KT)-bimodule is returned in which T is the trivial
group and g - 1 * v = v * g for all g ∈G and v ∈V.
M should be a KH-module.
The corresponding (KT, KH)-bimodule is returned in which T is the trivial
group.
Extract the equivalent right KG-module M from the (KG, KH)-bimodule B,
where g - 1 * v = v * g for g ∈G, and v in the common K-vector
space V of B and M.
Extract the equivalent right KH-module M from the (KG, KH)-bimodule B.
We continue with the previous example, and check the property
g - 1 * v = v * g for all g ∈G and v ∈V.
> ML := LeftOppositeModule(B);
> ML;
GModule ML of dimension 12 over GF(3)
> G := Group(ML);
> G;
Symmetric group G acting on a set of cardinality 4
Order = 24 = 2^3 * 3
(1, 2, 3, 4)
(1, 2)
> V := VectorSpace(B);
> forall{<i,j> : i in [1..2], j in [1..12] |
> V!(G.i^-1*B.j) eq V!(ML.j*G.i)};
true
The last argument K should be a field, G and H should be groups, and m should be a
homomorphism from a subgroup A of G to H.
Let Y be the subgroup
{ (a, m(a)) : a ∈A} of G x H, and let M be the
K(G x H)-permutation module defined by the image of the action
of G x H on the right cosets of Y.
The (KG, KH)-bimodule corresponding to M is returned.
> G := Sym(3);
> H := CyclicGroup(6);
> PG := Sylow(G,3);
> PH := Sylow(H,3);
> m := hom<PG -> PH | [PH.1] >;
> K := GF(3);
> B := PermutationBimodule(G,H,m,K);
> B;
Bimodule B of dimension 12 over GF(3)
> GHom(B,B);
KMatrixSpace of 12 by 12 matrices and dimension 8 over GF(3)
The arguments B1 and B2 are, respectively, (KG, KH)- and (KH, KJ)-bimodules
for the groups G, H, J. The (KG, KJ)-bimodule B1 tensor KH B2 is returned.
Let H be a subgroup of a group G, and M be a right KH-module. Then
M tensor KH KG is (by definition) equal to the induced module M G.
This is not a sensible way to construct induced modules in practice, but
we can use it as an example of the use of the tensor product of bimodules.
We regard M as a (KT, KH)-bimodule, where T is the trivial group,
and KH as a (KH, KG)-bimodule.
> G := Sym(5);
> H := Stabiliser(G,5);
> K := GF(5);
> M := IrreducibleModules(H,K)[4];
> M;
GModule M of dimension 3 over GF(5)
> B1 := RightBimodule(M);
> //make KG as right G-module
> eG := [ g: g in G ];
> mats := [];
> for i in [1..Ngens(G)] do
> perm := Sym(#G)![Position(eG, g*G.i) : g in eG ];
> Append(~mats, PermutationMatrix(K,perm));
> end for;
> RM := GModule(G,mats);
> //and as left H-module
> mats := [];
> for i in [1..Ngens(H)] do
> perm := Sym(#G)![Position(eG, H.i*g) : g in eG ];
> Append(~mats, PermutationMatrix(K,perm)^-1);
> end for;
> LM := GModule(H,mats);
> B2 := Bimodule(LM,RM);
> T := TensorProduct(B1,B2);
> T;
Bimodule T of dimension 15 over GF(5)
> IsIsomorphic(RightModule(T), Induction(M,G));
true
[Next][Prev] [Right] [Left] [Up] [Index] [Root]
|