Crystal of Rigged Configurations

AUTHORS:

  • Travis Scrimshaw (2010-09-26): Initial version

We only consider the highest weight crystal structure, not the Kirillov-Reshetikhin structure, and we extend this to symmetrizable types.

class sage.combinat.rigged_configurations.rc_crystal.CrystalOfNonSimplyLacedRC(vct, wt, WLR)

Bases: sage.combinat.rigged_configurations.rc_crystal.CrystalOfRiggedConfigurations

Highest weight crystal of rigged configurations in non-simply-laced type.

Element

alias of RCHWNonSimplyLacedElement

from_virtual(vrc)

Convert vrc in the virtual crystal into a rigged configuration of the original Cartan type.

INPUT:

  • vrc – a virtual rigged configuration

EXAMPLES:

sage: La = RootSystem(['C', 3]).weight_lattice().fundamental_weights()
sage: vct = CartanType(['C', 3]).as_folding()
sage: RC = crystals.RiggedConfigurations(vct, La[2])
sage: elt = RC(partition_list=[[0], [1], [1]])
sage: elt == RC.from_virtual(RC.to_virtual(elt))
True
to_virtual(rc)

Convert rc into a rigged configuration in the virtual crystal.

INPUT:

  • rc – a rigged configuration element

EXAMPLES:

sage: La = RootSystem(['C', 3]).weight_lattice().fundamental_weights()
sage: vct = CartanType(['C', 3]).as_folding()
sage: RC = crystals.RiggedConfigurations(vct, La[2])
sage: elt = RC(partition_list=[[], [1], [1]]); elt

(/)

0[ ]0

-1[ ]-1

sage: RC.to_virtual(elt)

(/)

0[ ]0

-2[ ][ ]-2

0[ ]0

(/)
virtual()

Return the corresponding virtual crystal.

EXAMPLES:

sage: La = RootSystem(['C', 2, 1]).weight_lattice().fundamental_weights()
sage: vct = CartanType(['C', 2, 1]).as_folding()
sage: RC = crystals.RiggedConfigurations(vct, La[0])
sage: RC
Crystal of rigged configurations of type ['C', 2, 1] and weight Lambda[0]
sage: RC.virtual
Crystal of rigged configurations of type ['A', 3, 1] and weight 2*Lambda[0]
class sage.combinat.rigged_configurations.rc_crystal.CrystalOfRiggedConfigurations(wt, WLR)

Bases: sage.structure.unique_representation.UniqueRepresentation, sage.structure.parent.Parent

A highest weight crystal of rigged configurations.

The crystal structure for finite simply-laced types is given in [CrysStructSchilling06]. These were then shown to be the crystal operators in all finite types in [SS2015], all simply-laced and a large class of foldings of simply-laced types in [SS2015II], and all symmetrizable types (uniformly) in [SS2017].

INPUT:

  • cartan_type – (optional) a Cartan type or a Cartan type given as a folding
  • wt – the highest weight vector in the weight lattice

EXAMPLES:

For simplicity, we display the rigged configurations horizontally:

sage: RiggedConfigurations.options.display='horizontal'

We start with a simply-laced finite type:

sage: La = RootSystem(['A', 2]).weight_lattice().fundamental_weights()
sage: RC = crystals.RiggedConfigurations(La[1] + La[2])
sage: mg = RC.highest_weight_vector()
sage: mg.f_string([1,2])
0[ ]0   0[ ]-1
sage: mg.f_string([1,2,2])
0[ ]0   -2[ ][ ]-2
sage: mg.f_string([1,2,2,2])
sage: mg.f_string([2,1,1,2])
-1[ ][ ]-1   -1[ ][ ]-1
sage: RC.cardinality()
8
sage: T = crystals.Tableaux(['A', 2], shape=[2,1])
sage: RC.digraph().is_isomorphic(T.digraph(), edge_labels=True)
True

We construct a non-simply-laced affine type:

sage: La = RootSystem(['C', 3]).weight_lattice().fundamental_weights()
sage: RC = crystals.RiggedConfigurations(La[2])
sage: mg = RC.highest_weight_vector()
sage: mg.f_string([2,3])
(/)   1[ ]1   -1[ ]-1
sage: T = crystals.Tableaux(['C', 3], shape=[1,1])
sage: RC.digraph().is_isomorphic(T.digraph(), edge_labels=True)
True

We can construct rigged configurations using a diagram folding of a simply-laced type. This yields an equivalent but distinct crystal:

sage: vct = CartanType(['C', 3]).as_folding()
sage: RC = crystals.RiggedConfigurations(vct, La[2])
sage: mg = RC.highest_weight_vector()
sage: mg.f_string([2,3])
(/)   0[ ]0   -1[ ]-1
sage: T = crystals.Tableaux(['C', 3], shape=[1,1])
sage: RC.digraph().is_isomorphic(T.digraph(), edge_labels=True)
True

We reset the global options:

sage: RiggedConfigurations.options._reset()

REFERENCES:

Element

alias of RCHighestWeightElement

global_options(*args, **kwds)

Deprecated: Use options() instead. See trac ticket #18555 for details.

options(*get_value, **set_value)

Sets and displays the options for rigged configurations. If no parameters are set, then the function returns a copy of the options dictionary.

The options to partitions can be accessed as the method RiggedConfigurations.options of RiggedConfigurations.

OPTIONS:

  • convention – (default: English) Sets the convention used for displaying tableaux and partitions
    • English – use the English convention
    • French – use the French convention
  • display – (default: vertical) Specifies how rigged configurations should be printed
    • horizontal – displayed horizontally
    • vertical – displayed vertically
  • element_ascii_art – (default: True) display using the repr option element_ascii_art
  • half_width_boxes_type_B – (default: True) display the last rigged partition in affine type B as half width boxes
  • notation – alternative name for convention

EXAMPLES:

sage: RC = RiggedConfigurations(['A',3,1], [[2,2],[1,1],[1,1]])
sage: elt = RC(partition_list=[[3,1], [3], [1]])
sage: elt

-3[ ][ ][ ]-3
-1[ ]-1

1[ ][ ][ ]1

-1[ ]-1

sage: RiggedConfigurations.options(display="horizontal", convention="french")
sage: elt
-1[ ]-1         1[ ][ ][ ]1   -1[ ]-1
-3[ ][ ][ ]-3

Changing the convention for rigged configurations also changes the convention option for tableaux and vice versa:

sage: T = Tableau([[1,2,3],[4,5]])
sage: T.pp()
  4  5
  1  2  3
sage: Tableaux.options.convention="english"
sage: elt
-3[ ][ ][ ]-3   1[ ][ ][ ]1   -1[ ]-1
-1[ ]-1
sage: T.pp()
  1  2  3
  4  5
sage: RiggedConfigurations.options._reset()

See GlobalOptions for more features of these options.

weight_lattice_realization()

Return the weight lattice realization used to express the weights of elements in self.

EXAMPLES:

sage: La = RootSystem(['A', 2, 1]).weight_lattice(extended=True).fundamental_weights()
sage: RC = crystals.RiggedConfigurations(La[0])
sage: RC.weight_lattice_realization()
Extended weight lattice of the Root system of type ['A', 2, 1]