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