A triangle-group cells is defined by the quotient group of a triangle group \(\Delta\) by a subgroup of translations \(\Gamma\), i.e., a torsion-free normal subgroup of the proper triangle group \(\Delta^+\). Geometrically, this includes a choice of transversal \(T_{\Delta^+}(\Gamma)\) characterizing the cell and a choice of transversal \(T_{G^+}(G_w^+)\), where \(G^+\cong\Delta^+/\Gamma\) is the (proper) point group of the cell and \(G_w^+\) is the stabilizer of a maximally symmetric Wyckoff position of type \(w\) in the cell.
The cell is implemented as an object of category TGCellObj
with the following components:
GetProperTriangleGroup
(3.2-1): the proper triangle group \(\Delta^+\)
CellRelators
(3.2-2): the relators defining \(\Delta^+/\Gamma\) as elements of \(\Delta^+\)
TGCellTranslationGroup
(3.2-3): the translation group \(\Gamma\)
TGCellPointGroup
(3.2-4): the (proper) point group \(G^+\cong\Delta^+/\Gamma\)
TGCellMSWPs
(3.2-6): the maximally symmetric Wyckoff positions in the cell
and is printed in the form
TGCell( ProperTriangleGroup(r, q, p), rels )
where \((r,q,p)\) is the signature of the underlying triangle group and rels
the relators defining the cell in terms of the generators \(x\), \(y\), \(z\) of the proper triangle group \(\Delta^+\).
‣ TGCell ( tg, quotient[, GAMgens[, TDGAM[, TGGw]]] ) | ( function ) |
Returns: cell as TGCell
object
Construct the cell for the triangle group tg (\(\Delta^+\)), given as ProperTriangleGroup
object (see 2.1), specified by the quotient q given as a TGQuotient
object quotient (see 2.3).
Optionally, generators GAMgens of the translation group \(\Gamma\) can be explicitly given as elements of tg. If not given, they are computed automatically. Similarly, choices for the transversals \(T_{\Delta^+}(\Gamma)\) and \(T_{G^+}(G_w^+)\) can be given as TDGAM and TGGw, respectively. If not given, they are computed automatically. Here, TDGAM is a list of elements of tg and TGGw is a list of three lists, one for \(w=x,y,z\), respectively, of elements of tg.
‣ TGCellSymmetric ( tg, quotient, center ) | ( function ) |
Returns: cell as TGCell
object
Construct the symmetric and at center
centered cell for the triangle group tg (\(\Delta^+\)), given as ProperTriangleGroup
object (see 2.1), specified by the quotient q given as a TGQuotient
object quotient (see 2.3).
‣ GetProperTriangleGroup ( cell ) | ( operation ) |
returns the proper triangle group on which the cell cell is based as a ProperTriangleGroup
object (see 2.1).
‣ CellRelators ( cell ) | ( operation ) |
returns the relators defining the cell as elements of GetProperTriangleGroup(
cell)
‣ TGCellTranslationGroup ( cell ) | ( operation ) |
returns the translations group \(\Gamma\) as a TGCellTranslationGroup
object (see 3.4).
‣ TGCellPointGroup ( cell ) | ( operation ) |
returns the (proper) point group \(G^+\cong\Delta^+/\Gamma\) as a TGCellPointGroup
object (see 3.5).
‣ HasTGCellMSWPs ( cell ) | ( operation ) |
returns true if the the maximally symmetry Wyckoff positions are precomputed, false otherwise.
‣ TGCellMSWPs ( cell ) | ( operation ) |
returns the maximally symmetry Wyckoff positions as a TGCellMSWPs
object (see 3.6) and computes them if necessary.
Call HasTGCellMSWPs
(3.2-5) first to check if they are already precomputed.
‣ TGCellSchwarzTriangleRep ( cell, elem ) | ( operation ) |
returns the index of the Schwarz triangle representative in the cell, i.e., the position in GetRightTransversal(TGCellPointGroup(
cell))
, for a given element elem of the proper triangle group GetProperTriangleGroup(
cell)
.
Cell translation groups are characterized by the translation group \(\Gamma\), a normal subgroup of the proper triangle group \(\Delta^+\), and an explicit choice of generators. This is implemented as an object of category TGCellTranslationGroupObj
with the following components:
AsTGSubgroup
(3.4-1): the translation group \(\Gamma\) as a subgroup of the proper triangle group \(\Delta^+\)
Generators
(3.4-2): the generators of \(\Gamma\) as elements of the proper triangle group \(\Delta^+\)
FpGroup
(3.4-3): the translation group \(\Gamma\) as a finitely presented group
FpIsomorphism
(3.4-4): the group isomorphism from \(\Gamma\) to the finitely presented group
and is printed in the form
TGCellTranslationGroup( < g1, g2, ... > | rel1, rel2, ... > )
where g1
, g2
, ... are the generators of \(\Gamma\) as finitely presented group, FpGroup
(3.4-3), and rel1
, rel2
, ... are the corresponding relators.
‣ AsTGSubgroup ( Gamma ) | ( operation ) |
returns the translation group Gamma as a subgroup of the proper triangle group \(\Delta^+\).
‣ Generators ( Gamma ) | ( operation ) |
returns the generators of the translation group Gamma as elements of the proper triangle group \(\Delta^+\).
‣ FpGroup ( Gamma ) | ( operation ) |
returns the translation group Gamma as a finitely presented group with generators g1
, g2
, ....
‣ FpIsomorphism ( Gamma ) | ( operation ) |
returns the group isomorphism from AsTGSubgroup(
Gamma)
, the translation group as a subgroup of proper triangle group \(\Delta^+\), to the finitely presented group FpGroup(
Gamma)
.
The (proper) point group \(G^+\) of a triangle-group cell is ismomorphic to the quotient group \(\Delta^+/\Gamma\) of the proper triangle group \(\Delta^+\) by the translation group \(\Gamma\). It is implemented as an object of category TGCellPointGroupObj
with the following components:
AsQuotientGroup
(3.5-1): the quotient group \(G^+\cong\Delta^+/\Gamma\) as a quotient group of the proper triangle group \(\Delta^+\) by the translation group \(\Gamma\)
AsQuotient
(3.5-2): the quotient \(G^+\cong\Delta^+/\Gamma\) as a RightTransversal
object
GetRightTransversal
(3.5-3): the right transversal with representatives of point group elements as elements of the proper triangle group \(\Delta^+\)
QuotientHomomorphism
(3.5-4): the group homomorphism from the proper triangle group \(\Delta^+\) to the quotient group \(G^+\cong\Delta^+/\Gamma\)
and is printed in the form
TGCellPointGroup( < x, y, z > | rel1, rel2, ... > )
where x
, y
, z
are the generators of the point group \(G^+\) and rel1
, rel2
, ... are the corresponding relators.
‣ AsQuotientGroup ( G ) | ( operation ) |
returns the (proper) point group \(G^+\) as quotient group \(\Delta^+/\Gamma\).
‣ AsQuotient ( G ) | ( operation ) |
returns the (proper) point group \(G^+\cong\Delta^+/\Gamma\) as a RightTransversal
object.
‣ GetRightTransversal ( G ) | ( operation ) |
returns the right transversal with representatives of point group elements as elements of the proper triangle group \(\Delta^+\).
‣ QuotientHomomorphism ( G ) | ( operation ) |
returns the group homomorphism from the proper triangle group \(\Delta^+\) to the quotient AsQuotientGroup(
G)
corresponding to the point group \(G^+\).
The maximally symmetric Wyckoff positions in a triangle-group cell are given by the orbital stabilizer theorem as the coset representatives of the right cosets of the stabilizer of a maximally symmetric Wyckoff position of type \(w\) in the (proper) point group \(G^+\), i.e., as elements of the right transversal \(T_{G^+}(G_w^+)\). Here the types of maximally symmetric Wyckoff positions, \(w=x,y,z\), are distinguished by the order of their stabilizer group: \(|G_x^+|=r\), \(|G_y^+|=q\), and \(|G_z^+|=p\).
This is implemented as an object of category TGCellMSWPsObj
with the following components:
AsQuotient
(3.6-1): the list of the three quotients \(G^+/G_w^+\), \(w=x,y,z\), as RightTransversal
objects
GetRightTransversal
(3.6-2): the list of the three right transversals \(T_{G^+}(G_w^+)\), \(w=x,y,z\), with representatives as elements of the proper triangle group \(\Delta^+\)
GetKernel
(3.6-3): the list of the three kernels \(G_w^+\), \(w=x,y,z\), as ordered lists of elements of the proper point group \(G^+\)
and is printed in the form
TGCellMSWPs( [ TGGx, TGGy, TGGz ] )
where TGGx
, TGGy
, TGGz
are the right transversals \(T_{G^+}(G_x^+)\), \(T_{G^+}(G_y^+)\), \(T_{G^+}(G_z^+)\), respectively.
‣ AsQuotient ( obj ) | ( operation ) |
returns the list of the three quotients \(G^+/G_w^+\), \(w=x,y,z\), corresponding to the list of maximally symmetric Wyckoff positions in the cell. Each quotient is given as a RightTransversal
object.
‣ GetRightTransversal ( obj ) | ( operation ) |
returns the list of the three right transversals \(T_{G^+}(G_w^+)\), \(w=x,y,z\). Each right transversal is given as a list of elements of the proper triangle group \(\Delta^+\), such that each elements represents a maximally symmetric Wyckoff positions of type \(w\).
‣ GetKernel ( obj ) | ( operation ) |
returns the list of the three kernels, each corresponding to the list of elements of the on-site symmetry group of the maximally symmetric Wyckoff position. The list entries are given as elements of the proper point group \(G^+\).
Given a triangle-group quotient \(G^+\cong\Delta^+/\Gamma\) and a choice of center, the cell graph defines a maximally symmetric triangular tessellation of the corresponding connected and compactified translation unit cell. It is implemented as a TGCellGraph
object with the following components:
CellCenter
(3.7-4): the center of the cell graph
CellVertices
(3.7-5): the vertices of the cell graph
CellEdges
(3.7-7): the edges of the cell graph including potential translations associated with them
CellFaces
(3.7-9): the oriented faces of the cell graph
CellBoundary
(3.7-11): the boundary specifications of the cell graph giving the boundary identifications
and is printed in the form
TGCellGraph( cell, center = w, vertices = [ [ w1, gi1 ], [ w2, gi2 ], ... ], edges = [ [ v1, v2, s, gam ], ... ], faces = [ [ [ e1, o1 ], [ e2, o2 ], ... ], ... ], boundary = [ [ d1, d2, e, b, m, gam ], ... ] )
See the corresponding references above for details.
Cell graphs are constructed using the function TGCellGraph
(3.7-1) by specifying the triangle group, its quotient and the center.
‣ TGCellGraph ( tg, quotient, center[, GAMgens[, TDGAM[, TGGw]]] ) | ( function ) |
Returns: cell graph as TGCellGraph
object (see 3.7).
Construct the cell graph representing a connected and symmetric cell that is specified by
the ProperTriangleGroup
(see 2.1) tg,
the TGQuotient
(see 2.3) quotient
and is centered at center, an integer between \(1\) and \(3\) corresponding to one of the three vertices \(x\), \(y\), \(z\), of the fundamental Schwarz triangle.
Optionally, generators GAMgens of the translation group \(\Gamma\) can be explicitly given as elements of tg. If not given, they are computed automatically. Similarly, choices for the transversals \(T_{\Delta^+}(\Gamma)\) and \(T_{G^+}(G_w^+)\) can be given as TDGAM and TGGw, respectively. If not given, they are computed automatically. Here, TDGAM is a list of elements of tg and TGGw is a list of three lists, one for \(w=x,y,z\), respectively, of elements of tg.
The option simplify
, which takes a non-negative integer as argument, can be used to specify the level of simplification of words in the translation group, both for the translation generators expressed in terms of generators of the proper triangle group and for the translations expressed as elements of the finitely presented group FpGroup(TGCellTranslationGroup(GetTGCell(
cellgraph)))
. The additional option simplifyMethod
, which takes a string, can be used to specify the method of simplification. By default simplifyMethod
is set to "BruteForce"
. If the package kbmag (see kbmag reference manual kbmag Reference Manual) is loaded it is possible to set simplifyMethod
to "KnuthBendix"
, such that the Knuth-Bendix completion algorithm is used in the simplification. This method uses the available space in cache, which can be flushed by calling FlushCaches
(see section Mutability and Copying in the GAP Reference Manual).
‣ GetProperTriangleGroup ( cellgraph ) | ( operation ) |
returns the proper triangle group \(\Delta^+\) on which the cell is based as a ProperTriangleGroup
object (see 2.1).
‣ CellRelators ( cellgraph ) | ( operation ) |
returns the relators in terms of elements of GetProperTriangleGroup(
cellgraph)
defining the cell.
‣ CellCenter ( cellgraph ) | ( operation ) |
returns the an integer between \(1\) and \(3\) indicating the type of vertex of the triangle tessellation at the center of the cell graph with \(1\), \(2\), \(3\) corresponding to the vertices \(x\), \(y\), \(z\), of the fundamental Schwarz triangle.
‣ CellVertices ( cellgraph ) | ( operation ) |
returns the vertices of the cell graph as a list.
Each vertex is of the form [ w, gi ]
with w
an integer between 1 and 3 indicating the vertex of the fundamental Schwarz triangle and gi
the position of the element in the transversal \(T_{G^+}(G_w^+)\) labeling the vertex.
‣ CellVertexPositions ( cellgraph ) | ( operation ) |
returns the positions of the vertices as elements of the proper triangle group \(\Delta^+\).
‣ CellEdges ( cellgraph ) | ( operation ) |
returns the edges of the cell graph as a list.
Each edge is of the form [ v1, v2, s, gam ]
with v1
, v2
the positions of the vertices in CellVertices(
cellgraph)
connected by the edge, s
the position of the element of \(T_{\Delta^+}(\Gamma)\) labeling the Schwarz triangle this edge is a part of, and gam
the translation relating the unit cell containing v1
to the unit cell containing v2
, as element of the finitely presented group FpGroup(TGCellTranslationGroup(GetTGCell(
cellgraph)))
. If v1
corresponds to the vertex \((w, [g_{u_w}]_w)\) and v2
to the vertex \((w', [g_{\tilde{u}_{w'}}]_{w'})\), then gam
corresponds to the translation \(\gamma\) such that
\[g_{\tilde{u}_{w'}} = g_{u_w}\gamma.\]
‣ CellEdgeTranslations ( cellgraph ) | ( operation ) |
returns only the list of translations associated with the edges of the cell graph in the same format as CellEdges
(3.7-7).
‣ CellFaces ( cellgraph ) | ( operation ) |
returns the faces of the cell graph as a list.
Each face is an ordered list of tuples [ edge, orientation ]
, where edges
is a position in CellEdges(
cellgraph)
and orientation
is equal to +1 (-1) if the orientation is the same (opposite) compared to the entry in CellEdges(
cellgraph)
. The edges of the face are ordered such that the orientation of the face is positive.
‣ CellFacesWithCenter ( cellgraph ) | ( operation ) |
returns a list of three lists with faces of the cell graph with the \(x\), \(y\), \(z\) vertex of the fundamental Schwarz triangle as center, respectively. The format of the faces is the same as CellFaces
(3.7-9).
‣ CellBoundary ( cellgraph ) | ( operation ) |
returns a list of boundary specifications of the cell.
Each boundary is described by a list of the form [ d1, d2, e, b, m, gam ]
, where d1
, d2
are elements of \(T_{\Delta^+}(\Gamma)\subset\Delta^+\) labeling the Schwarz triangles this edge is a part of, e
the position in the list of edges CellEdges(
celgraph)
, b
the index of the boundary (identical for identified boundaries), m
either 0 or 1 indicating the orientation of the triangle associated with this instance of the boundary (0 for gray and 1 for white), and gam
the translation relating the given to the identified boundary, as an element of the finitely presented group FpGroup(TGCellTranslationGroup(GetTGCell(
cellgraph)))
.
‣ GetTGCell ( cellgraph ) | ( operation ) |
returns the associated TGCell
object (see 3.1).
‣ Export ( cellgraph, output-stream ) | ( operation ) |
‣ Export ( cellgraph, path ) | ( operation ) |
‣ ExportString ( cellgraph ) | ( operation ) |
Export the cell graph cellgraph to the OutputTextStream
output-stream or to the file at the path given by the string path. Alterantively, the cell graph can be exported to a string with ExportString
, which returns said string.
‣ ImportTGCellGraph ( input-stream[, tg] ) | ( function ) |
‣ ImportTGCellGraphFromFile ( path[, tg] ) | ( function ) |
‣ ImportTGCellGraphFromString ( string[, tg] ) | ( function ) |
Returns: cell graph as TGCellGraph
(see 3.7).
Import a cell graph from the InputTextStream
input-stream or from the file at the path given by the string path. Alterantively, the cell graph can be imported from the string string. Optionally, the triangle group can be given as a ProperTriangleGroup
object tg (see 2.1).
generated by GAPDoc2HTML