Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Cubic Hecke Algebras are factors of the group algebra of the Artin braid groups, such that the images `s_i` of the braid generators satisfy a cubic equation: {{{ s_i^3 = u s_i^2 - v s_i + w }}} Here `u, v, w` are elements in an arbitrary integral domain and `i` is a positive integer less than `n`, the number of the braid group's strands. By the analogue to the [https://en.wikipedia.org/wiki/Iwahori%E2%80%93Hecke_algebra Iwahori Hecke algebras] ([http://doc.sagemath.org/html/en/reference/algebras/sag e/algebras/iwahori_hecke_algebra.html?highlight=iwahori%20hecke#module- sage.algebras.iwahori_hecke_algebra Sage class]) in which the braid generators satisfy a quadratic relation these algebras have been called ''cubic Hecke algebras''. The relations inherited from the braid group are: {{{ s_i s_{i+1} s_i = s_{i+1} s_i s_{i+1} \mbox{ where } 1\leq i < n-1 \mbox{ and } s_i s_j = s_j s_i \mbox{ where } 1 \leq i < j - 1 < n - 1. }}} If the ring elements `u, v, w` are taken to be `u = v = 0, w = 1` the cubic Hecke algebra specializes to the group algebra of the [http://doc. sagemath.org/html/en/reference/groups/sage/groups/cubic_braid.html?highl ight=cubic%20braid#module-sage.groups.cubic_braid cubic braid group], which is the factor group of the Artin braid group setting the generators order to be three. More information on these algebras can be found in [http://www.lamfa.u-picardie.fr/marin/arts/GQ.pdf "A MAXIMAL CUBIC QUOTIENT OF THE BRAID ALGEBRA"] and the references given there. This ticket implements a class to work with them. It uses [http://www.lamfa.u-picardie.fr/marin/representationH4-en.html data files] supplied by Iwan Marin for a basis of the cubic Hecke algebras up to 4 strands and corresponding regular representation matrices. For more than two generators (number of strands larger than three) the implementation is experimental with respect to the following two aspects: 1. In a technical sense, since this class will cache results in the file system, for example: images of braids to accelerate the calculation of images of longer braid words or products of basis elements. 2. In a mathematical sense, since the cubic Hecke algebra on more than 4 strands is not equipped with an appropriate basis (not even an algorithm to produce a flat basis according to Iwan Marin's work on the five strand cubic Hecke algebra). At the moment, the "basis" for the algebras on more than 4 strands grows randomly (starting from the one from the data files) according to the users action, without any guarantee that this would lead to a generating set behaving good under specializations. In general, it would be desirable to replace the dependence on the data files by algorithms implemented in this class. This would make sense as soon as such algorithms have been found which cover the case of five strands, as well. The code is spread over two existing directories: `src/sage/algebras/hecke_algebras/, src/sage/databases` and two new sub directories in the former one: `base_rings_of_definition` and `matrix_representations`. Both of the new directories contain just one module. Their purpose is to describe the special properties of matrix representations and base rings concerning the cubic Hecke algebra. Thus, in the latter case the corresponding module contains special classes for the most general base ring of the algebra (called the ''ring of definition'') and a corresponding ring for the coefficients of the split irreducible matrix representations. From the point of view of the algebra the ring of definition must not necessarily contain the roots of the defining cubic equation. Thus, it is defined by `\Z[u, v, w, w^(-1)]` where the indeterminates are taken from the coefficients of the underlying cubic equation `x**3 - u*x**2 + v*x - w`. But, concerning the split irreducible representations the roots (in Ivan Marin's papers often denoted `a, b, c`) are needed, and in addition a third root of unity (for the nine-dimensional representations of the cubic Hecke algebra on 4 strands). Accordingly, this ring is realized as a Laurent polynomial ring in `a, b, c` over `\Z` adjoined with a third root of unity. It can be considered as an extension of the ring of definition, more precisely as the [https://doc. sagemath.org/html/en/reference/algebras/sage/algebras/splitting_algebra. html splitting algebra] of the cubic equation. These both classes of base rings posses a method `create_specialization` which allows the user to consider cubic Hecke algebras over other base rings. Thus, the user may choose his own coefficients or roots of the cubic equation as long, as they define a valid ring homomorphism from the corresponding generic base ring. The module for the matrix representations contains enum classes to specify the type of the representation (left regular, right regular, split irreducible) and to specify a certain irreducible. Furthermore, it implements parent and element classes for a faithful representation (at least in the case of less than 5 strands) in block diagonal structure with irreducibles blocks (in the case of that representation type). Everything that has to do with the access to the data files and the file cache is implemented in `src/sage/databases/cubic_hecke_db.py`. The data files are obtained via the `pip` installable package [https://pypi.org/project/database-cubic-hecke/ database_cubic_hecke] and the file cache in `$HOME/.sage/db/cubic_hecke/`. It is created at runtime. Tests concerning the optional package are running as a [https://github.com/soehms/sage/actions/workflows/tox- database_cubic_hecke.yml GitHub workflow] which is derived from `tox- optional`. URL: https://trac.sagemath.org/29717 Reported by: soehms Ticket author(s): Sebastian Oehms Reviewer(s): Matthias Koeppe, Travis Scrimshaw
- Loading branch information