Goto Chapter: Top 1 2 3 4 Bib Ind
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 

2 Twisted Conjugacy
 2.1 Twisted Conjugation Action
 2.2 Reidemeister Classes
 2.3 Reidemeister Spectra
 2.4 Reidemeister Zeta Functions

2 Twisted Conjugacy

2.1 Twisted Conjugation Action

Let G, H be groups and \varphi,\psi\colon H \to G group homomorphisms. Then the pair (\varphi,\psi) induces a (right) group action on G given by

G \times H \to G\colon (g,h) \mapsto g \cdot h := \psi(h)^{-1} g\varphi(h).

This group action is called (\varphi,\psi)-twisted conjugation, and induces an equivalence relation on the group G. We say that g_1, g_2 \in G are (\varphi,\psi)-twisted conjugate, denoted by g_1 \sim_{\varphi,\psi} g_2, if and only if there exists some element h \in H such that g_1 \cdot h = g_2, or equivalently g_1 = \psi(h) g_2 \varphi(h)^{-1}.

If \varphi\colon G \to G is an endomorphism of a group G, then by \varphi-twisted conjugacy we mean (\varphi,\mathrm{id}_G)-twisted conjugacy. Most functions in this package will allow you to input a single endomorphism instead of a pair of homomorphisms. The "missing" endomorphism will automatically be assumed to be the identity mapping. Similarly, if a single group element is given instead of two, the second will be assumed to be the identity.

2.1-1 TwistedConjugation
‣ TwistedConjugation( hom1[, hom2] )( function )

Implements the twisted conjugation (right) group action induced by the pair of homomorphisms ( hom1, hom2 ) as a function.

2.1-2 IsTwistedConjugate
‣ IsTwistedConjugate( hom1[, hom2], g1[, g2] )( function )

Tests whether the elements g1 and g2 are twisted conjugate under the twisted conjugacy action of the pair of homomorphisms ( hom1, hom2 ).

This function relies on the output of RepresentativeTwistedConjugation.

2.1-3 RepresentativeTwistedConjugation
‣ RepresentativeTwistedConjugation( hom1[, hom2], g1[, g2] )( function )

Computes an element that maps g1 to g2 under the twisted conjugacy action of the pair of homomorphisms ( hom1, hom2 ) or returns fail if no such element exists.

If G is abelian, this function relies on (a generalisation of) [DT21, Algorithm 4]. If H is finite, it relies on a stabiliser-orbit algorithm. Otherwise, it relies on a mixture of the algorithms described in [Rom16, Theorem 3], [BKL+20, Section 5.4], [Rom21, Section 7] and [DT21, Algorithm 6].

gap> G := AlternatingGroup( 6 );;
gap> H := SymmetricGroup( 5 );;
gap> phi := GroupHomomorphismByImages( H, G, [ (1,2)(3,5,4), (2,3)(4,5) ],
>  [ (1,2)(3,4), () ] );;
gap> psi := GroupHomomorphismByImages( H, G, [ (1,2)(3,5,4), (2,3)(4,5) ],
>  [ (1,4)(3,6), () ] );;
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

2.2 Reidemeister Classes

The equivalence classes of the equivalence relation \sim_{\varphi,\psi} are called the Reidemeister classes of (\varphi,\psi) or the (\varphi,\psi)-twisted conjugacy classes. We denote the Reidemeister class of g \in G by [g]_{\varphi,\psi}. The number of Reidemeister classes is called the Reidemeisternumber R(\varphi,\psi) and is always a positive integer or infinity.

2.2-1 ReidemeisterClass
‣ ReidemeisterClass( hom1[, hom2], g )( function )
‣ TwistedConjugacyClass( hom1[, hom2], g )( function )

If hom1 and hom2 are group homomorphisms from a group H to a group G, this method creates the Reidemeister class of the pair (hom1, hom2) with representative g. The following attributes and operations are available:

2.2-2 ReidemeisterClasses
‣ ReidemeisterClasses( hom1[, hom2] )( function )
‣ TwistedConjugacyClasses( hom1[, hom2] )( function )

Returns a list containing the Reidemeister classes of ( hom1, hom2 ) if the Reidemeister number R( hom1, hom2 ) is finite, or returns fail otherwise. It is guaranteed that the Reidemeister class of the identity is in the first position.

If G is abelian, this function relies on (a generalisation of) [DT21, Algorithm 5]. If G and H are finite and G is not abelian, it relies on an orbit-stabiliser algorithm. Otherwise, it relies on (variants of) [DT21, Algorithm 7].

This function is only guaranteed to produce a result if either G = H or G is nilpotent-by-finite.

2.2-3 ReidemeisterNumber
‣ ReidemeisterNumber( hom1[, hom2] )( function )
‣ NrTwistedConjugacyClasses( hom1[, hom2] )( function )

Returns the Reidemeister number of ( hom1, hom2 ), i.e. the number of Reidemeister classes.

If G is abelian, this function relies on (a generalisation of) [Jia83, Theorem 2.5]. If G = H, G is finite non-abelian and \psi = \mathrm{id}_G, it relies on [FH94, Theorem 5]. Otherwise, it uses the output of ReidemeisterClasses.

This function is only guaranteed to produce a result if either G = H or G is nilpotent-by-finite.

