Represents a homomorphism between groups which are described via finite presentations.
More...
#include <algebra/nhomgrouppresentation.h>
Represents a homomorphism between groups which are described via finite presentations.
- Test:
- Included in the test suite.
- Todo:
- add routine to attempt to verify validity of homomorphism.
Creates a new homomorphism from the given data.
- Parameters
-
domain | the domain of the homomorphism. |
range | the range of the homomorphism. |
map | a vector of length g, where g is the number of generators of the domain, and where this homomorphism sends the ith generator of the domain to the element map[i] of the range. |
- Python:
- Not present.
regina::NHomGroupPresentation::NHomGroupPresentation |
( |
const NGroupPresentation & |
groupForIdentity) | |
|
Creates a new identity homomorphism for the given group.
- Parameters
-
groupForIdentity | both the range and domain of the new identity homomorphism. |
Creates a clone of the given group presentation.
- Parameters
-
cloneMe | the presentation to clone. |
regina::NHomGroupPresentation::~NHomGroupPresentation |
( |
) | |
|
|
inline |
Destroys the group homomorphism.
Evaluate the homomorphism at an element.
- Parameters
-
arg | an element of the domain. |
- Returns
- the image of this element in the range.
NGroupExpression regina::NHomGroupPresentation::evaluate |
( |
unsigned long |
i) | |
const |
|
inline |
Evaluate the homomorphism at a generator of the domain.
- Parameters
-
i | the index of a generator in the domain. |
- Returns
- the image of the ith generator in the range.
The domain of the map.
- Returns
- a reference to the domain.
The range of the map.
- Returns
- a reference to the range.
bool regina::NHomGroupPresentation::intelligentSimplify |
( |
) | |
|
Simultaneously simplifies:
- the presentation of the domain;
- the presentation of the range;
- the description of the map.
Uses Dehn's algorithm / "small cancellation theory".
- Returns
- true if the presentations or map have changed.
void regina::NHomGroupPresentation::writeTextLong |
( |
std::ostream & |
out) | |
const |
|
virtual |
Writes this object in long text format to the given output stream.
The output should provide the user with all the information they could want. The output should be human-readable, should not contain extremely long lines (so users can read the output in a terminal), and should end with a final newline.
The default implementation of this routine merely calls writeTextShort() and adds a newline.
- Python:
- The parameter out does not exist; standard output will be used.
- Parameters
-
out | the output stream to which to write. |
Reimplemented from regina::ShareableObject.
void regina::NHomGroupPresentation::writeTextShort |
( |
std::ostream & |
out) | |
const |
|
virtual |
Writes this object in short text format to the given output stream.
The output should be human-readable, should fit on a single line, and should not end with a newline.
- Python:
- The parameter out does not exist; standard output will be used.
- Parameters
-
out | the output stream to which to write. |
Implements regina::ShareableObject.
The documentation for this class was generated from the following file: