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 <BLANKLINE> -2[ ]-2 <BLANKLINE> (/) <BLANKLINE> (/) <BLANKLINE> (/) <BLANKLINE> sage: bijection.cur_dims [[0, 1]] sage: bijection.doubling_map() sage: bijection.ret_rig_con <BLANKLINE> -4[ ][ ]-4 <BLANKLINE> (/) <BLANKLINE> (/) <BLANKLINE> (/) <BLANKLINE> 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 tableauxverbose
– (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() <BLANKLINE> -1[ ]-1 <BLANKLINE> 2[ ]2 <BLANKLINE> -1[ ]-1 <BLANKLINE> -1[ ]-1 <BLANKLINE>
-
-
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 bijectionbuild_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
-