Suppose that the finitely generated group \(G\) is given by a nilpotent sequence \((g_1,\dots,g_n)\). For \(g \in G \) and \(U \leq G\), we denote the conjugacy class of \(g\) under \(U\) by \(g^U = {g^h | h \in U}\) and the centralizer of \(g\) in \(U\) by \(C_U (g) = \{h \in U | g^h = g\}\).
Let \(\ll\) be the well-order \(0 \ll 1 \ll 2 \ll \dots \ll −1 \ll −2 \dots \) of \(\mathbb{Z}\). We order the exponent vectors extending the well-order lexicographically; that is, \((e_1,\dots, e_n) \ll (f_1, \dots, f_n)\) if \( e_1 = f_1, \dots , e_{i−1} = f_{i−1}\) and \(e_i \ll f_i\) for some \(i \in {1,\dots,n} \). We order the elements of G via their exponent vectors; that is, \(g \ll h\) if \(e(g) \leq e(h)\). One of the main program of this package is to compute the minimum element in \( g^U \) with respect to \(\ll\) this element is known as the canonical conjugacy representative of \( g\), this element is denoted as \(Cano_U(g)\). This program also computes the centralizer \( C_U(g)\). This package is supplementary to the article of Eick and Fernández Ayala [EFA25].
‣ CentralizerNilGroup ( G, elms ) | ( function ) |
Computes the centralizer of a given set of elements \(elms\) in \(G\).
‣ IsConjugateNilGroup ( G, g, h ) | ( function ) |
Checks if two given elements \(g\) and \(h\) in \(G\) are conjugate. If so it returns the conjugating element.
‣ CanonicalConjugateElements ( G, elms ) | ( function ) |
Computes the canonical conjugate representative of a given elements \(elms\) in \(G\). Returns a record containing the canonical conjugates, the conjugating elements to obtain the canonical conjugate and the centralizers of the given elements.
‣ IsCanonicalConjugateElements ( G, elms ) | ( function ) |
Checks if a set of elements \(elms\) in \(G\) are conjugate using the canonical representative aproach. If so it returns a record containing the canonical conjugate representative, the conjugating elements and the centralizer.
‣ InfoConjugacyElements | ( info class ) |
Info class for the functions of canonical conjugates for elements.
Suppose that the finitely generated group \(G\) is given by a nilpotent sequence \((g_1,\dots,g_n)\). Given \(U, V \leq G\) we write \(U^V = \{U^g | g ∈ V \}\) for the conjugacy class of \(U\) under \(V\) and \(N_V(U) = \{g \in V | U^g = U\}\) for the corresponding normalizer. Let \(U \leq G\) be given by its basis \((u_1,\dots, u_n)\). Let \(N \leq N_G(U)\) and \(g \in N\). We define \(Cano_N^U(g)\) as the unique reduced preimage of \(Cano_{N/U}(gU)\) under the natural homomorphism \(N \rightarrow N/U\). Now we consider two subgroups \(W\) and \(V\) of \(G\), and write \(W_i = W \cap G_i \) for \(1 \leq i \leq n\). We define \(Cano_V (W )\) inductively: suppose that \(U_{i+1} = Cano_V (W_i+1)\) is given by a basis \(u_{i+1},\dots, u_n\) together with a conjugating element \(U_i+1 = W^v_{i+1}\) and its normalizer \(N = N_V (U_{i+1})\). Suppose that \(W_i \neq W_{i+1}\) and \(W_i = ⟨w_i, W_{i+1}⟩ \). Let \(w_i^\prime\) be the normalized power of the conjugate \(w^v_i\). Set \(u_i = Cano^{U_{i+1}}_N(w^\prime_i)\), then \((u_i,\dots, u_n)\) is a basis for a subgroup \(U_i\) of \(G_i\). We write \(Cano_V (W )\) for the subgroup \(U_1\) eventually determined by an iterated process. One of the main program of this package is to compute \(Cano_V (W )\). This program also computes the normalizer of \( N_V(W) \).
‣ NormalizerNilGroup ( G, U ) | ( function ) |
Computes the normalizer of a given subgroup \(U\) of \(G\).
‣ IsConjugateSubgroups ( G, U, V ) | ( function ) |
Checks if two given subgroups \(U\) and \(V\) of \(G\) are conjugate. If so it returns the conjugating element.
‣ CanonicalConjugateSubgroup ( G, U ) | ( function ) |
Computes the canonical conjugate representative of a given subgroup \(U\) of \(G\). Returns a record containing the canonical conjugate subgroup, the conjugating element and the normalizer of the given subgroup.
‣ IsCanonicalConjugateSubgroups ( G, U, V ) | ( function ) |
Checks if two subgroup \(U,V\) of \(G\) are conjugate using the canonical representative aproach. If so it returns a record containing the canonical conjugate subgroup, the conjugating elements and the normalizer of the given subgroups.
‣ InfoConjugacySubgroups | ( info class ) |
Info class for the functions of canonical conjugates for subgroups.
‣ CanonicalConjugateList ( G, list ) | ( function ) |
Given a list of elements of a nilpotent group \(G\) returns a list of canonical representative conjugates of the list and the position of the elements that belong to the given canonical conjugacy class.
‣ IsConjugateList ( G, list ) | ( function ) |
Given a list of elements of a nilpotent group \(G\) returns a list of representative conjugates of the list and the position of the elements that belong to the given conjugacy class.
This algorithms are based on Eddie's work [Lo98].
‣ IntersectionSubgroupsNilGroups ( G, U, V ) | ( function ) |
Given two subgroups \(U,V\) of a nilpotent group \(G\) computes the intersection of both subgroups.
‣ ProductDecomposition ( G, U, V, g ) | ( function ) |
Given two subgroups \(U,V\) of a nilpotent group \(G\) computes the subgroup product pair of both subgroups. Given two subgroups \(U,V\) of a nilpotent group \(G\) and an element \(g\) in \(G\) computes the decompostion of \(g\) under the product pair of both subgroups.
generated by GAPDoc2HTML