Opened 11 years ago

Closed 11 years ago

Last modified 11 years ago

#10632 closed enhancement (fixed)

Implementation of spin tableaux crystals and additional nonexceptional Kirillov-Reshetikhin crystals

Reported by: aschilling Owned by: sage-combinat
Priority: major Milestone: sage-4.7
Component: combinatorics Keywords: crystals
Cc: sage-combinat Merged in: sage-4.7.alpha3
Authors: Anne Schilling Reviewers: Daniel Bump, Nicolas M. Thiéry
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by aschilling)

#trac 10632

This patch adds the following new features for crystals:

  • CrystalOfTableaux? now also accepts half-integer shapes for spin tableaux for type B_n and D_n
  • Spin crystals have a new method _repr_ using the signature representation and a new latex method
  • New latex method for Crystal category using digraph
  • New set_latex_options in the digraph method for crystals
  • Moved method to_highest_weight from HighestWeightCrystals? to Crystals (since it is possible to specify an index_set); appropriate exceptions are raised when the crystal is not highest weight.
  • Shortcut for 3d plotting of crystals
  • New alternative implementation of KR crystals of type A_{2n}^{(2)} dual by using the B_n classical decomposition
  • Implementation of KR crystals B^{n,s} of types B_n^{(1)}, C_n^{(1)}, D_{n+1}^{(2)}
  • Added a comparison method to Kirillov-Reshetikhin crystals (in order to be able to use digraph methods for tensor products of KR crystals)
  • removes the dual method for CartanType? BC (since for crystals it is more natural to view its dual not as a relabeled diagram and to ensure that the method classical correctly gives type B and C)

Should be merged simultaneously with #10485.

Depends on #10723

Depends on #10485

Apply trac_10632-kr-improvments-as.patch

Ignore the pickle jar. An earlier version of the patch broke some existing pickles but the current one does not.

Attachments (2)

pickle_jar.tar.bz2 (592.3 KB) - added by aschilling 11 years ago.
trac_10632-kr-improvments-as.patch (106.9 KB) - added by aschilling 11 years ago.

Download all attachments as: .zip

Change History (32)

comment:1 Changed 11 years ago by aschilling

  • Description modified (diff)
  • Status changed from new to needs_review
  • Summary changed from Implementation of remaining nonexceptional Kirillov-Reshetikhin crystals to Implementation of spin tableaux crystals and additional nonexceptional Kirillov-Reshetikhin crystals

comment:2 Changed 11 years ago by aschilling

  • Description modified (diff)

comment:3 Changed 11 years ago by aschilling

  • Description modified (diff)

comment:4 Changed 11 years ago by aschilling

  • Description modified (diff)
  • Reviewers set to Dan Bump

comment:5 Changed 11 years ago by aschilling

  • Description modified (diff)

comment:6 Changed 11 years ago by aschilling

  • Description modified (diff)

Changed 11 years ago by aschilling

comment:7 Changed 11 years ago by aschilling

  • Description modified (diff)
  • Reviewers changed from Dan Bump to Dan Bump, Nicolas M. Thiery

comment:8 Changed 11 years ago by aschilling

The new patch includes (folded) Nicolas' review patch, which makes CrystalOfTableaux? a class again.

comment:9 follow-up: Changed 11 years ago by aschilling

  • Description modified (diff)

Please disregard the update pickle_jar as the new revised patch does not seem to break any old pickles.

comment:10 in reply to: ↑ 9 Changed 11 years ago by nthiery

Replying to aschilling:

Please disregard the update pickle_jar as the new revised patch does not seem to break any old pickles.

Ah cool. That's a nice side effect.

comment:11 Changed 11 years ago by aschilling

  • Description modified (diff)

comment:12 Changed 11 years ago by aschilling

  • Description modified (diff)

comment:13 Changed 11 years ago by aschilling

  • Description modified (diff)

comment:14 Changed 11 years ago by aschilling

  • Description modified (diff)

comment:15 Changed 11 years ago by aschilling

  • Description modified (diff)

comment:16 Changed 11 years ago by bump

  • Status changed from needs_review to positive_review

This patch substantially improves the support for classical and affine crystal in sage. For classical crystals, it makes it easier to construct crystals of half integral weight in types B and D. For affine crystals, it largely completes the support for Kirillov-Reshetikhin crystals by adding the previously unimplemented cases. This is an important enhancement.

This patch must be merged simultaneously with #10485 and after #10723. If all three patches are merged, all doctests pass with sage-4.7.alpha1. The patches have been extensively reviewed in sage-combinat-devel and appropriately revised.

comment:17 Changed 11 years ago by bump

  • Description modified (diff)

comment:18 Changed 11 years ago by aschilling

  • Description modified (diff)

comment:19 Changed 11 years ago by jdemeyer

  • Merged in set to sage-4.7.alpha2
  • Resolution set to fixed
  • Status changed from positive_review to closed

comment:20 Changed 11 years ago by jdemeyer

  • Merged in sage-4.7.alpha2 deleted
  • Resolution fixed deleted
  • Status changed from closed to new

In the doctests, you should specify why a test is "#optional". You should write "# optional - <packagename>" instead.

comment:21 Changed 11 years ago by jdemeyer

  • Status changed from new to needs_work

comment:22 Changed 11 years ago by jdemeyer

Some of the added tests take a very long time (more than 1 minute). Can you justify that it is really important that they are included?

comment:23 follow-up: Changed 11 years ago by jdemeyer

Also, there are some "# long time" tests which in reality take less than 1 second on sage.math.washington.edu, so there is no reason for the "# long time".

comment:24 in reply to: ↑ 23 ; follow-up: Changed 11 years ago by aschilling

Replying to jdemeyer:

Also, there are some "# long time" tests which in reality take less than 1 second on sage.math.washington.edu, so there is no reason for the "# long time".

Could you please specify for which of the tests I can remove # long time and for which they should be added? When I run the tests on my machine without longtest, there are non that take more than 1 minute.

Thank you,

Anne

comment:25 in reply to: ↑ 24 Changed 11 years ago by jdemeyer

The tests on lines 197 and 199 of sage/combinat/crystals/kirillov_reshetikhin.py take more than a minute. Preferably these tests should be changed, or there should be a justification of why they are really needed. If none of this can be done, just remove those tests.

comment:26 Changed 11 years ago by aschilling

  • Status changed from needs_work to positive_review

The raised issues about the specification of optional packages and long tests have been addressed in the revised patch. I set the flag again to positive review.

Anne

comment:27 Changed 11 years ago by jdemeyer

  • Status changed from positive_review to needs_work

The syntax for specifying optional packages is

# optional - pkg1 pkg2

no "requires" or "and" should be there. See http://sagemath.org/doc/developer/conventions.html#documentation-strings

Also, there are still various places where there is simply an "#optional" without specification.

Changed 11 years ago by aschilling

comment:28 Changed 11 years ago by aschilling

  • Status changed from needs_work to positive_review

This is fixed now.

Anne

comment:29 Changed 11 years ago by jdemeyer

  • Merged in set to sage-4.7.alpha3
  • Resolution set to fixed
  • Status changed from positive_review to closed

comment:30 Changed 11 years ago by jdemeyer

  • Reviewers changed from Dan Bump, Nicolas M. Thiery to Daniel Bump, Nicolas M. Thiéry
Note: See TracTickets for help on using tickets.