gap> tcc := ReidemeisterClass( phi, psi, g1 );
(4,6,5)^G
gap> Representative( tcc );
(4,6,5)
gap> GroupHomomorphismsOfReidemeisterClass( tcc );
[ [ (1,2)(3,5,4), (2,3)(4,5) ] -> [ (1,2)(3,4), () ],
[ (1,2)(3,5,4), (2,3)(4,5) ] -> [ (1,4)(3,6), () ] ]
gap> ActingDomain( tcc ) = H;
true
gap> FunctionAction( tcc )( g1, h );
(1,6,4,2)(3,5)
gap> Random( tcc ) in tcc;
true
gap> List( tcc );
[ (4,6,5), (1,6,4,2)(3,5) ]
gap> Size( tcc );
2
gap> StabiliserOfExternalSet( tcc );
Group([ (1,2,3,4,5), (1,3,4,5,2) ])
gap> ReidemeisterClasses( phi, psi ){[1..3]};
[ ()^G, (4,5,6)^G, (4,6,5)^G ]
gap> NrTwistedConjugacyClasses( phi, psi );
184

2.3 Reidemeister Spectra

The set of all Reidemeister numbers of automorphisms is called the Reidemeister spectrum and is denoted by \mathrm{Spec}_R(G), i.e.

\mathrm{Spec}_R(G) := \{ R(\varphi) \mid \varphi \in \mathrm{Aut}(G)\}.

The set of all Reidemeister numbers of endomorphisms is called the extended Reidemeister spectrum and is denoted by \mathrm{ESpec}_R(G), i.e.

\mathrm{ESpec}_R(G) := \{ R(\varphi) \mid \varphi \in \mathrm{End}(G)\}.

The set of all Reidemeister numbers of pairs of homomorphisms from a group H to a group G is called the coincidence Reidemeister spectrum of H and G and is denoted by \mathrm{CSpec}_R(H,G), i.e.

\mathrm{CSpec}_R(H,G) := \{ R(\varphi, \psi) \mid \varphi,\psi \in \mathrm{Hom}(H,G)\}.

If H = G this is also denoted by \mathrm{CSpec}_R(G).

Please note that the functions below are only implemented for finite groups.

2.3-1 ReidemeisterSpectrum
‣ ReidemeisterSpectrum( G )( function )

Returns the Reidemeister spectrum of G.

If G is abelian, this function relies on the results from [Sen23].

2.3-2 ExtendedReidemeisterSpectrum
‣ ExtendedReidemeisterSpectrum( G )( function )

Returns the extended Reidemeister spectrum of G.

2.3-3 CoincidenceReidemeisterSpectrum
‣ CoincidenceReidemeisterSpectrum( [H, ]G )( function )

Returns the coincidence Reidemeister spectrum of H and G.

gap> ReidemeisterSpectrum( G );
[ 3, 5, 7 ]
gap> ExtendedReidemeisterSpectrum( G );
[ 1, 3, 5, 7 ]
gap> CoincidenceReidemeisterSpectrum( G );
[ 1, 3, 5, 7, 360 ]
gap> CoincidenceReidemeisterSpectrum( H );
[ 1, 2, 7, 60, 64, 66, 120 ]
gap> CoincidenceReidemeisterSpectrum( H, G );
[ 180, 184, 360 ]
gap> CoincidenceReidemeisterSpectrum( G, H );
[ 120 ]

2.4 Reidemeister Zeta Functions

Let \varphi,\psi\colon G \to G be endomorphisms such that R(\varphi^n,\psi^n) < \infty for all n \in \mathbb{N}. Then the Reidemeister zeta function Z_{\varphi,\psi}(s) of the pair (\varphi,\psi) is defined as

Z_{\varphi,\psi}(s) := \exp \sum_{n=1}^\infty \frac{R(\varphi^n,\psi^n)}{n} s^n.

Please note that the functions below are only implemented for endomorphisms of finite groups.

2.4-1 ReidemeisterZetaCoefficients
‣ ReidemeisterZetaCoefficients( endo1[, endo2] )( function )

For a finite group, the sequence of Reidemeister numbers of the iterates of endo1 and endo2, i.e. the sequence R(endo1,endo2), R(endo1^2,endo2^2), ..., is eventually periodic, i.e. there exist a periodic sequence (P_n)_{n \in \mathbb{N}} and an eventually zero sequence (Q_n)_{n \in \mathbb{N}} such that

\forall n \in \mathbb{N}: R(\varphi^n,\psi^n) = P_n + Q_n.

This function returns a list containing two sublists: the first sublist contains one period of the sequence (P_n)_{n \in \mathbb{N}}, the second sublist contains (Q_n)_{n \in \mathbb{N}} up to the part where it becomes the constant zero sequence.

2.4-2 IsRationalReidemeisterZeta
‣ IsRationalReidemeisterZeta( endo1[, endo2] )( function )

Returns true if the Reidemeister zeta function of endo1 and endo2 is rational, and false otherwise.

2.4-3 ReidemeisterZeta
‣ ReidemeisterZeta( endo1[, endo2] )( function )

Returns the Reidemeister zeta function of endo1 and endo2 if it is rational, and fail otherwise.

2.4-4 PrintReidemeisterZeta
‣ PrintReidemeisterZeta( endo1[, endo2] )( function )

Returns a string describing the Reidemeister zeta function of endo1 and endo2. This is often more readable than evaluating ReidemeisterZeta in an indeterminate, and does not require rationality.

gap> khi := GroupHomomorphismByImages( G, G, [ (1,2,3,4,5), (4,5,6) ],
>  [ (1,2,6,3,5), (1,4,5) ] );;
gap> ReidemeisterZetaCoefficients( khi );
[ [ 7 ], [  ] ]
gap> IsRationalReidemeisterZeta( khi );
true
gap> ReidemeisterZeta( khi );
function( s ) ... end
gap> s := Indeterminate( Rationals, "s" );;
gap> ReidemeisterZeta( khi )(s);
(1)/(-s^7+7*s^6-21*s^5+35*s^4-35*s^3+21*s^2-7*s+1)
gap> PrintReidemeisterZeta( khi );
"(1-s)^(-7)"
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 
Goto Chapter: Top 1 2 3 4 Bib Ind

generated by GAPDoc2HTML