Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
r""" Bijection classes for type `A_{2n}^{(2)}`.
Part of the (internal) classes which runs the bijection between rigged configurations and KR tableaux of type `A_{2n}^{(2)}`.
AUTHORS:
- Travis Scrimshaw (2012-12-21): Initial version
TESTS::
sage: KRT = crystals.TensorProductOfKirillovReshetikhinTableaux(['A', 4, 2], [[2, 1]]) sage: from sage.combinat.rigged_configurations.bij_type_A2_even import KRTToRCBijectionTypeA2Even sage: bijection = KRTToRCBijectionTypeA2Even(KRT(pathlist=[[-1,2]])) sage: TestSuite(bijection).run() sage: RC = RiggedConfigurations(['A', 4, 2], [[2, 1]]) sage: from sage.combinat.rigged_configurations.bij_type_A2_even import RCToKRTBijectionTypeA2Even sage: bijection = RCToKRTBijectionTypeA2Even(RC(partition_list=[[],[]])) sage: TestSuite(bijection).run() """
#***************************************************************************** # Copyright (C) 2012 Travis Scrimshaw <tscrim@ucdavis.edu> # # Distributed under the terms of the GNU General Public License (GPL) # # This code is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # The full text of the GPL is available at: # # http://www.gnu.org/licenses/ #*****************************************************************************
r""" Specific implementation of the bijection from KR tableaux to rigged configurations for type `A_{2n}^{(2)}`.
This inherits from type `C_n^{(1)}` because we use the same methods in some places. """
r""" Build the next state for type `A_{2n}^{(2)}`.
TESTS::
sage: KRT = crystals.TensorProductOfKirillovReshetikhinTableaux(['A', 4, 2], [[2,1]]) sage: from sage.combinat.rigged_configurations.bij_type_A2_even import KRTToRCBijectionTypeA2Even sage: bijection = KRTToRCBijectionTypeA2Even(KRT(pathlist=[[-1,-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) """ # Note that we must subtract 1 from n to match the indices.
# If it is a regular value, we follow the A_n rules
else:
# Always add a cell to the first singular value in the first # tableau we are updating. max_width = self.ret_rig_con[pos_val - 1][0] else:
# Add cells similar to type A_n but we move to the right until we # reach the value of n
# Special case for n
# Now go back following the regular C_n (ish) rules else:
# Update the final rigged partitions
for a in range(pos_val-1, tableau_height): self._update_vacancy_nums(a) self._update_partition_values(a) if pos_val > 1: self._update_vacancy_nums(pos_val - 2) self._update_partition_values(pos_val - 2)
r""" Specific implementation of the bijection from rigged configurations to tensor products of KR tableaux for type `A_{2n}^{(2)}`. """
r""" Build the next state for type `A_{2n}^{(2)}`.
TESTS::
sage: RC = RiggedConfigurations(['A', 4, 2], [[2,1]]) sage: from sage.combinat.rigged_configurations.bij_type_A2_even import RCToKRTBijectionTypeA2Even sage: bijection = RCToKRTBijectionTypeA2Even(RC(partition_list=[[2],[2,2]])) sage: bijection.next_state(2) -1 """
# Calculate the rank and ell values
else:
# This is a slight hack since remove_cell() will just delete the # appropriate row
# Now go back else:
else:
# Determine the new rigged configuration by removing boxes from the # selected string and then making the new string singular else: else:
self.cur_partitions[a-1].rigging[row_num] = self.cur_partitions[a-1].vacancy_numbers[row_num]
self.cur_partitions[n-1].rigging[row_num] = self.cur_partitions[n-1].vacancy_numbers[row_num] self.cur_partitions[n-1].rigging[row_num_bar] = self.cur_partitions[n-1].vacancy_numbers[row_num_bar]
|