Opened 9 years ago
Closed 8 years ago
#15560 closed enhancement (fixed)
Add methods to rigged configurations
Reported by: | tscrim | Owned by: | sage-combinat |
---|---|---|---|
Priority: | major | Milestone: | sage-6.3 |
Component: | combinatorics | Keywords: | rigged configurations |
Cc: | sage-combinat, aschilling | Merged in: | |
Authors: | Travis Scrimshaw | Reviewers: | Anne Schilling |
Report Upstream: | N/A | Work issues: | |
Branch: | 1e15993 (Commits, GitHub, GitLab) | Commit: | 1e15993eed4b02fed79649aca88f6a6a6d7d843b |
Dependencies: | #13872 #15882 | Stopgaps: |
Description
Adds some extra methods to rigged configurations: the action of the left column splitting and the basic operation in the bijection with tensor product of KR tableaux.
Change History (38)
comment:1 Changed 9 years ago by
- Branch set to public/combinat/rigged_configurations/methods-15560
comment:2 Changed 9 years ago by
- Commit set to 365b5201a63a1d03ee2e0669fb6e82661f2bc2f3
comment:3 Changed 9 years ago by
- Status changed from new to needs_review
comment:4 Changed 9 years ago by
- Commit changed from 365b5201a63a1d03ee2e0669fb6e82661f2bc2f3 to 0050d2e4bbeb579248437feaaf363d210a92a83f
comment:5 Changed 9 years ago by
- Milestone changed from sage-6.1 to sage-6.2
comment:6 Changed 8 years ago by
- Commit changed from 0050d2e4bbeb579248437feaaf363d210a92a83f to bb910cca68181f5cfaf7eab5421f488592f4c195
Branch pushed to git repo; I updated commit sha1. New commits:
8bac0b2 | Merge branch 'develop' into public/combinat/rigged_configurations/methods-15560
|
e17c7c8 | Merge branch 'develop' into public/combinat/rigged_configurations/methods-15560
|
fd8b9c0 | Merge branch 'develop' into public/combinat/rigged_configurations/methods-15560
|
c7c399e | Merge branch 'develop' into public/combinat/rigged_configurations/methods-15560
|
d9a96c2 | Merge branch 'develop' into public/combinat/rigged_configurations/methods-15560
|
3ccd75d | Merge branch 'develop' into public/combinat/rigged_configurations/methods-15560
|
bf56c7f | Merge branch 'develop' into public/combinat/rigged_configurations/methods-15560
|
bb910cc | Merge branch 'develop' into public/combinat/rigged_configurations/methods-15560
|
comment:7 Changed 8 years ago by
- Commit changed from bb910cca68181f5cfaf7eab5421f488592f4c195 to 4695e88357ba2edac6f10127d8e4c7c6bb8c5d4a
Branch pushed to git repo; I updated commit sha1. New commits:
4695e88 | Implemented changes Anne and I discussed.
|
comment:8 follow-up: ↓ 9 Changed 8 years ago by
Thanks in advance for doing the review.
comment:9 in reply to: ↑ 8 Changed 8 years ago by
Hi Travis,
Here are further comments:
+ If we are construction a rigged configuration from a rigged configuration + (say of another type) and we don't want to recompute the vacancy numbers, + we can use the ``use_vacancy_numbers`` to avoid the recomputation.
This is not a sentence. Perhaps you want "If we are constructing"?
Also, it would be great to add left_split as a method to KirillovReshetikhinTableaux? and possibly also the right_split method! This can be just done by using the bijection to rigged configurations, but it would be very handy to have these methods directly on KirillovReshetikhinTableaux? as well.
Thanks,
Anne
comment:10 Changed 8 years ago by
- Status changed from needs_review to needs_work
comment:11 Changed 8 years ago by
- Commit changed from 4695e88357ba2edac6f10127d8e4c7c6bb8c5d4a to df3a9ebd23841479e05cd11b6a84d6807dfa3e4a
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
78489a6 | trac #15882: review (typos)
|
968f9f6 | Fixing broken links and other misc cleanup.
|
faa5507 | Fixed failing doctests.
|
207f38e | Fixed last doc errors.
|
007043b | Fixed failing doctests and some cleanup of classical_crystals.
|
6314a36 | Fixed doc of classical_crystals and added regular_crystals to doc.
|
ac1dcd5 | Merge branch 'public/combinat/crystals/catalog-15882' into public/combinat/rigged_configurations/methods-15560
|
2cc751e | Fixed doctest failures in rigged_configurations folder.
|
3be2a08 | Merge branch 'public/combinat/crystals/catalog-15882' into public/combinat/rigged_configurations/methods-15560
|
df3a9eb | Some doctest fixes.
|
comment:12 Changed 8 years ago by
- Dependencies changed from #13872 to #13872 #15882
- Reviewers set to Anne Schilling
- Status changed from needs_work to needs_review
Here's the major changes:
- Based this off #15882.
- Added the Luzstig involution to (tensor products of) KR tableaux, KR crystals, and rigged configurations.
- Added left/right splitting maps to (tensor products of) KR tableaux and rigged configurations. (The right splitting map is non-trivial on KR tableaux; look in type D4(1) at the B2,2 module generators.)
- Moved
opposition_automorphism()
from the crystals category into Cartan types.
- Fixed the typo noted above.
Best,
Travis
comment:13 Changed 8 years ago by
- Commit changed from df3a9ebd23841479e05cd11b6a84d6807dfa3e4a to e7e2ad537bb95324fe7c4806233bfd2295e96f3f
comment:14 Changed 8 years ago by
- Commit changed from e7e2ad537bb95324fe7c4806233bfd2295e96f3f to bc0a691b5b3eaa7b3b9c0be5736f2e358c4a5389
Branch pushed to git repo; I updated commit sha1. New commits:
d262371 | Merge branch 'develop' into public/combinat/rigged_configurations/methods-15560
|
6729c22 | Merge branch 'u/tscrim/q_dims' into public/combinat/crystals/catalog-15882
|
e9dd3a2 | Fixed doctests for q-dims.
|
d9e9370 | Merge branch 'develop' into public/combinat/crystals/catalog-15882
|
24216f8 | Merge branch 'develop' into public/combinat/crystals/catalog-15882
|
6328bf0 | Reworked the entry points to KR crystals.
|
a7f2e1e | Moved the KR RiggedConfigurations to rigged_configurations.py.
|
8120e16 | Merge branch 'public/combinat/crystals/catalog' of trac.sagemath.org:sage into public/combinat/crystals/catalog-15882
|
bc0a691 | Merge branch 'public/combinat/crystals/catalog-15882' into public/combinat/rigged_configurations/methods-15560
|
comment:15 Changed 8 years ago by
- Commit changed from bc0a691b5b3eaa7b3b9c0be5736f2e358c4a5389 to 3fe79c76432fd685afc7337978c7de668ea5e47d
Branch pushed to git repo; I updated commit sha1. New commits:
e67176e | More changes to the catalog.
|
482ca9c | Fixed last bad link.
|
6402c54 | fixed some documentation issues
|
a596cdd | Merge branch 'public/combinat/crystals/catalog' of trac.sagemath.org:sage into public/combinat/crystals/catalog-15882
|
698ae7e | some small changes to the documentation
|
eaf48a9 | Merge branch 'public/combinat/crystals/catalog' of trac.sagemath.org:sage into public/combinat/rigged_configurations/methods-15560
|
0942e81 | Fixed failing doctests.
|
3fe79c7 | Merge branch 'public/combinat/crystals/catalog' into public/combinat/rigged_configurations/methods-15560
|
comment:16 Changed 8 years ago by
- Commit changed from 3fe79c76432fd685afc7337978c7de668ea5e47d to 46a0d0af4c422f8fd7b11f334d6a814b8f1a16fb
Branch pushed to git repo; I updated commit sha1. New commits:
46a0d0a | Fixes for lusztig involution.
|
comment:17 Changed 8 years ago by
- Milestone changed from sage-6.2 to sage-6.3
comment:18 Changed 8 years ago by
- Status changed from needs_review to needs_work
Based on 6.2beta1 it fails:
sage -t --long src/sage/combinat/rigged_configurations/rigged_configurations.py # 1 doctest failed
comment:19 Changed 8 years ago by
- Commit changed from 46a0d0af4c422f8fd7b11f334d6a814b8f1a16fb to 695b0d9859d579d142b36551cc83fb04fd2c5585
comment:20 Changed 8 years ago by
- Status changed from needs_work to needs_review
comment:21 follow-up: ↓ 22 Changed 8 years ago by
- Commit changed from 695b0d9859d579d142b36551cc83fb04fd2c5585 to e103d1ee41d9f2809fa74f71dfe35ddacbe2f313
Branch pushed to git repo; I updated commit sha1. New commits:
b5b442f | Merge branch 'develop' into public/combinat/rigged_configurations/methods-15560
|
43da3ef | Merge branch 'develop' into public/combinat/rigged_configurations/methods-15560
|
c821bde | Initial graph viewing. Only for type D and types w/o special run() methods.
|
8d173ee | Merge branch 'develop' into u/tscrim/rc_bij_pdf
|
e8011bd | Changed input method and added constructions to other types.
|
54f1a4a | Merge branch 'develop' into u/tscrim/rc_bij_pdf
|
e103d1e | Merge branch 'u/tscrim/rc_bij_pdf' into public/combinat/rigged_configurations/methods-15560
|
comment:22 in reply to: ↑ 21 ; follow-up: ↓ 24 Changed 8 years ago by
Hi Travis,
Here are some more comments:
- The documentation of right_split has a ` missing. Please run the documentation to see that it actually compiles!
- Please add the map
\theta
to rigged configuration and compare to lusztig_involution.
- Please add tests and more explanations what
build_graph
does. Explain which graph it is computing. Also the following fails:
sage: RC = RiggedConfigurations(['D', 4, 1], [[2, 1]]) sage: from sage.combinat.rigged_configurations.bij_type_D import RCToKRTBijectionTypeD sage: RCToKRTBijectionTypeD(RC(partition_list=[[1],[1],[1],[1]])).run() [[2], [-3]] sage: RCToKRTBijectionTypeD(RC(partition_list=[[1],[1],[1],[1]])).run(build_graph=True) --------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-10-1c82ae944c4d> in <module>() ----> 1 RCToKRTBijectionTypeD(RC(partition_list=[[Integer(1)],[Integer(1)],[Integer(1)],[Integer(1)]])).run(build_graph=True) /Applications/sage/local/lib/python2.7/site-packages/sage/combinat/rigged_configurations/bij_type_D.pyc in run(self, verbose, build_graph) 513 514 if build_graph: --> 515 y = self.rigged_con.parent()(*[x._clone() for x in self.cur_partitions]) 516 self._graph.append([self._graph[-1][1], (y, len(self._graph)), letters(b)]) 517 /Applications/sage/local/lib/python2.7/site-packages/sage/structure/parent.so in sage.structure.parent.Parent.__call__ (sage/structure/parent.c:8924)() /Applications/sage/local/lib/python2.7/site-packages/sage/structure/coerce_maps.so in sage.structure.coerce_maps.DefaultConvertMap_unique._call_with_args (sage/structure/coerce_maps.c:4637)() /Applications/sage/local/lib/python2.7/site-packages/sage/structure/coerce_maps.so in sage.structure.coerce_maps.DefaultConvertMap_unique._call_with_args (sage/structure/coerce_maps.c:4501)() /Applications/sage/local/lib/python2.7/site-packages/sage/combinat/rigged_configurations/rigged_configurations.pyc in _element_constructor_(self, *lst, **options) 717 lst = lst[0] 718 --> 719 return self.element_class(self, list(lst), **options) 720 721 def _calc_vacancy_number(self, partitions, a, i, **options): /Applications/sage/local/lib/python2.7/site-packages/sage/combinat/rigged_configurations/rigged_configuration_element.pyc in __init__(self, parent, rigged_partitions, **options) 289 nu[-1] = RiggedPartitionTypeB(nu[-1]) 290 --> 291 ClonableArray.__init__(self, parent, nu) 292 293 def _repr_(self): /Applications/sage/local/lib/python2.7/site-packages/sage/structure/list_clone.so in sage.structure.list_clone.ClonableArray.__init__ (sage/structure/list_clone.c:3758)() /Applications/sage/local/lib/python2.7/site-packages/sage/structure/list_clone.so in sage.structure.list_clone.ClonableArray.check (sage/structure/list_clone.c:5758)() /Applications/sage/local/lib/python2.7/site-packages/sage/combinat/rigged_configurations/rigged_configuration_element.pyc in check(self) 492 for i, vac_num in enumerate(partition.vacancy_numbers): 493 if vac_num < partition.rigging[i]: --> 494 raise ValueError("rigging can be at most the vacancy number") 495 496 def to_tensor_product_of_kirillov_reshetikhin_tableaux(self, display_steps=False, build_graph=False): ValueError: rigging can be at most the vacancy number
Anne
comment:23 Changed 8 years ago by
- Commit changed from e103d1ee41d9f2809fa74f71dfe35ddacbe2f313 to 2874083b12a083c3d644860e09079c1136915622
Branch pushed to git repo; I updated commit sha1. New commits:
c612e7f | Merge branch 'develop' into public/combinat/rigged_configurations/methods-15560
|
40c98dc | Merge branch 'develop' into public/combinat/rigged_configurations/methods-15560
|
56119bf | Added theta map, fixed bugs and expanded doc.
|
2874083 | Minor rewording of build_graph param in bijections.
|
comment:24 in reply to: ↑ 22 ; follow-up: ↓ 25 Changed 8 years ago by
Replying to aschilling:
- The documentation of right_split has a ` missing. Please run the documentation to see that it actually compiles!
I couldn't find this and the documentation built without an issue and looks okay to me (although there was a missing 'u').
- Please add the map
\theta
to rigged configuration and compare to lusztig_involution.
Added under the name complement
. In general, it will be different than lusztig_involution
, which fixes each classical component, whereas \theta
fixes the classical structure but permutes the classical components. Or did you mean you wanted me to add a doctest showing this?
- Please add tests and more explanations what
build_graph
does. Explain which graph it is computing. Also the following fails:
This was due to before, the element constructor always preserved the vacancy numbers and now it recomputes it unless explicitly stated. Fixed with added tests. I expanded the documentation in to_tensor_..._tableaux()
as well.
comment:25 in reply to: ↑ 24 ; follow-up: ↓ 28 Changed 8 years ago by
Replying to tscrim:
Replying to aschilling:
- The documentation of right_split has a ` missing. Please run the documentation to see that it actually compiles!
I couldn't find this and the documentation built without an issue and looks okay to me (although there was a missing 'u').
There is a ` missing in
+ Let `\ast` denote the :meth:`Lusztig involution<lusztig_involution>`, + and `\mathrm{ls}` as the :meth:`left splitting map<left_split>`. + The right splitting map is defined as + \mathrm{rs} := \ast \circ \mathrm{ls} \circ \ast`.
- Please add the map
\theta
to rigged configuration and compare to lusztig_involution.Added under the name
complement
. In general, it will be different thanlusztig_involution
, which fixes each classical component, whereas\theta
fixes the classical structure but permutes the classical components. Or did you mean you wanted me to add a doctest showing this?
Under \bar \Phi
the map \star
(which I guess is what you call lusztig_involution) intertwines with \theta
. It would be good to add a check like that.
- Please add tests and more explanations what
build_graph
does. Explain which graph it is computing. Also the following fails:This was due to before, the element constructor always preserved the vacancy numbers and now it recomputes it unless explicitly stated. Fixed with added tests. I expanded the documentation in
to_tensor_..._tableaux()
as well.
Even though it is stated in the documentation, that build_graph
is an optional
parameter, it does not seem to take this input:
sage: rc = RC(partition_list=[[1],[1],[1],[1]]) sage: rc.to_tensor_product_of_kirillov_reshetikhin_crystals(build_graph=True) --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-8-702cb808a701> in <module>() ----> 1 rc.to_tensor_product_of_kirillov_reshetikhin_crystals(build_graph=True) TypeError: to_tensor_product_of_kirillov_reshetikhin_crystals() got an unexpected keyword argument 'build_graph'
What is the difference between build_graph
and display_steps
?
Anne
comment:26 Changed 8 years ago by
- Commit changed from 2874083b12a083c3d644860e09079c1136915622 to 6552c617321b50a8cf2123e9c85e0e4eaa8d8714
Branch pushed to git repo; I updated commit sha1. New commits:
6552c61 | Fixed doc, added intertwining doctest, and added build_graph to to_*_crystals.
|
comment:27 Changed 8 years ago by
- Commit changed from 6552c617321b50a8cf2123e9c85e0e4eaa8d8714 to a985081eb8bb47abb8e78546eaf7aa4638eddc77
Branch pushed to git repo; I updated commit sha1. New commits:
a985081 | Tweaked wording of param display_steps doc.
|
comment:28 in reply to: ↑ 25 ; follow-up: ↓ 29 Changed 8 years ago by
Replying to aschilling:
There is a ` missing in ...
Ah, I forgot about the right split for KR tableaux. :P Fixed.
Under
\bar \Phi
the map\star
(which I guess is what you call lusztig_involution) intertwines with\theta
. It would be good to add a check like that.
I've added a doctest.
Even though it is stated in the documentation, that
build_graph
is an optional parameter, it does not seem to take this input:sage: rc = RC(partition_list=[[1],[1],[1],[1]]) sage: rc.to_tensor_product_of_kirillov_reshetikhin_crystals(build_graph=True) --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-8-702cb808a701> in <module>() ----> 1 rc.to_tensor_product_of_kirillov_reshetikhin_crystals(build_graph=True) TypeError: to_tensor_product_of_kirillov_reshetikhin_crystals() got an unexpected keyword argument 'build_graph'
This is because this was not a parameter in to_tensor_product_of_kirillov_reshetikhin_crystals
, but in *_tableaux
. I've also added the parameter (and doc/test) to the 'to TP of KR crystals' methods.
What is the difference between
build_graph
anddisplay_steps
?
The first one constructs and returns the graph, the latter outputs each step to the terminal. I've changed output
to print
to avoid some ambiguity.
comment:29 in reply to: ↑ 28 ; follow-up: ↓ 30 Changed 8 years ago by
Why is the right_split that you implemented the correct map? I thought that rs = * ls * using the * map.
comment:30 in reply to: ↑ 29 ; follow-up: ↓ 31 Changed 8 years ago by
Replying to aschilling:
Why is the right_split that you implemented the correct map? I thought that rs = * ls * using the * map.
right_split
is implemented as * ls *
(where *
is the Lusztig involution) for both rigged configurations and KR tableaux.
comment:31 in reply to: ↑ 30 Changed 8 years ago by
With your current code
sage: RC = RiggedConfigurations(['D', 4, 1], [[2,2],[2, 2]]) sage: all((rc.right_split()).to_tensor_product_of_kirillov_reshetikhin_tableaux() == (rc.to_tensor_product_of_kirillov_reshetikhin_tableaux()).right_split() for rc in RC) False
I think you need to use complement in the definition the RC side. Also, it might be better to rename complement
to complement_rigging
for a more descriptive name.
comment:32 Changed 8 years ago by
- Commit changed from a985081eb8bb47abb8e78546eaf7aa4638eddc77 to 51c8ba25219b7edf6c3fa69bd5cce931a12c799e
comment:33 follow-up: ↓ 34 Changed 8 years ago by
- Commit changed from 51c8ba25219b7edf6c3fa69bd5cce931a12c799e to 013737b07b3e0cb0edfc970bc9734035a7b7df08
Branch pushed to git repo; I updated commit sha1. New commits:
013737b | Added right_box method for symmetry.
|
comment:34 in reply to: ↑ 33 Changed 8 years ago by
Hi Travis,
Thanks for the changes. I get the following failure when trying to play with the code
sage: KRT = crystals.TensorProductOfKirillovReshetikhinTableaux(['D',4,1], [[2,2], [1,2]]) sage: all(b.to_rigged_configuration().lusztig_involution() == b.lusztig_involution().to_rigged_configuration() for b in KRT) False
Anne
comment:35 Changed 8 years ago by
- Commit changed from 013737b07b3e0cb0edfc970bc9734035a7b7df08 to 1e15993eed4b02fed79649aca88f6a6a6d7d843b
Branch pushed to git repo; I updated commit sha1. New commits:
1e15993 | Removed lusztig_involution and right_box.
|
comment:36 follow-up: ↓ 37 Changed 8 years ago by
Hey Anne,
I've removed the lusztig_involution()
and right_box()
methods for rigged configurations as per our discussion.
comment:37 in reply to: ↑ 36 Changed 8 years ago by
- Status changed from needs_review to positive_review
Ok, looks good now!
Anne
comment:38 Changed 8 years ago by
- Branch changed from public/combinat/rigged_configurations/methods-15560 to 1e15993eed4b02fed79649aca88f6a6a6d7d843b
- Resolution set to fixed
- Status changed from positive_review to closed
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
Added methods to RC's.
Merge branch 'public/combinat/rigged_configurations/bijections-13872' into public/combinat/rigged_configurations/improvements
Reorded all.py to match original (so fewer changes).
Fixed minor typo in cobminat/crystals/letters.pyx.
Added deprecatd classes back with warnings.
Merge branch 'master' into public/combinat/rigged_configurations/bijections-13872
[FIXUP] 5.13.beta5: update git specific files
5.13.beta5
5.13.beta5
some edits to docs