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

6 Sequences of Triangle-Group Quotients
 6.1 Check Sequence of Triangle-Group Quotients
 6.2 Constructing Sequences of Triangle-Group Quotients
 6.3 Extending Quotient Sequences
 6.4 Export and Import

6 Sequences of Triangle-Group Quotients

Sequences of triangle-group quotients G^{(n)} are used to approximate the thermodynamic limit, either in real space [LP23], or in reciprocal space [LMB23]. They are constructed as quotients of the (proper) triangle group \Delta^+ by translation groups \Gamma^{(n)}\triangleleft\Delta^+ such that

\Delta^+ = \Gamma^{(0)} \triangleright \Gamma^{(1)} \triangleright \Gamma^{(2)} \triangleright \cdots

and \bigcap_{n\geq 0} \Gamma^{(n)} = {1}.

6.1 Check Sequence of Triangle-Group Quotients

To check whether a given sequence of triangle-group quotients is valid, i.e., whether the corresponding translation groups form a normal sequence as described above, the following function can be used:

6.1-1 IsTGQuotientSequence
‣ IsTGQuotientSequence( sequence )( function )

returns true if the given list of TGQuotient objects (see 2.3) is a valid sequence of quotient groups of the same triangle group, i.e., if the corresponding translation groups form a normal sequence as described above.

6.2 Constructing Sequences of Triangle-Group Quotients

Sequences of quotient groups can efficiently be identified through the construction of adjacency matrices that capture the normal subgroup relation between pairwise distinct translation groups of corresponding quotients.

The quotient sequences structure is implemented as an object of category TGQuotientSequencesStructure with the following components:

  TGQuotientSequencesStructure( 
    [r, q, p], 
    boundByGenus = int,
    lstTGQuotients = [[genus, number], ... ],
    lstMirrorSymmetries = [ 0 / 1 , ... ],
    sparse = bool,
    adjMatrix = [[ ... ], ... ]
  )

6.2-1 TGQuotientSequencesStructure
‣ TGQuotientSequencesStructure( tg )( function )

Returns: quotient sequences structure as TGQuotientSequencesStructure object.

Construct the quotient sequences structure for the triangle group tg (\Delta^+), given as ProperTriangleGroup object (see 2.1), for available quotients from the library, i.e., Conder’s list.

The option boundByGenus, an upper bound, can be passed, which takes a positive integer below 102, limiting the number of quotients considered. If a positive integer below 102 is provided, triangle group quotients with genus smaller than boundByGenus will be used, a value above 102 will default back to 66. The default is 66. The option sparse, which takes a boolean, can be used to generate a sparse representation of the adjacency matrix. If sparse is true the adjacency matrix is of the form [ [ [ rowIdx, colIdx ], entry ], ... ], where entry is the corresponding matrix entry at position rowIdx and colIdx, which represent indices of the matrix rows and columns, respectively. The default is false.

This function saves constructed translation groups in cache, which can be flushed by calling FlushCaches (see section Mutability and Copying in the GAP Reference Manual).

6.2-2 Signature
‣ Signature( tgQSS )( operation )

returns the signature of the triangle group associated with the quotient sequences structure tgQSS. [ r, q, p ].

6.2-3 BoundByGenus
‣ BoundByGenus( tgQSS )( operation )

returns the upper bound used to generate the adjacency matrix of the quotient sequences structure tgQSS.

6.2-4 GetListTGQuotients
‣ GetListTGQuotients( tgQSS )( operation )

returns the list of quotients used to generate the adjacency matrix of the quotient sequences structuretgQSS. If the option boundByGenus was used in the generation of tgQSS, a corresponding reduced list will be returned. The default is ListTGQuotients(Signature(tgQSS)).

6.2-5 MirrorSymmetries
‣ MirrorSymmetries( tgQSS )( operation )

returns an ordered binary list of ones and zeros, 1 if quotients have mirror symmetries 0 otherwise. The position of each entry corresponds to the position of quotients in the list GetListTGQuotients(tgQSS).

6.2-6 IsSparse
‣ IsSparse( tgQSS )( operation )

returns a boolean, true if the adjacency matrix in tgQSS is sparse false otherwise.

6.2-7 AdjacencyMatrix
‣ AdjacencyMatrix( tgQSS )( operation )

returns the adjacency matrix which captures the normal subgroup relation between pairwise distinct translation groups of corresponding quotients, of dimension Length(GetListTGQuotients(tgQSS)) x Length(GetListTGQuotients(tgQSS)). If IsSparse(tgQSS) is true, the adjacency matrix will be sparsely represented [ [ [ rowIdx, colIdx ], entry ], ... ], where entry is the corresponding matrix entry at position rowIdx and colIdx, which represent indices of the matrix rows and columns, respectively.

6.2-8 NearestNeighborAdjacencyMatrix
‣ NearestNeighborAdjacencyMatrix( tgQSS )( operation )

