# Bijection classes for type $$B_n^{(1)}$$#

Part of the (internal) classes which runs the bijection between rigged configurations and KR tableaux of type $$B_n^{(1)}$$.

AUTHORS:

• Travis Scrimshaw (2012-12-21): Initial version

class sage.combinat.rigged_configurations.bij_type_B.KRTToRCBijectionTypeB(tp_krt)[source]#

Specific implementation of the bijection from KR tableaux to rigged configurations for type $$B_n^{(1)}$$.

next_state(val)[source]#

Build the next state for type $$B_n^{(1)}$$.

other_outcome(rc, pos_val, width_n)[source]#

Do the other case $$(QS)$$ possibility.

This arises from the ambiguity when we found a singular string at the max width in $$\nu^{(n)}$$. We had first attempted case $$(S)$$, and if that resulted in an invalid rigged configuration, we now finish the bijection using case $$(QS)$$.

EXAMPLES:

sage: RC = RiggedConfigurations(['B',3,1], [[2,1],[1,2]])
sage: rc = RC(partition_list=[[2,1], [2,1,1], [5,1]])
sage: t = rc.to_tensor_product_of_kirillov_reshetikhin_tableaux()
sage: t.to_rigged_configuration() == rc # indirect doctest
True

>>> from sage.all import *
>>> RC = RiggedConfigurations(['B',Integer(3),Integer(1)], [[Integer(2),Integer(1)],[Integer(1),Integer(2)]])
>>> rc = RC(partition_list=[[Integer(2),Integer(1)], [Integer(2),Integer(1),Integer(1)], [Integer(5),Integer(1)]])
>>> t = rc.to_tensor_product_of_kirillov_reshetikhin_tableaux()
>>> t.to_rigged_configuration() == rc # indirect doctest
True

run(verbose=False)[source]#

Run the bijection from a tensor product of KR tableaux to a rigged configuration.

INPUT:

• tp_krt – A tensor product of KR tableaux

• verbose – (Default: False) Display each step in the bijection

EXAMPLES:

sage: from sage.combinat.rigged_configurations.bij_type_B import KRTToRCBijectionTypeB
sage: KRT = crystals.TensorProductOfKirillovReshetikhinTableaux(['B', 3, 1], [[2, 1]])
sage: KRTToRCBijectionTypeB(KRT(pathlist=[[0,3]])).run()

0[ ]0

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

0[]0

sage: KRT = crystals.TensorProductOfKirillovReshetikhinTableaux(['B', 3, 1], [[3, 1]])
sage: KRTToRCBijectionTypeB(KRT(pathlist=[[-2,3,1]])).run()

(/)

-1[ ]-1

0[]0

>>> from sage.all import *
>>> from sage.combinat.rigged_configurations.bij_type_B import KRTToRCBijectionTypeB
>>> KRT = crystals.TensorProductOfKirillovReshetikhinTableaux(['B', Integer(3), Integer(1)], [[Integer(2), Integer(1)]])
>>> KRTToRCBijectionTypeB(KRT(pathlist=[[Integer(0),Integer(3)]])).run()
<BLANKLINE>
0[ ]0
<BLANKLINE>
-1[ ]-1
-1[ ]-1
<BLANKLINE>
0[]0
<BLANKLINE>
>>> KRT = crystals.TensorProductOfKirillovReshetikhinTableaux(['B', Integer(3), Integer(1)], [[Integer(3), Integer(1)]])
>>> KRTToRCBijectionTypeB(KRT(pathlist=[[-Integer(2),Integer(3),Integer(1)]])).run()
<BLANKLINE>
(/)
<BLANKLINE>
-1[ ]-1
<BLANKLINE>
0[]0
<BLANKLINE>

class sage.combinat.rigged_configurations.bij_type_B.RCToKRTBijectionTypeB(RC_element)[source]#

Specific implementation of the bijection from rigged configurations to tensor products of KR tableaux for type $$B_n^{(1)}$$.

next_state(height)[source]#

Build the next state for type $$B_n^{(1)}$$.

run(verbose=False, build_graph=False)[source]#

Run the bijection from rigged configurations to tensor product of KR tableaux for type $$B_n^{(1)}$$.

INPUT:

• verbose – (default: False) display each step in the bijection

• build_graph – (default: False) build the graph of each step of the bijection

EXAMPLES:

sage: RC = RiggedConfigurations(['B', 3, 1], [[2, 1]])
sage: from sage.combinat.rigged_configurations.bij_type_B import RCToKRTBijectionTypeB
sage: RCToKRTBijectionTypeB(RC(partition_list=[[1],[1,1],[1]])).run()
[[3], [0]]

sage: RC = RiggedConfigurations(['B', 3, 1], [[3, 1]])
sage: x = RC(partition_list=[[],[1],[1]])
sage: RCToKRTBijectionTypeB(x).run()
[[1], [3], [-2]]
sage: bij = RCToKRTBijectionTypeB(x)
sage: bij.run(build_graph=True)
[[1], [3], [-2]]
sage: bij._graph
Digraph on 6 vertices

>>> from sage.all import *
>>> RC = RiggedConfigurations(['B', Integer(3), Integer(1)], [[Integer(2), Integer(1)]])
>>> from sage.combinat.rigged_configurations.bij_type_B import RCToKRTBijectionTypeB
>>> RCToKRTBijectionTypeB(RC(partition_list=[[Integer(1)],[Integer(1),Integer(1)],[Integer(1)]])).run()
[[3], [0]]

>>> RC = RiggedConfigurations(['B', Integer(3), Integer(1)], [[Integer(3), Integer(1)]])
>>> x = RC(partition_list=[[],[Integer(1)],[Integer(1)]])
>>> RCToKRTBijectionTypeB(x).run()
[[1], [3], [-2]]
>>> bij = RCToKRTBijectionTypeB(x)
>>> bij.run(build_graph=True)
[[1], [3], [-2]]
>>> bij._graph
Digraph on 6 vertices