Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cubic Hecke Algebras #29717

Closed
soehms opened this issue May 20, 2020 · 92 comments
Closed

Cubic Hecke Algebras #29717

soehms opened this issue May 20, 2020 · 92 comments

Comments

@soehms
Copy link
Member

soehms commented May 20, 2020

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
Iwahori Hecke algebras (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 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 "A MAXIMAL CUBIC QUOTIENT OF THE BRAID ALGEBRA" and the references given there.

This ticket implements a class to work with them. It uses 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 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 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 GitHub workflow which is derived from tox-optional.

CC: @tscrim

Component: algebra

Keywords: cubic Hecke algebra braid group

Author: Sebastian Oehms

Branch/Commit: 8d9deb2

Reviewer: Matthias Koeppe, Travis Scrimshaw

Issue created by migration from https://trac.sagemath.org/ticket/29717

@soehms
Copy link
Member Author

soehms commented May 20, 2020

tarball for data files

@soehms
Copy link
Member Author

soehms commented May 20, 2020

comment:1

Attachment: cubic_hecke_marin-20200513.tar.bz2.gz

@soehms
Copy link
Member Author

soehms commented May 20, 2020

Branch: u/soehms/cubic_hecke_algebra_29717

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented May 21, 2020

Commit: 8c8a522

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented May 21, 2020

Branch pushed to git repo; I updated commit sha1. New commits:

8c8a52229717: fix upstream_url and some docs

@soehms

This comment has been minimized.

@soehms
Copy link
Member Author

soehms commented May 21, 2020

Author: Sebastian Oehms

@soehms
Copy link
Member Author

soehms commented May 21, 2020

comment:4

Lets see if the patchbots can do that!

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented May 24, 2020

Changed commit from 8c8a522 to 637e781

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented May 24, 2020

Branch pushed to git repo; I updated commit sha1. New commits:

637e78129717: fix optional gap3 doctest

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 3, 2020

Changed commit from 637e781 to 764e5db

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 3, 2020

Branch pushed to git repo; I updated commit sha1. New commits:

ee46039Merge branch 'u/soehms/splitting_algebra' of git://trac.sagemath.org/sage into splitting_algebra_29716
2f0c99c29716 rebasing and pyflakes hints
8c2a4ccMerge branch 'u/soehms/splitting_algebra' of git://trac.sagemath.org/sage into splitting_algebra_29716
5ea214f29716: rebase to 9.2.beta0 and some style fixes
764e5dbMerge branch 'u/soehms/cubic_hecke_algebra_29717' of git://trac.sagemath.org/sage into cubic_hecke_algebra_29717

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 16, 2020

Changed commit from 764e5db to 1d41115

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 16, 2020

Branch pushed to git repo; I updated commit sha1. New commits:

c3fe0daSome mild PEP8 stuff and other formatting stuff for splitting algebras.
0ec9ab1Merge branch 'public/algebras/splitting_algebra-29716' of git://trac.sagemath.org/sage into splitting_algebra_29716
16f7136Merge branch 'u/soehms/cubic_hecke_algebra_29717' of git://trac.sagemath.org/sage into cubic_hecke_algebra_29717
e52eece29716: correct _first_ngens
1d41115Merge branch 'splitting_algebra_29716' into cubic_hecke_algebra_29717

@soehms
Copy link
Member Author

soehms commented Jun 16, 2020

comment:8

I just merged in the fixes of #29716.

@soehms

This comment has been minimized.

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 3, 2020

Branch pushed to git repo; I updated commit sha1. New commits:

785b379Merge branch 'develop' into cubic_hecke_algebra_29717

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 3, 2020

Changed commit from 1d41115 to 785b379

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 31, 2020

Branch pushed to git repo; I updated commit sha1. New commits:

58ceee5Merge branch 'u/soehms/cubic_hecke_algebra_29717' of git://trac.sagemath.org/sage into cubic_hecke_algebra_29717
aea3c5a29717: adaption to ticket 17815

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 31, 2020

Changed commit from 785b379 to aea3c5a

@soehms
Copy link
Member Author

soehms commented Nov 1, 2020

comment:12

I will change the database integration in a similar way as I did in #30352.

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Mar 29, 2022

Changed commit from aea3c5a to 63b8979

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Mar 29, 2022

Branch pushed to git repo; I updated commit sha1. New commits:

430210933584: initial version
e526292clean the mathics.py file
d969e4bMerge branch 'mathics_33581' into mathics_33581_33584
575f9ccMerge branch 'u/soehms/cubic_hecke_algebra_29717' of trac.sagemath.org:sage into cubic_hecke_29717
63b897929717: make smaller algebras independent on optional package

@soehms
Copy link
Member Author

soehms commented Aug 19, 2022

@soehms
Copy link
Member Author

soehms commented Aug 19, 2022

Changed commit from f113e5c to a1e99ac

@soehms
Copy link
Member Author

soehms commented Aug 19, 2022

comment:50

Replying to @sagetrac-git:

Branch pushed to git repo; I updated commit sha1. New commits:

f113e5cDoing the rest of my commit of cubic_braid.py.

Thanks!

@soehms
Copy link
Member Author

soehms commented Aug 19, 2022

comment:51

Sorry that was the woring branch!

@soehms
Copy link
Member Author

soehms commented Aug 19, 2022

Changed commit from a1e99ac to none

@soehms
Copy link
Member Author

soehms commented Aug 19, 2022

Changed branch from u/soehms/cubic_hecke_algebras-29717 to none

@soehms
Copy link
Member Author

soehms commented Aug 19, 2022

Branch: u/soehms/cubic_hecke_algebra_29717

@soehms
Copy link
Member Author

soehms commented Aug 19, 2022

Commit: cc25f5e

@soehms
Copy link
Member Author

soehms commented Aug 19, 2022

comment:52

Correct merge Error

@soehms
Copy link
Member Author

soehms commented Aug 19, 2022

comment:53

Sorry much trouble for just one missing letter!

But I think the branch still wrong. I have to do it later on!

@soehms
Copy link
Member Author

soehms commented Aug 19, 2022

Changed commit from cc25f5e to 8d9deb2

@soehms
Copy link
Member Author

soehms commented Aug 19, 2022

@soehms
Copy link
Member Author

soehms commented Aug 19, 2022

New commits:

8d9deb229717: add missing T

@soehms
Copy link
Member Author

soehms commented Aug 19, 2022

comment:55

Replying to @soehms:

Sorry much trouble for just one missing letter!

But I think the branch still wrong. I have to do it later on!

It should be o.K. again!

@tscrim
Copy link
Collaborator

tscrim commented Aug 22, 2022

comment:56

Thanks. Then positive review.

@soehms
Copy link
Member Author

soehms commented Aug 24, 2022

comment:57

Replying to @tscrim:

Thanks. Then positive review.

Thanks a lot, as well!

@vbraun
Copy link
Member

vbraun commented Aug 29, 2022

Changed branch from u/soehms/cubic_hecke_algebra-29717 to 8d9deb2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants