Skip to content
This repository has been archived by the owner on Jan 30, 2023. It is now read-only.

Commit

Permalink
Fixing broken links and other misc cleanup.
Browse files Browse the repository at this point in the history
  • Loading branch information
Travis Scrimshaw committed Mar 21, 2014
1 parent 78489a6 commit 968f9f6
Show file tree
Hide file tree
Showing 20 changed files with 251 additions and 140 deletions.
48 changes: 31 additions & 17 deletions src/doc/en/reference/combinat/crystals.rst
Original file line number Diff line number Diff line change
@@ -1,24 +1,38 @@
Crystals
========

Catalogs
--------

.. toctree::
:maxdepth: 2

sage/combinat/crystals/catalog
sage/combinat/crystals/catalog_elementary_crystals
sage/combinat/crystals/catalog_infinity_crystals
sage/combinat/crystals/catalog_kirillov_reshetikhin

Crystal objects
---------------

.. toctree::
:maxdepth: 2

../sage/combinat/crystals/affine
../sage/combinat/crystals/affine_factorization
../sage/combinat/crystals/crystals
../sage/combinat/crystals/direct_sum
../sage/combinat/crystals/letters
../sage/combinat/crystals/elementary_crystals
../sage/combinat/crystals/fast_crystals
../sage/combinat/crystals/highest_weight_crystals
../sage/combinat/crystals/kirillov_reshetikhin
../sage/combinat/crystals/kyoto_path_model
../sage/combinat/crystals/littelmann_path
../sage/combinat/crystals/alcove_path
../sage/combinat/crystals/spins
../sage/combinat/crystals/tensor_product
../sage/combinat/crystals/generalized_young_walls
../sage/combinat/crystals/infinity_crystals
../sage/combinat/crystals/monomial_crystals
sage/combinat/crystals/affine
sage/combinat/crystals/affine_factorization
sage/combinat/crystals/crystals
sage/combinat/crystals/direct_sum
sage/combinat/crystals/letters
sage/combinat/crystals/elementary_crystals
sage/combinat/crystals/fast_crystals
sage/combinat/crystals/highest_weight_crystals
sage/combinat/crystals/kirillov_reshetikhin
sage/combinat/crystals/kyoto_path_model
sage/combinat/crystals/littelmann_path
sage/combinat/crystals/alcove_path
sage/combinat/crystals/spins
sage/combinat/crystals/tensor_product
sage/combinat/crystals/generalized_young_walls
sage/combinat/crystals/infinity_crystals
sage/combinat/crystals/monomial_crystals

133 changes: 86 additions & 47 deletions src/sage/combinat/crystals/affine.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,20 +22,22 @@

class AffineCrystalFromClassical(UniqueRepresentation, Parent):
r"""
This abstract class can be used for affine crystals that are constructed from a classical crystal.
The zero arrows can be implemented using different methods (for example using a Dynkin diagram
automorphisms or virtual crystals).
This abstract class can be used for affine crystals that are constructed
from a classical crystal. The zero arrows can be implemented using
different methods (for example using a Dynkin diagram automorphisms or
virtual crystals).
This is a helper class, mostly used to implement Kirillov-Reshetikhin crystals
(see: :func:`sage.combinat.crystals.kirillov_reshetikhin.KirillovReshetikhin`).
This is a helper class, mostly used to implement Kirillov-Reshetikhin
crystals (see:
:func:`~sage.combinat.crystals.kirillov_reshetikhin.KirillovReshetikhinCrystal`).
For general information about crystals see :mod:`sage.combinat.crystals`.
INPUT:
- ``cartan_type`` - The Cartan type of the resulting affine crystal
- ``cartan_type`` -- the Cartan type of the resulting affine crystal
- ``classical_crystal`` - instance of a classical crystal.
- ``classical_crystal`` -- instance of a classical crystal
EXAMPLES::
Expand All @@ -60,7 +62,6 @@ class AffineCrystalFromClassical(UniqueRepresentation, Parent):
sage: [x.s(1) for x in A.list()]
[[[2]], [[1]], [[3]]]
"""

