Bijection classes for type D_n^{(1)}

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

AUTHORS:

  • Travis Scrimshaw (2011-04-15): Initial version

TESTS:

sage: KRT = crystals.TensorProductOfKirillovReshetikhinTableaux(['D', 4, 1], [[2,1]])
sage: from sage.combinat.rigged_configurations.bij_type_D import KRTToRCBijectionTypeD
sage: bijection = KRTToRCBijectionTypeD(KRT(pathlist=[[3, 2]]))
sage: TestSuite(bijection).run()
sage: RC = RiggedConfigurations(['D', 4, 1], [[2, 1]])
sage: from sage.combinat.rigged_configurations.bij_type_D import RCToKRTBijectionTypeD
sage: bijection = RCToKRTBijectionTypeD(RC(partition_list=[[],[],[],[]]))
sage: TestSuite(bijection).run()
class sage.combinat.rigged_configurations.bij_type_D.KRTToRCBijectionTypeD(tp_krt)

Bases: sage.combinat.rigged_configurations.bij_type_A.KRTToRCBijectionTypeA

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

This inherits from type A_n^{(1)} because we use the same methods in some places.

doubling_map()

Perform the doubling map of the rigged configuration at the current state of the bijection.

This is the map B(\Lambda) \hookrightarrow B(2 \Lambda) which doubles each of the rigged partitions and updates the vacancy numbers accordingly.

TESTS:

sage: KRT = crystals.TensorProductOfKirillovReshetikhinTableaux(['D', 4, 1], [[4,1]])
sage: from sage.combinat.rigged_configurations.bij_type_D import KRTToRCBijectionTypeD
sage: bijection = KRTToRCBijectionTypeD(KRT(pathlist=[[-1,4,3,2]]))
sage: bijection.cur_path.insert(0, [])
sage: bijection.cur_dims.insert(0, [0, 1])
sage: bijection.cur_path[0].insert(0, [2])
sage: bijection.next_state(2)
sage: bijection.ret_rig_con

-2[ ]-2

(/)

(/)

(/)

sage: bijection.cur_dims
[[0, 1]]
sage: bijection.doubling_map()
sage: bijection.ret_rig_con

-4[ ][ ]-4

(/)

(/)

(/)

sage: bijection.cur_dims
[[0, 2]]
halving_map()

Perform the halving map of the rigged configuration at the current state of the bijection.

This is the inverse map to B(\Lambda) \hookrightarrow B(2 \Lambda) which halves each of the rigged partitions and updates the vacancy numbers accordingly.

TESTS:

sage: KRT = crystals.TensorProductOfKirillovReshetikhinTableaux(['D', 4, 1], [[4,1]])
sage: from sage.combinat.rigged_configurations.bij_type_D import KRTToRCBijectionTypeD
sage: bijection = KRTToRCBijectionTypeD(KRT(pathlist=[[-1,4,3,2]]))
sage: bijection.cur_path.insert(0, [])
sage: bijection.cur_dims.insert(0, [0, 1])
sage: bijection.cur_path[0].insert(0, [2])
sage: bijection.next_state(2)
sage: test = bijection.ret_rig_con
sage: bijection.doubling_map()
sage: bijection.halving_map()
sage: test == bijection.ret_rig_con
True
next_state(val)

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

TESTS:

sage: KRT = crystals.TensorProductOfKirillovReshetikhinTableaux(['D', 4, 1], [[2,1]])
sage: from sage.combinat.rigged_configurations.bij_type_D import KRTToRCBijectionTypeD
sage: bijection = KRTToRCBijectionTypeD(KRT(pathlist=[[5,3]]))
sage: bijection.cur_path.insert(0, [])
sage: bijection.cur_dims.insert(0, [0, 1])
sage: bijection.cur_path[0].insert(0, [3])
sage: bijection.next_state(3)
run(verbose=False)

Run the bijection from a tensor product of KR tableaux to a rigged configuration for type D_n^{(1)}.

INPUT:

  • tp_krt – A tensor product of KR tableaux
  • verbose – (Default: False) Display each step in the bijection

EXAMPLES:

sage: KRT = crystals.TensorProductOfKirillovReshetikhinTableaux(['D', 4, 1], [[2,1]])
sage: from sage.combinat.rigged_configurations.bij_type_D import KRTToRCBijectionTypeD
sage: KRTToRCBijectionTypeD(KRT(pathlist=[[-3,2]])).run()

-1[ ]-1

2[ ]2

-1[ ]-1

-1[ ]-1
class sage.combinat.rigged_configurations.bij_type_D.RCToKRTBijectionTypeD(RC_element)

Bases: sage.combinat.rigged_configurations.bij_type_A.RCToKRTBijectionTypeA

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

doubling_map()

Perform the doubling map of the rigged configuration at the current state of the bijection.

This is the map B(\Lambda) \hookrightarrow B(2 \Lambda) which doubles each of the rigged partitions and updates the vacancy numbers accordingly.

TESTS:

sage: RC = RiggedConfigurations(['D', 4, 1], [[4, 1]])
sage: from sage.combinat.rigged_configurations.bij_type_D import RCToKRTBijectionTypeD
sage: bijection = RCToKRTBijectionTypeD(RC(partition_list=[[],[],[],[1]]))
sage: bijection.cur_partitions
[(/)
, (/)
, (/)
, -1[ ]-1
]
sage: bijection.doubling_map()
sage: bijection.cur_partitions
[(/)
, (/)
, (/)
, -2[ ][ ]-2
]
halving_map()

Perform the halving map of the rigged configuration at the current state of the bijection.

This is the inverse map to B(\Lambda) \hookrightarrow B(2 \Lambda) which halves each of the rigged partitions and updates the vacancy numbers accordingly.

TESTS:

sage: RC = RiggedConfigurations(['D', 4, 1], [[4, 1]])
sage: from sage.combinat.rigged_configurations.bij_type_D import RCToKRTBijectionTypeD
sage: bijection = RCToKRTBijectionTypeD(RC(partition_list=[[],[],[],[1]]))
sage: test = bijection.cur_partitions
sage: bijection.doubling_map()
sage: bijection.halving_map()
sage: test == bijection.cur_partitions
True
next_state(height)

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

TESTS:

sage: RC = RiggedConfigurations(['D', 4, 1], [[2, 1]])
sage: from sage.combinat.rigged_configurations.bij_type_D import RCToKRTBijectionTypeD
sage: bijection = RCToKRTBijectionTypeD(RC(partition_list=[[],[1,1],[1],[1]]))
sage: bijection.next_state(0)
1
run(verbose=False, build_graph=False)

Run the bijection from rigged configurations to tensor product of KR tableaux for type D_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(['D', 4, 1], [[2, 1]])
sage: x = RC(partition_list=[[1],[1],[1],[1]])
sage: from sage.combinat.rigged_configurations.bij_type_D import RCToKRTBijectionTypeD
sage: RCToKRTBijectionTypeD(x).run()
[[2], [-3]]
sage: bij = RCToKRTBijectionTypeD(x)
sage: bij.run(build_graph=True)
[[2], [-3]]
sage: bij._graph
Digraph on 3 vertices

Previous topic

Bijection classes for type C_n^{(1)}.

Next topic

Bijection classes for type A_{2n-1}^{(2)}.

This Page