Regina Calculation Engine
Classes | Public Member Functions | Friends | List of all members
regina::SigPartialIsomorphism Class Reference

Represents a partial isomorphism between two splitting surface signatures. More...

#include <split/sigisomorphism.h>

Public Member Functions

 SigPartialIsomorphism (int newDir)
 Creates a new partial isomorphism that maps no cycles or symbols. More...
 
 SigPartialIsomorphism (const SigPartialIsomorphism &iso)
 Creates a new partial isomorphism that is a clone of the given partial isomorphism. More...
 
 ~SigPartialIsomorphism ()
 Destroys this partial isomorphism. More...
 
void makeCanonical (const Signature &sig, unsigned fromCycleGroup=0)
 Rearranges the cycle images so that this isomorphism when applied to the given signature produces a new signature that is in canonical form. More...
 
int compareWith (const Signature &sig, const SigPartialIsomorphism *other, unsigned fromCycleGroup=0) const
 Lexicographically compares the results of applying this and the given isomorphism to the given signature. More...
 
SigPartialIsomorphismoperator= (const SigPartialIsomorphism &)=delete
 

Friends

struct SigPartialIsomorphism::ShorterCycle
 
class regina::SigCensus
 

Detailed Description

Represents a partial isomorphism between two splitting surface signatures.

See class Signature for details on splitting surface signatures.

The two signatures related by this partial isomorphism must have the same cycle structure, i.e., the same number of cycle groups and the same cycle length and number of cycles within each cycle group.

The partial isomorphism maps symbols to symbols and cycles to cycles, with the option of rotating some cycles and/or reversing all cycles in the process. Cycles within the kth cycle group of the source signature must map to cycles within the kth cycle group of the destination signature.

A partial isomorphism is only required to map the cycles and symbols found in the first g cycle groups of the source isomorphism (for some g). If only a subset of symbols are mapped, that subset must be symbols 0,1,...,k for some k.

Python:\n Not present.

The documentation for this class was generated from the following file:

Copyright © 1999-2018, The Regina development team
This software is released under the GNU General Public License, with some additional permissions; see the source code for details.
For further information, or to submit a bug or other problem, please contact Ben Burton (bab@maths.uq.edu.au).