@staticmethod
def __classcall__(cls, cartan_type, *args, **options):
"""
Expand All @@ -80,8 +81,10 @@ def __classcall__(cls, cartan_type, *args, **options):

def __init__(self, cartan_type, classical_crystal, category = None):
"""
Input is an affine Cartan type 'cartan_type', a classical crystal 'classical_crystal', and automorphism and its
inverse 'automorphism' and 'inverse_automorphism', and the Dynkin node 'dynkin_node'
Input is an affine Cartan type ``cartan_type``, a classical crystal
``classical_crystal``, and automorphism and its inverse
``automorphism`` and ``inverse_automorphism``, and the Dynkin node
``dynkin_node``.
EXAMPLES::
Expand All @@ -97,8 +100,10 @@ def __init__(self, cartan_type, classical_crystal, category = None):
sage: A.index_set()
(0, 1)
Note: AffineCrystalFromClassical is an abstract class, so we
can't test it directly.
.. NOTE::
:class:`~sage.combinat.crystals.affine.AffineCrystalFromClassical`
is an abstract class, so we can't test it directly.
TESTS::
Expand Down Expand Up @@ -146,7 +151,8 @@ def __iter__(self):
# should be removed once crystal defines __iter__ instead of list
def list(self):
"""
Returns the list of all crystal elements using the underlying classical crystal
Return the list of all crystal elements using the underlying
classical crystal.
EXAMPLES::
Expand All @@ -162,7 +168,8 @@ def list(self):

def lift(self, affine_elt):
"""
Lifts an affine crystal element to the corresponding classical crystal element
Lift an affine crystal element to the corresponding classical
crystal element.
EXAMPLES::
Expand All @@ -181,7 +188,8 @@ def lift(self, affine_elt):

def retract(self, classical_elt):
"""
Transforms a classical crystal element to the corresponding affine crystal element
Transform a classical crystal element to the corresponding
affine crystal element.
EXAMPLES::
Expand Down Expand Up @@ -226,7 +234,7 @@ def _element_constructor_(self, *value, **options):

def __contains__(self, x):
r"""
Checks whether x is an element of self.
Checks whether ``x`` is an element of ``self``.
EXAMPLES:
Expand All @@ -248,9 +256,9 @@ class AffineCrystalFromClassicalElement(ElementWrapper):
The elements inherit many of their methods from the classical crystal
using lift and retract.
This class is not instantiated directly but rather __call__ed from
AffineCrystalFromClassical. The syntax of this is governed by the
(classical) ``crystals.Tableaux``.
This class is not instantiated directly but rather ``__call__``-ed from
:class:`~sage.combinat.crystals.affine.AffineCrystalFromClassical`.
The syntax of this is governed by the (classical) crystal.
EXAMPLES::
Expand All @@ -263,10 +271,9 @@ class AffineCrystalFromClassicalElement(ElementWrapper):
sage: b._repr_()
'[[1]]'
"""

def classical_weight(self):
"""
Returns the classical weight corresponding to self.
Return the classical weight corresponding to ``self``.
EXAMPLES::
Expand All @@ -283,7 +290,8 @@ def classical_weight(self):

def lift(self):
"""
Lifts an affine crystal element to the corresponding classical crystal element
Lift an affine crystal element to the corresponding classical
crystal element.
EXAMPLES::
Expand All @@ -302,7 +310,7 @@ def lift(self):

def pp(self):
"""
Method for pretty printing
Method for pretty printing.
EXAMPLES::
Expand All @@ -327,7 +335,7 @@ def f0(self):

