#18453: Infinite affine crystals should use extended weight lattice
-------------------------------------+-------------------------------------
       Reporter:  bump               |        Owner:
           Type:  defect             |       Status:  new
       Priority:  major              |    Milestone:  sage-6.8
      Component:  combinatorics      |   Resolution:
       Keywords:  crystals           |    Merged in:
        Authors:  Ben Salisbury,     |    Reviewers:
  Anne Schilling, Travis Scrimshaw   |  Work issues:
Report Upstream:  N/A                |       Commit:
         Branch:                     |  9225af71b4dbcfa6c748816c452e9824dadc3651
  public/crystal/18453               |     Stopgaps:
   Dependencies:                     |
-------------------------------------+-------------------------------------

Comment (by tscrim):

 I've fixed the rigged configurations

 - `CrystalOfAlcovePaths` fails outright:
 {{{
 sage: C = crystals.AlcovePaths(La[0])
 sage: C
 Highest weight crystal of alcove paths of type ['A', 1, 1] and weight
 Lambda[0]
 sage: C.module_generators[0].f_string([0,1])
 ((alpha[0], 0), (2*alpha[0] + alpha[1], 1))
 sage: _.weight()
 TypeError
 }}}
 - We should also explicitly implement a `weight_lattice_realization` for
 `DirectSumOfCrystals` similar to what we did for tensor products.
 - We have to decide what we want to do with `KyotoPathModel` and if we
 want to consider it as a U,,q,,'-crystal or a U,,q,,-crystal. I think the
 former is what we should do considering it is a tensor product of
 U,,q,,'-crystals. In any case, we will probably have to do something
 special for this.
 - We have a problem with not distinguishing between elements of the
 extended and non-extended affine weight lattices. In particular, this
 causes an issue with creating the highest weight crystals with the same
 weight but you accidentally first create it in the non-extended affine
 weight lattice.
 {{{
 sage: LaE =
 RootSystem(['A',2,1]).weight_space(extended=True).fundamental_weights()sage:
 La = RootSystem(['A',2,1]).weight_space().fundamental_weights()
 sage: B = crystals.LSPaths(La[0])
 sage: B2 = crystals.LSPaths(LaE[0])
 sage: B is B2
 True
 }}}
 I had changed `crystals.RiggedConfigurations` with inadvertantly triggered
 this. I don't think we want to enforce that the user must consider weights
 in the extended affine weight lattice as it is a valid restriction from
 U,,q,, to U,,q,,' (in particular, the Kyoto path model). IMO the solution
 would be for `__classcall__`/`__classcall_private__` to pass the weight
 lattice realization with the default to use the parent of the weight
 given. I feel this gives the user added flexibility for where they want
 the weights to be printed. Although part of me also thinks there should be
 some kind of option which could be changed in the method-
 input/classes/globally which specifies the weight lattice realization.

 I will be on skype all day today if you want to talk.

--
Ticket URL: <http://trac.sagemath.org/ticket/18453#comment:14>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to