#20469: Implement Ariki-Koike algebras
-------------------------------------+-------------------------------------
Reporter: tscrim | Owner: sage-combinat
Type: enhancement | Status: new
Priority: major | Milestone: sage-7.3
Component: algebra | Resolution:
Keywords: hecke algebra, | Merged in:
complex reflection group, ariki- |
koike |
Authors: Travis Scrimshaw, | Reviewers: Andrew Mathas, Travis
Andrew Mathas | Scrimshaw
Report Upstream: N/A | Work issues:
Branch: | Commit:
public/algebras/ariki_koike_algebras-20469|
e9b6a594ae1e089b51b37081f35743402447a960
Dependencies: | Stopgaps:
-------------------------------------+-------------------------------------
Changes (by {'newvalue': u'Travis Scrimshaw, Andrew Mathas', 'oldvalue':
u'Travis Scrimshaw'}):
* cc: tscrim (added)
* reviewer: => Andrew Mathas, Travis Scrimshaw
* author: Travis Scrimshaw => Travis Scrimshaw, Andrew Mathas
* milestone: sage-7.2 => sage-7.3
Comment:
Replying to [comment:8 andrew.mathas]:
> I have been through your code and fixed the recursion issue. It was
actually an infinite recursion loop. The problem was that as the terms in
the products `....T_i L_k...` were being put into standard form "letter-
by-letter" (so changing the previous expression to `\sum ... L_m T_j...`)
you sometimes ended up going around in circles by pushing a `T_i` past an
`L_k` that then created a large power of some `L_m` that, when reduced,
got you back to the previous situation. I have rewritten the
`product_on_basis` code to avoid this, so I'm afraid that I've replaced
this section of your code. The product code is now less recursive with
terms largely being rewritten into standard form "in place".
Thank you very much for looking through this code and fixing the
problem(s). Sorry it ended up being a bit of a mess. I'm very happy you
were able to improve it.
> On top of this I proved a formula for the expansion of `L_k^m` that,
embarrassingly, I later found in one of my papers. This was my first guess
for improving the multiplication issues but once I'd made this change I
discovered the recursion loop. The other main change is that I rescaled
`L_k` to `q**{1-k}*L_k`, in [AK] notation, because this renormalisation is
what is normally used in the literature as it works better with the
combinatorics.
I probably could have looked harder in the literature. I'm okay with the
renormalization (especially since I have more of an interest in the
combinatorics too). I just kept the [AK] normalization since I was using
that as my reference and didn't trust myself to correctly handle the
renormalization.
> I have made a start at adding the documentation. As a result of the
rescaling of the `L_k`'s quite a lot of doc-tests are currently failing,
being off by the corresponding power of `q`. I am happy to fix these. I
left them in only so that you can compare if you wish. I am also happy to
fill out the documentation as I know this area quite well.
I would appreciate all of your expertise in writing the documentation. I
can go over it and do any necessary formatting. I can also fix the
doctests afterwards.
> Other issues that we could think about are:
> - whether to allow the two parameter version: `(T_i-q1)(T_i+q2)=0`.
Probably quite painful as all of the product formulas will change
I think it is good to try and be as general as possible when it is not
much work. I agree, I think it would be very annoying to switch because we
would have to redo all of the product formulas (at least, I would have to
put some thought on how to do this to make everything consistent). So, I
think this is plenty good for now.
> - whether to implement the degenerate algebras. This might be easy as it
could be done as a derived class with slightly different `_product_LTwTv`,
`_product_Tw_L`, and `_Li_power` methods
> - I think having a slightly shorter `_repr_` string would be a good
idea: `Ariki-Koike algebra of rank 5 with parameters q,u0,u2,u3` is enough
I think
I think we should give the base ring to better differentiate the
instances. Plus this is consistent with what we do elsewhere in Sage. One
slight issue is the default ring is a polynomial ring over a polynomial
ring, and it is this that makes the repr very long. I decided to do this
for the default ring so the q's would be grouped together.
> - implementing other bases? This is probably best left for another
ticket...especially as I think that the realisations code currently
requires that the same indexing sets be used(?)
I agree; this should be another ticket unless you have code ready. The
realizations code itself does not require the same indexing set, but you
have to do a bit more with the morphisms. For an example, see the descent
algebra (`combinat/descent_algebra.py`).
> Any way, I think that the code now works. Please have a look and let me
know what you think. Happy to be a reviewer or coauthor on the ticket as
you think best.
I will play around with in shortly. We will both be both coauthors and
reviewers (yet again :P).
Replying to [comment:9 andrew.mathas]:
> ps. With the degenerate algebras, the other option would be to use the
Hu-Mathas presentation for the "main" algebra (this combines the Ariki-
Koike algebras with `q\ne1` and the degenerate AK algebras (when `q=1`)
and then implement the `q=1` version of the Ariki-Koike algebras as the
"extra" case. I am biased, but personally I think that makes more sense
because the Hu-M. presentation fits with the KLR categorifiction of
integrable highest weight modules perfectly whereas the Ariki-Koike
presentation does not.
I'm +1 for getting things closer to the KLR algebra (something that I hope
to eventually get into Sage at some point). Otherwise I don't have an
opinion on which presentation we use. How much would have to be changed in
order to move to the Hu-Mathas presentation?
--
Ticket URL: <https://trac.sagemath.org/ticket/20469#comment:10>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.