returns the adjacency matrix which captures the normal subgroup relation between consecutive translation groups of corresponding quotients, with dimensions Length(GetListTGQuotients(tgQSS)) x Length(GetListTGQuotients(tgQSS)). If IsSparse(tgQSS) is true, the adjacency matrix will be sparsely represented [ [ [ rowIdx, colIdx ], entry ], ... ], where entry is the corresponding matrix entry at position rowIdx and colIdx, which represent indices of the matrix rows and columns, respectively.

6.2-9 LongestSequence
‣ LongestSequence( tgQSS )( operation )

returns a list of quotients of the form [[genus, number], ... ] a normal sequence as described above. The returned list of quotients is not necessarily the only longest normal sequence of that length.

The option quotient can be provided, specifying the first quotient in the list. This is either an integer giving the position in Conder’s list or a list of the form [genus, number] giving the genus and number in Conder’s list of the quotient. The default is 0, i.e., no first quotient specified. The option nonMirrorSymmetric, which takes a boolean, enables that the list of quotients includes quotients that have no mirror symmetries.

6.3 Extending Quotient Sequences

While such sequences can be found in the library of triangle-group quotients described in 2.4, an exhaustive search based on low-index normal subgroups such as the one that that library is based on is not efficient for producing long sequences directly. However, given a normal sequence of translation groups and one additional translation group not part of the sequence, it is possible to extend the sequence by forming intersections [Len23]. Let \Gamma^{(n)} be the last element of the sequence and \Gamma'\triangleleft\Delta^+ a translation group not part of the sequence, then

\Gamma^{(n+1)} = \Gamma^{(n)} \cap \Gamma'

is a normal subgroup of both \Gamma^{(n)} and \Delta^+ (but not necessarily a strict subgroup of \Gamma^{(n)}). This can be used to extend sequences of triangle-group quotients.

The HyperCells package implements the following functions to extend sequences:

6.3-1 ExtendTGQuotientSequence
‣ ExtendTGQuotientSequence( quotients, sequence )( function )

Returns: sequence of triangle-group quotients as a list of TGQuotient objects.

Extends the sequence sequence using the list of additional quotients quotients, where both arguments are lists of TGQuotient objects (see 2.3). Intersections of the last element of the (extended) sequences are successively formed with the quotients in quotients.

6.3-2 NextTGQuotientOptions
‣ NextTGQuotientOptions( quotients, Q0 )( function )

Returns: list of viable options of quotients in the form [ [ Q, ind ], ... ], where Q is a TGQuotient object and ind is the index of the intersection of the translation groups of Q and Q0 in the translation group of Q0.

Searches for viable options to extend a sequence ending with the quotient Q0 using the list of additional quotients quotients, where all quotients are given as TGQuotient objects (see 2.3).

6.4 Export and Import

6.4-1 Exporting TGQuotientSequencesStructure Objects
‣ Export( tgQSS, output-stream )( operation )
‣ Export( tgQSS, path )( operation )
‣ ExportString( tgQSS )( operation )

Export the quotient sequences structure TGQuotientSequencesStructure tgQSS to the OutputTextStream output-stream or to the file at the path given by the string path. Alternatively, the quotient sequences structure can be exported to a string with ExportString, which returns said string.

6.4-2 Importing TGQuotientSequencesStructure Objects
‣ ImportTGQuotientSequencesStructure( input-stream )( function )
‣ ImportTGQuotientSequencesStructureFromFile( path )( function )
‣ ImportTGQuotientSequencesStructureFromString( string )( function )

Returns: quotient sequences structure as TGQuotientSequencesStructure (see 6.2).

Import an the quotient sequences structure from the InputTextStream input-stream or from the file at the path given by the string path. Alternatively, the the quotient sequences structure can be imported from the string string.

6.4-3 ExportTGQuotientList
‣ ExportTGQuotientList( list, path )( function )

Exports the given list of TGQuotient objects (see 2.3) as a text file.

6.4-4 ExportTGQuotientSequences
‣ ExportTGQuotientSequences( seqs, path )( function )

Exports the given list of sequences, each a list of TGQuotient objects (see 2.3) as a text file.

6.4-5 ImportTGQuotientList
‣ ImportTGQuotientList( input-stream )( function )
‣ ImportTGQuotientListFromFile( path )( function )

Returns: list of TGQuotient objects.

Import a list of TGQuotient objects (see 2.3) from the input-stream input-stream or from a file at path path.

6.4-6 ImportTGQuotientSequences
‣ ImportTGQuotientSequences( input-stream )( function )
‣ ImportTGQuotientSequencesFromFile( path )( function )

Returns: list of list of TGQuotient objects.

Import a list of lists of TGQuotient objects (see 2.3) from the input-stream input-stream or from a file at path path.

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

generated by GAPDoc2HTML