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
marked Dynkin diagrams #15948
Comments
Branch: u/vittucek/ticket/15948 |
Commit: |
Branch pushed to git repo; I updated commit sha1. New commits:
|
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
comment:4
I believe it is useful to have the ability to cross out particular nodes for Dynkin diagrams (I believe the same/similar convention is used for Lie superalgebras to denote even/odd indices). However I think the
I'll check against Kac tonight. Dan and Nicolas might have some more comments as well. Best, Travis Last 10 new commits:
|
This comment has been minimized.
This comment has been minimized.
comment:6
Hi Vít! Thanks for your work on this. I agree with Travis. Furthermore the current implementation introduces quite some duplication, inside the type-specific latex methods and inbetween them. I guess this duplication could be avoided by factoring out a method, say Cheers, |
comment:7
Replying to @tscrim:
I'm glad to hear that.
The labels which are implemented so far are intended for people who doesn't want to use Bourbaki convention. I think, this feature is not very well documented. My labels are purely a decoration of nodes, which can be used i.e. to denote a homogeneous vector bundle over As for immutability issue, will it be OK, if I just add crossed_nodes and node_labels to the constructor and get rid of the setters?
|
comment:8
Replying to @nthiery:
The duplication was always there. I just made it more apparent. ;) I myself thought about creating such a method when I was coding type E. I'll make that change now. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:10
Replying to @vit-tucek:
If you feel the def relabel(self, relabeling):
return DynkinDiagram(self._cartan_type.relabel(relabeling)) This would result in:
I agree that we should add the following semantic to
(or perhaps I feel like we should add Furthermore, I don't like the current state of your printing method. Your iteration of the string is wrong because your assuming your labeling is nice (i.e. Thanks for your work on this, Travis |
comment:11
Replying to @tscrim:
There are two problems. First that I do not understand current labeling mechanism properly (code nor use cases -- does anybode use def set_node_labels(self, node_labels):
if isinstance(node_labels, list):
self.node_labels = {i : node_labels[label(i)-1] for i in self.index_set()}
else:
self.node_labels = node_labels
As with
Did you look at my last commit? (sagemath/sagetrac-mirror@454c0ac)
Thanks for feedback. ;) |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:13
Replying to @sagetrac-git:
I don't understand why that waning gets printed twice. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:15
OK. I've fixed some bugs and now the patch doesn't cause any breakage and works in fulfilling my needs. There is still some work to be done. Namely:
Is there an interest in getting this patch into sage? Are there some remaining issues that I missed? |
comment:16
Yes there is, but finals week trumps Sage work. However from looking at the code, I think there is significant issues when dealing with non-standard indexing sets (which we should support). I'm going to cannibalize your branch into a new one where I'm going to create a new class in EDIT - So basically we want relabellings and markings to act as decorator classes (as per the design pattern). This will take some (moderate) refactoring, but it will simplify the resulting code and make it easier for similar future additions. |
comment:17
Replying to @tscrim:
Would it help to refactor node_labels
Great. Thank you. I am just not sure how do we accomplish crossed nodes and weight labels at the same time. Multiple inheritance? By the way, last week I've stumbled upon some articles about nilpotent orbits where they use Dynkin diagrams with labels and call them Weighted Dynking diagrams. So maybe use |
comment:18
Okay, done with the refactor and creating the I've also done some fixing up of the way we print the Dynkin diagram ascii art, so with labels up to length 3 (almost 4 really), it looks nice. I refactored
where the first one was what was there previously. I also gave a New commits:
|
Changed author from Vít Tuček to Vít Tuček, Travis Scrimshaw |
Changed branch from u/vittucek/ticket/15948 to public/combinat/root_systems/marked_types-15948 |
comment:33
Various doctests fail... |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:35
I'm taking care of this - the non-symmetric Macdonalds are strangely sensitive to the class heirarchy. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
Dependencies: #16380 |
comment:37
Fixed - I had accidentally changed the behavior of |
comment:39
I know you didn't introduce this bug, but could you by chance fix this to raise a proper exception?
(note: I don't really care about this ticket, I just hate it when people abuse |
comment:40
Replying to @jdemeyer:
I've created #17084 for this and will upload a branch there later today. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:43
Thanks for keeping this branch alive! I've tried to doctest this on cloud.sagemath.org and it behaves rather strangely. The parallel doctests (e.g. ./sage -tp 12 src/sage/combinat/root_system/) run just fine but when I try to doctest a single file such as ./sage -t src/sage/combinat/root_system/cartan_type.py it spews
with errors such as
I guess I must be doing something wrong. |
comment:44
Hmmm...that's very strange. I tested the single files on my machine and it works okay. Unfortunately I don't know enough about how SMC does things to be able to help (which might be based on your specific config). Even stranger is that I don't think I changed anything that would cause such a failure. Since it passes in parallel, I'm tempted to say it's based on your current setup, but let me see the full output from the test. |
comment:45
Actually, it seems I've just forgotten |
comment:46
Thank you for your work on this! |
Changed branch from public/combinat/root_systems/marked_types-15948 to |
This patch adds marked Dynkin diagrams and marked Cartan types. See #15948 comment:18 for details.
This convenient notation is used quite often in a certain subbranch of differential geometry, see e.g. http://arxiv.org/abs/1303.1307, and in Lie superalgebras, where markings denote the parity of indices.
Moreover, there are two small bugfixes:
Depends on #16380
CC: @nthiery @dwbump
Component: combinatorics
Author: Vít Tuček, Travis Scrimshaw
Branch/Commit:
bf5e867
Reviewer: Travis Scrimshaw, Vít Tuček
Issue created by migration from https://trac.sagemath.org/ticket/15948
The text was updated successfully, but these errors were encountered: