Let \(G\) and \(H\) be groups and let \(\varphi\) and \(\psi\) be group homomorphisms from \(H\) to \(G\). The pair \((\varphi,\psi)\) induces a (right) group action of \(H\) on \(G\) given by the map
\[G \times H \to G \colon (g,h) \mapsto \varphi(h)^{-1} g\,\psi(h).\]
This group action is called \((\varphi,\psi)\)-twisted conjugation.
If \(G = H\), \(\varphi\) is an endomorphism of \(G\) and \(\psi = \operatorname{id}_G\), then the action is usually called \(\varphi\)-twisted conjugation.
In general, for the TwistedConjugacyClone package, many functions will take two homomorphisms hom1 and hom2 as arguments. However, if hom1 is an endomorphism, hom2 can be omitted, in which case it is automatically taken to be the identity map.
Similarly, some functions will take two elements g1 and g2 as arguments. If g2 is omitted, it is automatically taken to be the identity element.
‣ TwistedConjugation ( hom1[, hom2] ) | ( function ) |
Returns: a function that maps the pair (g,h)
to hom1(h)⁻¹
g
hom2(h)
.
Given groups \(G\) and \(H\), group homomorphisms \(\varphi\) and \(\psi\) from \(H\) to \(G\) and elements \(g_1, g_2 \in G\), the twisted conjugacy problem is the decision problem that asks whether \(g_1\) and \(g_2\) are \((\varphi,\psi)\)-twisted conjugate. The twisted conjugacy search problem is the problem of determining an explicit \(h\) such that \(\varphi(h)^{-1}g_1\psi(h) = g_2\) (under the assumption that such \(h\) exists).
‣ IsTwistedConjugate ( hom1[, hom2], g1[, g2] ) | ( function ) |
Returns: true
if g1 and g2 are (hom1,hom2)
-twisted conjugate, otherwise false
.
‣ RepresentativeTwistedConjugation ( hom1[, hom2], g1[, g2] ) | ( function ) |
Returns: an element that maps g1 to g2 under the (hom1,hom2)
-twisted conjugacy action, or fail
if no such element exists.
If the source group is finite, this function relies on orbit-stabiliser algorithms provided by GAP. Otherwise, it relies on a mixture of the algorithms described in [Rom16, Thm. 3], [BKL+20, Sec. 5.4], [Rom21, Sec. 7] and [DT21].
gap> G := AlternatingGroup( 6 );; gap> H := SymmetricGroup( 5 );; gap> phi := GroupHomomorphismByImages( H, G, [ (1,2)(3,5,4), (2,3)(4,5) ], > [ (1,4)(3,6), () ] );; gap> psi := GroupHomomorphismByImages( H, G, [ (1,2)(3,5,4), (2,3)(4,5) ], > [ (1,2)(3,4), () ] );; gap> tc := TwistedConjugation( phi, psi );; gap> g1 := (4,6,5);; gap> g2 := (1,6,4,2)(3,5);; gap> IsTwistedConjugate( psi, phi, g1, g2 ); false gap> h := RepresentativeTwistedConjugation( phi, psi, g1, g2 ); (1,2) gap> tc( g1, h ) = g2; true
Let \(H\) and \(G_1, \ldots, G_n\) be groups. For each \(i \in \{1,\ldots,n\}\), let \(g_i,g_i' \in G_i\) and let \(\varphi_i,\psi_i\colon H \to G_i\) be group homomorphisms. The multiple twisted conjugacy problem is the decision problem that asks whether there exists some \(h \in H\) such that \(\varphi_i(h)^{-1}g_i\psi_i(h) = g_i'\) for all \(i \in \{1,\ldots,n\}\). The multiple twisted conjugacy search problem is the problem of determining an explicit \(h\) such that \(\varphi_i(h)^{-1}g_i\psi_i(h) = g_i'\) for all \(i \in \{1,\ldots,n\}\) (under the assumption that such \(h\) exists).
IsTwistedConjugate
(3.2-1) and RepresentativeTwistedConjugation
(3.2-2) can take lists instead of their usual arguments to solve these problems.
gap> H := SymmetricGroup( 5 );; gap> G := AlternatingGroup( 6 );; gap> phi := GroupHomomorphismByImages( H, G, [ (1,2)(3,5,4), (2,3)(4,5) ], > [ (1,4)(3,6), () ] );; gap> psi := GroupHomomorphismByImages( H, G, [ (1,2)(3,5,4), (2,3)(4,5) ], > [ (1,2)(3,4), () ] );; gap> tau := GroupHomomorphismByImages( H, G, [ (1,2)(3,5,4), (2,3)(4,5) ], > [ (1,2)(3,6), () ] );; gap> khi := GroupHomomorphismByImages( H, G, [ (1,2)(3,5,4), (2,3)(4,5) ], > [ (1,3)(4,6), () ] );; gap> IsTwistedConjugate( [ phi, psi ], [ khi, tau ], > [ (1,5)(4,6), (1,4)(3,5) ], [ (1,4,5,3,6), (2,4,5,6,3) ] ); true gap> RepresentativeTwistedConjugation( [ phi, psi ], [ khi, tau ], > [ (1,5)(4,6), (1,4)(3,5) ], [ (1,4,5,3,6), (2,4,5,6,3) ] ); (1,2)
generated by GAPDoc2HTML