def e(self, i):
r"""
Returns the action of `e_i` on self.
Return the action of `e_i` on ``self``.
EXAMPLES::
Expand All @@ -352,7 +360,7 @@ def e(self, i):

def f(self, i):
r"""
Returns the action of `f_i` on self.
Return the action of `f_i` on ``self``.
EXAMPLES::
Expand All @@ -377,13 +385,25 @@ def f(self, i):

def epsilon0(self):
r"""
Uses `epsilon_0` from the super class, but should be implemented if a faster implementation exists.
Uses `\varepsilon_0` from the super class, but should be implemented
if a faster implementation exists.
EXAMPLES::
sage: n=2
sage: C=crystals.Tableaux(['A',n],shape=[1])
sage: pr = attrcall("promotion")
sage: pr_inverse = attrcall("promotion_inverse")
sage: A=crystals.AffineFromClassicalAndPromotion(['A',n,1],C,pr,pr_inverse,1)
sage: [x.epsilon0 for x in A.list()]
[1, 0, 0]
"""
return super(AffineCrystalFromClassicalElement, self).epsilon(0)

def epsilon(self, i):
"""
Returns the maximal time the crystal operator `e_i` can be applied to self.
Return the maximal time the crystal operator `e_i`
can be applied to ``self``.
EXAMPLES::
Expand All @@ -404,7 +424,18 @@ def epsilon(self, i):

def phi0(self):
r"""
Uses `phi_0` from the super class, but should be implemented if a faster implementation exists.
Uses `\varphi_0` from the super class, but should be implemented
if a faster implementation exists.
EXAMPLES::
sage: n=2
sage: C=crystals.Tableaux(['A',n],shape=[1])
sage: pr = attrcall("promotion")
sage: pr_inverse = attrcall("promotion_inverse")
sage: A=crystals.AffineFromClassicalAndPromotion(['A',n,1],C,pr,pr_inverse,1)
sage: [x.phi0() for x in A.list()]
[0, 0, 1]
"""
return super(AffineCrystalFromClassicalElement, self).phi(0)

Expand All @@ -431,9 +462,10 @@ def phi(self, i):

def __lt__(self, other):
"""
Non elements of the crystal are incomparable with elements of the crystal
(or should it return NotImplemented?). Elements of this crystal are compared
using the comparison in the underlying classical crystal.
Non elements of the crystal are incomparable with elements of the
crystal (or should it return ``NotImplemented``?). Elements of this
crystal are compared using the comparison in the underlying
classical crystal.
EXAMPLES::
Expand Down Expand Up @@ -465,15 +497,15 @@ class AffineCrystalFromClassicalAndPromotion(AffineCrystalFromClassical):
INPUT:
- ``cartan_type`` - The Cartan type of the resulting affine crystal
- ``cartan_type`` -- the Cartan type of the resulting affine crystal
- ``classical_crystal`` - instance of a classical crystal.
- ``classical_crystal`` -- instance of a classical crystal
- ``automorphism, inverse_automorphism`` - A function on the
elements of the classical_crystal
- ``automorphism, inverse_automorphism`` -- a function on the
elements of the ``classical_crystal``
- ``dynkin_node`` - Integer specifying the classical node in the
image of the zero node under the automorphism sigma.
- ``dynkin_node`` -- an integer specifying the classical node in the
image of the zero node under the automorphism sigma
EXAMPLES::
Expand Down Expand Up @@ -501,8 +533,10 @@ class AffineCrystalFromClassicalAndPromotion(AffineCrystalFromClassical):

def __init__(self, cartan_type, classical_crystal, p_automorphism, p_inverse_automorphism, dynkin_node):
"""
Input is an affine Cartan type 'cartan_type', a classical crystal 'classical_crystal', and automorphism and its
inverse 'automorphism' and 'inverse_automorphism', and the Dynkin node 'dynkin_node'
Input is an affine Cartan type ``cartan_type``, a classical crystal
``classical_crystal``, and promotion automorphism and its inverse
``p_automorphism`` and ``p_inverse_automorphism``, and the Dynkin
node ``dynkin_node``.
EXAMPLES::
Expand All @@ -529,7 +563,8 @@ def __init__(self, cartan_type, classical_crystal, p_automorphism, p_inverse_aut

def automorphism(self, x):
"""
Gives the analogue of the affine Dynkin diagram automorphism on the level of crystals
Give the analogue of the affine Dynkin diagram automorphism on
the level of crystals.
EXAMPLES::
Expand All @@ -546,7 +581,8 @@ def automorphism(self, x):

