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
Cartan type Aoo #20973
Comments
Branch: u/andrew.mathas/cartan_type_aoo |
This comment has been minimized.
This comment has been minimized.
Commit: |
Author: Andrew Mathas |
Changed keywords from none to Cartan type, A infinity |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:9
It is very rudimentary, but comments/suggestions/review welcome |
comment:10
Hi Andrew, Overall, this looks good! It's a bit frustrating to have to write so many methods that are very similar to existing ones, but I did not quite see a good way to factor stuff out either. One thing that could be done is to add a class Plugin failures:
Some comments and suggestions: The method description in the docstrings is not rather inconsistent. I can see the origin: the rest of the root system code that you took inspiration from is not very consistent either (mostly by my fault :-)). Still it would be good to make it more uniform.
I would move most of the doctests from While you are at it, it should be easy to implement the Cheers, |
comment:11
Thinking twice about it, Travis is probably right: once But if you don't need it yourself, that's for a later ticket. |
comment:12
Ah: you may want to add this new type to |
comment:13
I would like to future proof this by deciding how we want to differentiate between A+oo and Aoo. Unfortunately |
comment:14
Replying to @nthiery:
Thanks. I almost did something like this when I when I was putting this together. I agree it would be better this way, so I'll try and clean this up a little. Along similar lines, there seems to be quite a lot of code duplication between Andrew |
comment:15
Replying to @tscrim:
As you suggested implementing both the sage: CartanType(['A', oo])
sage: CartanType(['A',+oo]) but, as you say, this won't work. Another direction for relatively easy generalisation is I have a related question concerning |
comment:16
Perhaps it would be a bit strange to do It's been a while since I looked deeply into the Dynkin diagram, Cartan type/matrix code. They all inherit from |
comment:17
Just a brief note for now: for the syntax for the various types of infinity, what about using
The implementation could be generic and handle both, and even more (e.g. if someone would want to use positive integers as index set, or some parabolic subtype). We could even imagine sharing some stuff with the finite case, but that's probably overdesign.
|
comment:18
bad syntax for trac link, see patchbot report |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:20
I have addressed all of the comments above. Given the ambiguity between sage: CartanType(['A', NN])
['A', NN]
sage: print(CartanType(['A', NN]).ascii_art())
O---O---O---O---O---O---O---..
0 1 2 3
sage: CartanType(['A', ZZ])
['A', ZZ]
sage: print(CartanType(['A', ZZ]).ascii_art())
..---O---O---O---O---O---O---O---..
-3 -2 -1 0 1 2 3 There is now a The code works with 7.3.beta7 but it will almost certainly not merge on the next release on the develop branch given trac:18555. |
comment:21
Replying to @AndrewAtLarge:
That is exactly what I was just going to suggest this morning. :P I think this is the best way forward.
Yea, I remember them being fairly interconnected, sometimes in subtle ways. I remember fighting some things when I was trying to implement hyperbolic types (which I don't know when I will get back to this).
If #18555 really does cause a conflict, which I agree it probably does, then let's have a preemptive strike and base this over #18555. |
comment:22
Also, this sentence is vague:
In particular, what does class CartanType(CartanType_standard, CartanType_simple):
r"""
Define the Cartan type `A_{\infty}`.
We use `NN` and `ZZ` to explicitly differentiate between the
`A_{+\infty}` and `A_{\infty}` root systems. While `oo` is
the same as `+Infinity` in Sage, it is used as an alias
for `ZZ`.
""" I would also move all of the |
Reviewer: Nicolas Thiéry, Travis Scrimshaw |
comment:24
Thanks for the changes. I made a few minor reviewer changes. If you're okay with them, then you can set a positive review. New commits:
|
Changed branch from u/andrew.mathas/cartan_type_aoo to public/combinat/root_system/type_A_infinity-20973 |
comment:25
Thanks Travis. Yes, I am happy with your changes. |
comment:26
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:28
Sorry! All fixed. |
Changed branch from public/combinat/root_system/type_A_infinity-20973 to |
Changed reviewer from Nicolas Thiéry, Travis Scrimshaw to Nicolas M. Thiéry, Travis Scrimshaw |
Changed commit from |
Gives a minimal implementation of the
A_oo
Cartan type:In addition, the ticket fixes the following error in
CartanType
:This, and other nonsensical input, now raises a
ValueError
.See related discussion on sage-combinat.
CC: @sagetrac-sage-combinat @nthiery @tscrim
Component: combinatorics
Keywords: Cartan type, A infinity
Author: Andrew Mathas
Branch:
c1b57e6
Reviewer: Nicolas M. Thiéry, Travis Scrimshaw
Issue created by migration from https://trac.sagemath.org/ticket/20973
The text was updated successfully, but these errors were encountered: