Opened 7 years ago

Closed 7 years ago

#14252 closed enhancement (fixed)

Implementation of quantum LS paths

Reported by: aschilling Owned by: sage-combinat
Priority: major Milestone: sage-5.10
Component: combinatorics Keywords: crystals, KR crystals
Cc: sage-combinat Merged in: sage-5.10.beta0
Authors: Anne Schilling Reviewers: Mark Shimozono, Travis Scrimshaw
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: #14192 Stopgaps:

Description (last modified by aschilling)

This patch cleans up the interface of CrystalOfLSPaths. In particular, the input is now a weight, whereas before it took a cartan type and a list of coefficients. The class call function still allows this input format.

In addition, a new implementation of one-column Kirillov-Reshetikhin crystals is given in terms of level-zero CrystalOfLSPaths together with the energy function and one-dimensional configuration sum.

Attachments (1)

trac_14252-KRLS-as.patch (41.8 KB) - added by aschilling 7 years ago.

Download all attachments as: .zip

Change History (22)

comment:1 Changed 7 years ago by aschilling

  • Component changed from PLEASE CHANGE to combinatorics
  • Owner changed from tbd to sage-combinat

comment:2 Changed 7 years ago by aschilling

  • Description modified (diff)

comment:3 Changed 7 years ago by aschilling

  • Status changed from new to needs_review

comment:4 follow-up: Changed 7 years ago by mshimo

I propose the implementation of the crystal class

CrystalOfProjectedLevelZeroLSPaths

that takes as input an affine Cartan type and an element of its finite weight space. The result should be paths in the finite weight space, together with a function that can recover the head and tail energy. These crystals should know that they are finite as well.

KirillovReshetikhinCrystalFromLSPaths can be an instance of it.

One could doctest CrystalOfProjectedLevelZeroLSPaths by isomorphism with tensor products of its single-column versions.

Another interesting function would be to write the Naito-Sagaki lift from KirillovReshetikhinCrystalFromLSPaths to the level zero LS paths living in the level zero affine weight lattice (with the null root). Perhaps that is the way the energy function should be implemented.

comment:5 in reply to: ↑ 4 ; follow-up: Changed 7 years ago by aschilling

Hi Mark,

Thanks for the comments! The CrystalOfProjectedLevelZeroLSPaths are now implemented and I added tests to compare with tensor products of KR crystals. The energy functions are still missing (but can be added).

Anne

comment:6 Changed 7 years ago by aschilling

  • Description modified (diff)

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

Hi Mark,

The energy function and one-dimensional configuration sums are now implemented. Could you please review the patch?

Thanks,

Anne

comment:8 follow-up: Changed 7 years ago by aschilling

  • Dependencies set to #14192

comment:9 in reply to: ↑ 8 ; follow-up: Changed 7 years ago by aschilling

Hi Travis,

I made the changes we discussed by e-mail.

Anne

comment:10 in reply to: ↑ 9 Changed 7 years ago by aschilling

Added a sanity check for the user input!

Anne

comment:11 follow-up: Changed 7 years ago by tscrim

Three more small things:

  • On lines 50-52 of littelmann_paths.py, the extra lines to the inputs list need to be de-indented by 2 spaces (to line up with the first non-whitespace character of the item).
  • On line 813, could you use the (relatively new) arXiv linking: :arXiv:`1211.6019`
  • Should KirillovReshetikhinCrystalFromLSPaths be imported into the global namespace?

Other than those things, this is a positive review.

Best,
Travis

comment:12 Changed 7 years ago by aschilling

  • Reviewers changed from Mark Shimozono to Mark Shimozono, Travis Scrimshaw

comment:13 in reply to: ↑ 11 Changed 7 years ago by aschilling

Three more small things:

  • On lines 50-52 of littelmann_paths.py, the extra lines to the inputs list need to be de-indented by 2 spaces (to line up with the first non-whitespace character of the item).

Done.

  • On line 813, could you use the (relatively new) arXiv linking: :arXiv:`1211.6019`

Done. I also changed the two things requested by e-mail.

  • Should KirillovReshetikhinCrystalFromLSPaths be imported into the global namespace?

Since the eventual aim is to link to this class from KirillovReshetikhinCrystal? itself, I think it is better to leave it as is and not import this into the namespace for right now.

Anne

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

  • Status changed from needs_review to positive_review

Okay. Looks good to me now. Thank you.

Travis

Last edited 7 years ago by tscrim (previous) (diff)

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

Thanks Travis!

comment:16 Changed 7 years ago by jdemeyer

  • Milestone changed from sage-5.9 to sage-5.10

comment:17 follow-up: Changed 7 years ago by jdemeyer

  • Status changed from positive_review to needs_work
sage -t devel/sage/sage/categories/weyl_groups.py
**********************************************************************
File "devel/sage/sage/categories/weyl_groups.py", line 118, in sage.categories.weyl_groups.WeylGroups.ParentMethods.quantum_bruhat_graph
Failed example:
    g = W.quantum_bruhat_graph([1,3])
Exception raised:
    Traceback (most recent call last):
      File "/mazur/release/merger/sage-5.10.beta0/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 466, in _run
        self.execute(example, compiled, test.globs)
      File "/mazur/release/merger/sage-5.10.beta0/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 825, in execute
        exec compiled in globs
      File "<doctest sage.categories.weyl_groups.WeylGroups.ParentMethods.quantum_bruhat_graph[1]>", line 1, in <module>
        g = W.quantum_bruhat_graph([Integer(1),Integer(3)])
      File "cachefunc.pyx", line 1460, in sage.misc.cachefunc.CachedMethodCaller.__call__ (sage/misc/cachefunc.c:7292)
    TypeError: unhashable type: 'list'
**********************************************************************

Changed 7 years ago by aschilling

comment:18 in reply to: ↑ 17 Changed 7 years ago by aschilling

Fixed the failing doctests. The quantum Bruhat graph now takes a tuple as input.

Anne

comment:19 Changed 7 years ago by aschilling

  • Status changed from needs_work to needs_review

comment:20 Changed 7 years ago by tscrim

  • Status changed from needs_review to positive_review

Changes also look good to me as well.

comment:21 Changed 7 years ago by jdemeyer

  • Merged in set to sage-5.10.beta0
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.