The operations in this section apply to both, free abelian groups and arbitrary abelian groups.
In the case of subgroups of generic groups, a number of parameters are provided.
Construct the subgroup B of the abelian group A generated by the elements specified by the terms of the generator list L. A term L[i] of the generator list may consist of any of the following objects:The collection of words and groups specified by the list must all belong to the group A and the group B will be constructed as a subgroup of A.
- (a)
- An element liftable to A;
- (b)
- A sequence of integers representing an element of A;
- (c)
- A subgroup of A;
- (d)
- A set or sequence of type (a), (b), or (c).
> A<[x]> := AbelianGroup([2,3,4,5,6,0,0]); > A; Abelian Group isomorphic to Z/2 + Z/6 + Z/60 + Z + Z Defined on 7 generators Relations: 2*x[1] = 0 3*x[2] = 0 4*x[3] = 0 5*x[4] = 0 6*x[5] = 0 > B<[y]> := sub< A | x[1], x[3], x[5], x[7] >; > B; Abelian Group isomorphic to Z/2 + Z/2 + Z/12 + Z Defined on 4 generators in supergroup A: y[1] = 2*x[3] + 3*x[5] y[2] = x[1] y[3] = 3*x[3] + x[5] y[4] = x[7] Relations: 2*y[1] = 0 2*y[2] = 0 12*y[3] = 0
Construct the subgroup of the generic abelian group A generated by the elements specified by the terms of the generator list L. A term L[i] of the generator list may consist of any of the following objects:An element liftable into A may be an element of A itself, or it may be an element of U (Universe(U)), U being as usual the domain over which A is defined. For consistency with the construction, the values of the following parameters may also be passed to the subgroup constructor:
- (a)
- An element liftable into A;
- (b)
- A sequence of integers representing an element of A;
- (c)
- A set or sequence whose elements may be of either of the above types.
Order: RngInt Default:RandomIntrinsic: MonStg Default:ComputeStructure: Bool Default: falseUseUserGenerators: Bool Default: falsePollardRhoRParam: RngInt Default: 20PollardRhoTParam: RngInt Default: 8PollardRhoVParam: RngInt Default: 3In particular, it is possible to construct a subgroup by giving its order and a random function generating elements of the subgroup. In this case, the list L would be empty since calculation of the subgroup structure would result in the construction of the p-Sylow subgroups from random elements of the subgroup. Further, when the structure of A is already known and if the subgroup is defined in terms of a set of generators in L then the subgroup structure is computed at the time of creation.
> S := []; > for j in [1..2] do > P := Random(QF); > Include(~S, P); > end for; > S; [ <45,26,22226>, <937,-930,1298> ] > QF1 := sub< QF | S>; > QF1; Generic Abelian Group over Binary quadratic forms of discriminant -4000004 Abelian Group isomorphic to Z/2 + Z/258 Defined on 2 generators in supergroup A: QF1.1 = QF.1 QF1.2 = 2*QF.2 Relations: 2*QF1.1 = 0 258*QF1.2 = 0 >
Given an abelian group F, and a set of relations R in the generators of F, construct (a) an abelian group A isomorphic to the quotient of F by the subgroup of F defined by R, and (b) the natural homomorphism φ : F -> A.The expression defining F may be either simply the name of a previously constructed group, or an expression defining an abelian group. The possibilities for the relation list R are the same as for the AbelianGroup construction.
The function returns:
- (a)
- The quotient group A;
- (b)
- The natural homomorphism φ : F -> A.
Given a subgroup B of the abelian group A, construct the quotient of A by B.