#19481: No cardinality for virtual crystals
---------------------------------+-------------------------
       Reporter:  aschilling     |        Owner:
           Type:  defect         |       Status:  new
       Priority:  major          |    Milestone:  sage-6.10
      Component:  combinatorics  |   Resolution:
       Keywords:  crystals       |    Merged in:
        Authors:                 |    Reviewers:
Report Upstream:  N/A            |  Work issues:
         Branch:                 |       Commit:
   Dependencies:                 |     Stopgaps:
---------------------------------+-------------------------

Comment (by tscrim):

 Your first issue is that it should be
 {{{#!diff
 -G = crystals.LSPaths(La[1])
 +G = crystals.LSPaths(La[1]).digraph()
 }}}
 The second is more of a problem, in that it doesn't know at present that
 it is a finite crystal. So it should error out, but with a different error
 of `NotImplementedError: unknown cardinality`. Part of it is that
 `Subcrystal` (and hence `VirtualCrystal`) should be smarter about its
 category. Another part is the desired interface (which, admittedly, is not
 the most discoverable), which sets the correct category, is:
 {{{
 sage: LaC = RootSystem(['C',2]).weight_space().fundamental_weights()
 sage: C = crystals.LSPaths(LaC[1])
 sage: A = crystals.Tableaux(['A',3], shape=[2,1,1])
 sage: phi = C.crystal_morphism(A.module_generators)
 sage: V = phi.image()
 sage: V
 Virtual crystal of The crystal of tableaux of type ['A', 3] and shape(s)
 [[2, 1, 1]] of type ['C', 2]
 sage: V.cardinality()
 4
 sage: V.category()
 Category of classical crystals
 }}}
 Yet another part is that this will have to raise an error message because
 `(Enumerated)Sets` does not want a default `cardinality` to avoid
 namespace pollution.

 ----

 I also just ran across this problem today too:
 {{{
 sage: La = RootSystem(['A',3]).weight_space().fundamental_weights()
 sage: LaC = RootSystem(['C',2]).weight_space().fundamental_weights()
 sage: B = crystals.AlcovePaths(La[1]+La[3])
 sage: V = crystals.AlcovePaths(LaC[1])
 sage: phi = V.crystal_morphism(B.module_generators)
 ---------------------------------------------------------------------------
 ValueError                                Traceback (most recent call
 last)
 ...
 ValueError: (1, -1) is not in the coroot space
 }}}
 This comes from the fact that the weights of the alcove path model do not
 lie in the weight lattice realization.

 ----

 Fixes will follow shortly.

--
Ticket URL: <http://trac.sagemath.org/ticket/19481#comment:1>
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