RepLAB helps us investigate the properties of groups. Let us see a few of those.
We will work with the symmetric group of degree \(4\), the alternating group of degree \(4\), and the cyclic group of order 4.
S4 = replab.PermutationGroup.symmetric(4)
A4 = replab.PermutationGroup.alternating(4)
C4 = replab.PermutationGroup.cyclic(4)
S4 =
Symmetric group acting on 4 elements
identity: [1, 2, 3, 4]
generator(1 or 'x1'): [2, 3, 4, 1]
generator(2 or 'x2'): [2, 1, 3, 4]
recognize.source: Symmetric group S(4)
A4 =
Permutation group acting on 4 elements of order 12
identity: [1, 2, 3, 4]
generator(1 or 'x1'): [2, 1, 4, 3]
generator(2 or 'x2'): [2, 3, 1, 4]
recognize.source: Alternating group A(4) of degree 4
C4 =
Permutation group acting on 4 elements of order 4
identity: [1, 2, 3, 4]
generator(1 or 'x1'): [2, 3, 4, 1]
recognize.source: Cyclic group C(4) of order 4 < x | x^4 = 1 >
We can readily compute the order of a group.
S4.order
ans =
24
Since RepLAB can compute group orders that do not fit in a standard MATLAB/Octave number,
all orders returned are of type vpi
.
S100 = replab.S(100);
S100_order = S100.order
S100_order_class = class(S100.order)
S100_order =
93326215443944152681699238856266700490715968264381621468592963895217
599993229915608941463976156518286253697920827223758251185210916864000000
000000000000000000
S100_order_class = vpi
Of course, when working only with smaller groups, the order can always be converted back into a standard number type.
double(S4.order)
ans = 24
But do not do that if the order is bigger than \(2^{53}\)! Otherwise the result cannot be stored exactly
in a double
anymore
double(S100.order) % beware
ans = 9.3326e+157
The center of a group is the set \(Z(G)\) of all elements of the group that commute with every element of \(G\).
A4.center
ans =
Permutation group acting on 4 elements of order 1
identity: [1, 2, 3, 4]
recognize.source: Trivial group < | >
An abelian or commutative group has all its elements commute, and is equal to its center.
C4_commutative = C4.isCommutative
C4 == C4.center
A4_commutative = A4.isCommutative
A4 == A4.center
C4_commutative = 1
ans = 1
A4_commutative = 0
ans = 0
If a group can be generated by a single element, it is cyclic.
C4_cyclic = C4.isCyclic
A4_cyclic = A4.isCyclic
C4_cyclic = 1
A4_cyclic = 0
A simple group is a group that does not have a normal subgroup:
S4_simple = S4.isSimple
A4_simple = A4.isSimple
C4_simple = C4.isSimple
S4_simple = 0
A4_simple = 0
C4_simple = 0
The group exponent is the smallest positive integer \(e\) such that \(g^e = g \cdot g \cdots g = \operatorname{id}\) for all group element \(g\).
S4_exponent = S4.exponent
A4_exponent = A4.exponent
C4_exponent = C4.exponent
S4_exponent = 12
A4_exponent = 6
C4_exponent = 4