Ticket #8954 (closed enhancement: fixed)
Implementation of the affine nilTemperley Lieb algebra of type A
| Reported by: | aschilling | Owned by: | AlexGhitza |
|---|---|---|---|
| Priority: | major | Milestone: | sage-4.4.4 |
| Component: | algebra | Keywords: | |
| Cc: | sage-combinat | Work issues: | |
| Report Upstream: | N/A | Reviewers: | Jason Bandlow |
| Authors: | Anne Schilling | Merged in: | sage-4.4.4.alpha0 |
| Dependencies: | Stopgaps: |
Description
Attachments
Change History
comment:2 follow-up: ↓ 3 Changed 3 years ago by jbandlow
- Status changed from needs_review to needs_work
Hi Anne, here are some comments. I think all of these should be easy to implement, and I'm happy to do them myself, if you like. But I'd like to know what you think first.
- It looks like your implementation assumes ZZ as a base ring. Any reason not to allow any ring?
- I would prefer the elements print as a[0] a[1] instead of a0 a1 so that copy-paste can work. Do you have a preference one way or the other?
- In the documentation for the class, you should mention that the relations should be understood mod n.
- In the _element_constructor, I would expect the presence of a braid relation trigger to return 0. Is there a reason that you raise an error instead?
This will be useful to have in sage... thanks!
comment:3 in reply to: ↑ 2 Changed 3 years ago by aschilling
- Status changed from needs_work to needs_review
- Reviewers set to Jason Bandlow
Hi Jason,
Thank you for your comments! I have uploaded a revised patch addressing the issues you raised:
- It looks like your implementation assumes ZZ as a base ring. Any reason not to allow any ring?
Done.
- I would prefer the elements print as a[0] a[1] instead of a0 a1 so that copy-paste can work. Do you have a preference one way or the other?
There is now an option in
def _repr_term(self, t, display = "short"):
which allows to display the output in the long or short notation.
- In the documentation for the class, you should mention that the relations should be understood mod n.
Done.
- In the _element_constructor, I would expect the presence of a braid relation trigger to return 0. Is there a reason that you raise an error instead?
Done now. As we discussed by e-mail in private, it might make more sense to eventually construct this algebra as a quotient algebra. This would depend on the 'functorial constructions' patch of Nicolas and Florent. I left a note about this in the code.
One slight warning: I now inserted a line
assert(self(w) != self.zero())
in product_on_basis, which might slow down calculations, but is safer.
Cheers,
Anne

