Opened 8 years ago

Closed 7 years ago

#8984 closed enhancement (fixed)

Implementation of the Lenart--Postnikov alcove path crystal

Reported by: brant.c.jones Owned by: sage-combinat
Priority: major Milestone: sage-4.5.2
Component: combinatorics Keywords: combinat, crystals
Cc: sage-combinat, brant@…, rlm Merged in: sage-4.5.2.alpha0
Authors: Brant Jones Reviewers: Anne Schilling
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Description (last modified by brant.c.jones)

This is an implementation of the Lenart--Postnikov alcove path model as described in:

A combinatorial model for crystals of Kac-Moody algebras. Trans. Amer. Math. Soc. 360 (2008).

It also implements to_coroot_lattice_morphism() and associated_coroot() in root_lattice_realization.py.

Depends on #8911 (trac_8911_categorification_crystals-as.patch).

Attachments (1)

trac_8984_crystals_alcove_path_model_bj.patch (31.6 KB) - added by brant.c.jones 8 years ago.

Download all attachments as: .zip

Change History (20)

comment:1 Changed 8 years ago by brant.c.jones

  • Status changed from new to needs_review

comment:2 Changed 8 years ago by brant.c.jones

  • Description modified (diff)

comment:3 Changed 8 years ago by aschilling

Test whether Brant gets this message.

comment:4 Changed 8 years ago by brant.c.jones

  • Cc brant@… added

comment:5 Changed 8 years ago by aschilling

  • Keywords combinat crystals added
  • Status changed from needs_review to needs_work

Thank you for implementing the alcove path model by Lenart and Postnikov. This will be a useful addition to sage.

It might be useful to add a few more words about the model you implemented in the documentation of ClassicalCrystalOfAlcovePaths?. For example, you could add that these are highest weight crystals for classical types A_n, B_n, C_n, D_n and the exceptional types F_4, G_2, E_6, E_7, E_8.

Also, for the user it would be helpful to say how precisely one should enter the input data. For example, you could say

INPUT:

  • cartan_type is the Cartan type of a classical Dynkin diagram
  • highest_weight is a dominant weight as a list of coefficients of

the fundamental weights Lambda_i

It might also be good to briefly describe how the crystal elements are represented so that the user can interpret the output.

Some technical comments:

(1) In combinat/crystals/alcove_path.py, it might be safer to only import the methods/classes that you really need for:

from sage.rings.integer import * (which appears twice, so please remove one!) from sage.misc.misc import * from sage.calculus.calculus import *

(2) All methods need EXAMPLES or TESTS. Please add them to the following methods in combinat/crystals/alcove_path.py for

classcall get_initial_chain fold compare_graphs

(3) Perhaps remove the commented out lines by # in

init list

(4) Add extra line after EXAMPLES:: get_chain_from_subset

(5) Remove the commented out weight function

(6) You need TESTS or EXAMPLES to_coroot_lattice_morphism in sage/combinat/root_system/root_lattice_realization.py

Changed 8 years ago by brant.c.jones

comment:6 Changed 8 years ago by brant.c.jones

  • Status changed from needs_work to needs_review

I have implemented all of the suggestions given by the reviewer above.

Please review the new version.

comment:7 Changed 8 years ago by aschilling

  • Reviewers set to Anne Schilling
  • Status changed from needs_review to positive_review

This patch implements the Lenart-Postnikov model for highest weight crystals for finite-dimensional Lie algebras. There are extensive tests to test that this gives the same crystal graph as other models.

All tests pass with sage-4.4.2 and the sage-combinat queue applied to this patch.

comment:8 Changed 8 years ago by mhansen

  • Merged in set to sage-4.4.4.alpha1
  • Resolution set to fixed
  • Status changed from positive_review to closed

comment:9 Changed 8 years ago by mvngu

  • Milestone set to sage-4.4.4

comment:10 Changed 8 years ago by mhansen

  • Merged in sage-4.4.4.alpha1 deleted
  • Resolution fixed deleted
  • Status changed from closed to new

I had to backout this change from 4.4.4 for now. I was getting weird failures with random_element in matrix_group.py. I'm trying to figure out why this patch was causing it.

comment:11 Changed 8 years ago by mhansen

  • Status changed from new to needs_review

comment:12 follow-up: Changed 8 years ago by mhansen

  • Status changed from needs_review to positive_review

comment:13 in reply to: ↑ 12 Changed 8 years ago by aschilling

Replying to mhansen:

Hi Mike,

What is the status on this now? Do you know why there were the strange failures in random_element in matrix_group.py?

Anne

comment:14 follow-up: Changed 7 years ago by drkirkby

See #9310

comment:15 in reply to: ↑ 14 Changed 7 years ago by aschilling

Replying to drkirkby:

See #9310

Is this patch the cause of the failure in #9310 though? It was not merged into sage-4.4.4 and still the error is there.

comment:16 Changed 7 years ago by nthiery

  • Cc rlm added

Hi Robert!

Any chances to merge this patch, since it does not seem any more related to the failures than any other?

Thanks!

comment:17 Changed 7 years ago by rlm

sage-4.5 is in feature freeze mode. Nothing but essential fixes will be merged until final release. I am strongly suggesting that the next release be patches to the sage library only (other than essential spkg fixes), and tickets like these deserve to go in then. (I would have had an alpha for such tickets in the 4.5 series, but the spkg issues are already holding things up long enough.)

comment:18 Changed 7 years ago by mpatel

  • Merged in set to sage-4.5.2.alpha0

comment:19 Changed 7 years ago by mpatel

  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.