def inverse_automorphism(self, x):
"""
Gives the analogue of the inverse of the affine Dynkin diagram automorphism on the level of crystals
Give the analogue of the inverse of the affine Dynkin diagram
automorphism on the level of crystals.
EXAMPLES::
Expand All @@ -564,15 +600,17 @@ def inverse_automorphism(self, x):
class AffineCrystalFromClassicalAndPromotionElement(AffineCrystalFromClassicalElement):
r"""
Elements of crystals that are constructed from a classical crystal
and a Dynkin diagram automorphism. In type A, the automorphism is
and a Dynkin diagram automorphism. In type `A`, the automorphism is
the promotion operation on tableaux.
This class is not instantiated directly but rather __call__ed from
crystals.AffineFromClassicalAndPromotion. The syntax of this is governed by the
(classical) ``crystals.Tableaux``.
This class is not instantiated directly but rather ``__call__``-ed from
:class:`~sage.combinat.crystals.affine.AffineCrystalFromClassicalAndPromotion`.
The syntax of this is governed by the (classical) crystal.
Since this class inherits from AffineClassicalFromClassicalElement, the methods
that need to be implemented are e0, f0 and possibly epsilon0 and phi0 if more efficient
Since this class inherits from
:class:`~sage.combinat.crystals.affine.AffineCrystalFromClassicalElement`,
the methods that need to be implemented are :meth:`e0`, :meth:`f0` and
possibly :meth:`epsilon0` and :meth:`phi0` if more efficient
algorithms exist.
EXAMPLES::
Expand Down Expand Up @@ -666,3 +704,4 @@ def phi0(self):
return x.lift().phi(self.parent().dynkin_node)

AffineCrystalFromClassicalAndPromotion.Element = AffineCrystalFromClassicalAndPromotionElement

6 changes: 3 additions & 3 deletions src/sage/combinat/crystals/catalog.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
"""
Catalog of Crystals
This is a catalog of crystals that are currently in Sage.
This is a catalog of crystals that are currently in Sage:
* :class:`Letters <sage.combinat.crystals.letters.CrystalOfLetters>`
* :class:`Tableaux <sage.combinat.crystals.tensor_product.CrystalOfTableaux>`
* :class:`HighestWeight <sage.combinat.crystals.highest_weight_crystals.HighestWeight>`
* :func:`HighestWeight <sage.combinat.crystals.highest_weight_crystals.HighestWeightCrystal>`
* :class:`NakajimaMonomials <sage.combinat.crystals.monomial_crystals.CrystalOfNakajimaMonomials>`
* :class:`GeneralizedYoungWalls <sage.combinat.crystals.generalized_young_walls.CrystalOfGeneralizedYoungWalls>`
* :class:`KyotoPathModel <sage.combinat.crystals.kyoto_path_model.KyotoPathModel>`
Expand All @@ -23,7 +23,7 @@
Subcatalogs:
* :mod:`Kirillov-Reshetihkin crystals <sage.combinat.crystals.catalog_kirillov_resetikhin>`
* :mod:`Kirillov-Reshetihkin crystals <sage.combinat.crystals.catalog_kirillov_reshetikhin>`
* `B(\infty)` :mod:`(infinity) crystals <sage.combinat.crystals.catalog_infinity_crystals>`
* :mod:`Elementary crystals <sage.combinat.crystals.catalog_elementary_crystals>`
"""
Expand Down
Loading

0 comments on commit 968f9f6

Please sign in to comment.