[Next] [Prev] [Right] [Left] [Up] [Index] [Root]
Images and Preimages

Images and Preimages

The standard mathematical notation is used to denote the calculation of a map image. Certain mappings defined by standard functions permit the taking of preimages. However, preimages are not available for any mapping defined by means of the mapping constructor.

a @ f : Elt, Map -> Elt
f(a) : Map, Elt -> Elt
Given a mapping f with domain A and codomain B, and an element a belonging to A, return the image of a under f as an element of B.
S @ f : SetEnum, Map -> SetEnum
S @ f : SetIndx, Map -> SetIndx
S @ f : Seq, Map -> Seq
f(S) : SetEnum, Map -> SetEnum
f(S) : SetIndx, Map -> SetIndx
f(S) : Seq, Map -> Seq
Given a mapping f with domain A and codomain B, and a finite enumerated set, indexed set, or sequence S of elements belonging to A, return the image of S under f as an enumerated set, indexed set, or sequence of elements of B.
C @ f : Map, Struct -> Struct
f(C) : Map, Struct -> Struct
Given a homomorphism f with domain A and codomain B, and a substructure C of A, return the image of C under f as a substructure of B.
y @@ f : Elt, Map -> Elt
Given a mapping f with domain A and codomain B, where f supports preimages, and an element y belonging to B, return the preimage of y under f as an element of A.

If the mapping f is a homomorphism, then a single element is returned as the preimage of y. In order to obtain the full preimage of y, it is necessary to form the coset K * y@@f, where K is the kernel of f.

R @@ f : SetEnum, Map -> SetEnum
R @@ f : SetIndx, Map -> SetIndx
R @@ f : Seq, Map -> Seq
Given a mapping f with domain A and codomain B, where f supports preimages, and a finite enumerated set, indexed set, or sequence of elements R belonging to B, return the preimage of R under f as an enumerated set, indexed set, or sequence of elements of A.
D @@ f : Struct, Map -> Struct
Given a mapping f with domain A and codomain B, where f supports preimages, and a substructure D of B, return the preimage of D under f as a substructure of A. If the mapping f is a homomorphism, then D@@f returns the full preimage of D.

Example Map_Images (H8E5)

The homomorphism from GL(3, 4) onto PGL(3, 4) is constructed and used to calculate various images.

> F<w> := FiniteField(4);
> V := VectorSpace(F, 3);
> GL34 := GeneralLinearGroup(V);
> // Find the action of GL34 on the orbit containing the line < (1,0,0) >
> f, PGL34 := OrbitAction(GL34, sub<V | [1,0,0] >);
> // Print the image of an element of GL34
> print (GL34 ! [1, w, 0, 0, 1, 0, 0, 0, 1]) @ f;
(1, 13)(2, 16)(3, 14)(5, 10)(8, 15)(9, 19)(11, 12)(17, 18)
A homomorphism of an imprimitive permutation group of degree 21 onto PSL(2, 7) is defined, and various preimages are calculated:

> P := sub< Sym(21) | (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16),
>  (1,17,18)(2,3,5)(4,7,9)(6,11,8)(10,19,13)(12,20,15)(14,21,16) >;
> B := MaximalPartition(P);
> f, Im, Ker := BlocksAction(P, B);
> x := (Im.1*Im.2)@@f;
> h1 := (sub< Im | Im.1, Im.1^Im.2>)@@f;
This example presents a procedure for constructing the upper central series for a finite group G using a construction that is directly based on the standard definition of the upper central series. The series is returned as a sequence of subgroups UCS of G. While this procedure is quite efficient for soluble groups defined in terms of a power-commutator presentation, it is very inefficient for other types of groups. The user requiring upper central series should use the built-in function UpperCentralSeries.

> G := DihedralGroup(12);
> Z := sub<G | 1 >;
> UCS := [ Z ];
> while Order(Z) ne Order(G) do
>    G1, f := quo< G | Z >;
>    Z1 := Centre(G1);
>    if Z1 eq sub< G1 | 1 > then break; end if;
>    Z := Z1@@f;
>    Append( UCS, Z);
> end while;
> print UCS;
[
    Permutation group acting on a set of cardinality 12
    Order = 1
        Id($),
    Permutation group acting on a set of cardinality 12
    Order = 2
        (1, 7)(2, 8)(3, 9)(4, 10)(5, 11)(6, 12),
    Permutation group Z acting on a set of cardinality 12
    Order = 4 = 2^2
        (1, 4, 7, 10)(2, 5, 8, 11)(3, 6, 9, 12)
        (1, 7)(2, 8)(3, 9)(4, 10)(5, 11)(6, 12)
]

[Next] [Prev] [Right] [Left] [Up] [Index] [Root]