#15882: Implement a catalog for crystals
-------------------------------------+-------------------------------------
       Reporter:  tscrim             |        Owner:  sage-combinat
           Type:  enhancement        |       Status:  new
       Priority:  major              |    Milestone:  sage-6.2
      Component:  combinatorics      |   Resolution:
       Keywords:  crystals catalog   |    Merged in:
        Authors:  Travis Scrimshaw   |    Reviewers:
Report Upstream:  N/A                |  Work issues:
         Branch:                     |       Commit:
  public/combinat/crystals/catalog   |  56a29b8c91230b155f45eb9b1f643b0e1caa7855
   Dependencies:                     |     Stopgaps:
-------------------------------------+-------------------------------------

Comment (by nthiery):

 Replying to [comment:3 tscrim]:
 > How about we link them all to the category? For example, currently I do
 > {{{
 > sage: crystals.Tableaux(['A',2], shape=[2,1])
 > }}}
 > Instead we make this use the category:
 > {{{
 > sage: Crystals.Tableaux(['A',2], shape=[2,1])
 > }}}
 > We should be able to do
 > {{{
 > from sage.combinat.crystals.catalog import *
 > }}}
 > in the crystals category to do this. Although doing things this way,
 > we could easily have things lost among the category methods. So I'm
 > not convinced this is the best direction to go.

 Agreed! This is why, in my attempted notation, I had put this in an
 attribute {{{Crystals.catalog}}}. But it's not super convincing
 either.

 > Also I'm somewhat of the opinion that categories should be grouped
 > together as well via `categories.Crystals` and such and not be in
 > the global namespace. Therefore leaving `crystals.*` as the only
 > entry point.

 I agree that there definitely should be far less categories in the
 global name space, and #10963 will help much in this
 direction. However, for the well known ones like Sets, Fields, Groups,
 Posets, Crystals, ... I find that the category is a natural entry
 point to explore the functionalities implemented in Sage about a given
 topic, because it has more semantic attached to it than with a mere
 module like {{{groups}}}.

 On a related matter, it would be a cool feature, when given a
 category, to recover all parents in this category. E.g.:

 {{{
     sage: affine_crystals = Crystals().Affine().implementations()
     sage: affine_crystals.K<tab>
     KirillovReshetikhinCrystal
     ...
 }}}

 Florent had implemented a proof-of-concept, recovering automatically
 the information from a database build from the Sage TestSuite's. But
 this would take some more work.

 > IDK, I'm okay with 2 entry points too...

 That will certainly do for now :-)

 Cheers,
                                  Nicolas

--
Ticket URL: <http://trac.sagemath.org/ticket/15882#comment:4>
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/groups/opt_out.

Reply via email to