Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
code directory
Using the CubicBraidGroup class
Introduction
This module is devoted to factor groups of the Artin braid groups, such that the images of the braid generators have order three:
In general these groups have firstly been investigated by Coxeter, H.S.M in: "Factor groups of the braid groups, Proceedings of the Fourth Candian Mathematical Congress (Vancover 1957), pp. 95-122".
Coxeter showed, that these groups are finite as long as the number of strands is less than 6 and infinite elsewise. More explicitely the factor group on three strand braids is isomorphic to , on four strand braids to and on five strand braids to . Coxeter realized these groups as subgroups of unitary groups with respect to a certain hermitian form over the complex numbers (in fact over adjoined with a primitive 12-th root of unity).
In "Einige endliche Faktorgruppen der Zopfgruppen" (Math. Z., 163 (1978), 291-302) J. Assion considered two series and of finite dimensional factors of these groups. The additional relations on the braid group generators are
where . He showed that each series of finite cubic braid group factors must be an epimorhic image of one of his two series, as long as the groups with less than 5 strands are the full cubic braid groups, whereas the group on 5 strands is not. He realized the groups as symplectic groups over (resp. subgroups therein) and as general unitary groups over (resp. subgroups therein).
This class implements all the groups conidered by Coxeter and Assion as finitely presented groups (via the gap interface) together with the classical realizations given by the authors. It also contains the coercion maps between the two ways of realization. In addition the user can construct other realizations and maps to matrix groups with help of the burau representation. In case gap3 and CHEVIE are installed under sage version 7.2 (or later) the reflection groups via the gap3 interface are availlable, too. The methods for all this functionality are:
as_classical_group
as_matrix_group
as_reflection_group (needs sage version 7.2 up and gap3 + CHEVIE)
as_permutation_group
Further methods are:
order
pre_image_braid_group
cubic_braid_subgroup
character_table
AUTHOR
Sebastian Oehms, Sept. 2016
Getting started
The CubicBraidGroup class is not integrated into the sage library, right now. If you are using sage on your own computer you may install the CubicBraidGoup class following the README.txt file. To use the CubicBraidGroup on this plattform you can create a jupyter notebook or a sage worksheet (like this) and start with a cell containing the first line of this:
To execute the command you must click on the "play" symbol (>|) above (instead of carriage return key in a shell session)
On your own computer in a command-line sage-session you must start with this line, as well. For further information on how to get started see the README.txt-File.
The general documentation concerning the CubicBraidGroup class can be shown using the following command.
First steps
To definine the cubic braid group on 3 strand, for example, type:
There are several ways to obtain the braid generators as variables: First using the pre defined names:
Second, if you like to use your own names it is possiblbe to include a generator declaration inside the group declaration in two ways (caution: sage-kernel needed, this does no work for a pure python kernel):
But, note:
Classical realization
Now, lets define Coxeter's realization of the 3 strand cubic braid group:
You may apply any method implemented for groups and finitely presented resp. finitely generated matrix groups in sage to C3 resp. C3Cl, for instance to check if they are isomorphic:
To see which methods are availlable you may use the python 'dir' function. To see all methods containing the substring 'is_' in their names, for instance, type:
Restriction to substrings at the beginning or end works like this:
In stead of the "startswith" query you can use the "TAB"-key functionality like with "bash", as well.
The above used method "as_classical_group" is a special method of the CubicBraidGroup class. It returns the realization of the cubic braid group as classical group. These are (in principal) symplectic groups over resp. unitary groups over in the case of Assion groups of type "S" and "U" respectively (realization of Assion) and subgroups of the unitary groups over adjoined with a primitive 12-th root of unity with respect to a certain hermitian form in the case of the ordinary cubic braid groups (Coxeters realization):
Exceptions in Assions series
U3Cl is an exception to the statement above! It is not identical to the unitary group of degree 2. This exception occurs if the number of strands is zero mululo three in the case of Assion groups of type U resp. if the number of strands is even concerning the Assion groups of type S. But, since U3Cl is a subgroup of U4Cl (the unitary group of degree 3 over ) you may obtain it like this:
Don't confuse about the difference with respect to the base field concerning GU(3,2) (size 2²) and PGU(3,2) (size 2) which is caused by non conform conventions inside sage.
Description of the exceptions as centralizer
Assion described the exceptional cases of the groups and as centralizer groups of certain elements in the projective counterpart of the corresponding classical group. These elements can be obtained by the following method:
Conversion maps
Observe, that the cubic braid groups do not differ from the corresponding Assion groups in terms of isomorphism as long as the number of strand is less than five:
These isomorphisms are canonical in the case of S3 and U3 since all these groups are defined as finitely presented groups with identical number of generators and according relations:
In the other cases the maps are realized as conversion maps, that is:
You may also convert in the opposite direction:
Preimages in the Artin braid group
For each element of a cubic braid group you can define a preimage in the braid group as instance of the element class of the braid group class:
Burau matrices for the cubic braid groups
You can calculate the burau matrix correspondig to elements of the cubic braid groups, as well. By default you will get it as matrix over adjoint with a third root of unity (zeta3):
Using the additional options of this method, you can construct representations in finite matrix groups, as well:
To see all possible options type (but again, note that carriage return is ignored in the sage worksheet. To see it better use jupyter notebook or command line):
Other matrix group realizations via the Burau representation
If you want to create the image of the Burau representation as as matrix group together with the corresponding group homorphism you just need to type, for instance:
Conversion maps are availlable as in the case of the classical groups:
Of course, the map backwards is a group homomorphism only if the representation is faithfull. In general this conversion map is a section. Further, note that the Burau representation does factor through the relations of Assion, just for certain characteristic.
Realization as complex reflection groups
A third kind of realization of the cubic braid groups leads to complex reflection groups. This realization is availlable starting wirh sage version 7.2 if in addition gap3 with the CHEVIE package is installed. In this case the complex reflection group is obtained by:
All methods implemented for the IrreduclibeComplexReflectionGroup class can be used for R3, for example:
Elements in R3 may be interpreted as element of the cubic braid group or the classical realization via conversion:
Conversion backwards is posible, as well:
The realization as reflection group allows another relaization as matrix group beeing compatible to the corresponding root system. A method for this prurpose has been added to the IrreducibleComplexReflectionGroup_class inside the CubicBraidGroup_class:
But note, that even in the case where this matrix group is a subgroup of a general linear group, this realization is different from the classical group realization. Even the respective ambient groups are different, since they are defined with respect to different hermitian forms:
Realization as permutation groups
A third kind of realization of the cubic braid groups is that as permutation groups. This realization is in sage available for all finetely presented groups via the gap interface. In addition you will get coercion maps here, as well and a permutation group constructed with respect to the classical realization. This is the default in the call:
To obtain the permutation group calculated for the finitely presented group you must type:
Other useful methods
In principal you can use all gap functions being available for these types of groups and being implemented via the gap interface of sage. Use the online help ("print dir(C3)" for example) as shown above to see them all. Here are some examples: