Class and methods of the rigged partition which are used by the rigged configuration class. This is an internal class used by the rigged configurations and KR tableaux during the bijection, and is not to be used by the end-user.
We hold the partitions as an 1-dim array of positive integers where each value corresponds to the length of the row. This is the shape of the partition which can be accessed by the regular index.
The data for the vacancy number is also stored in a 1-dim array which each entry corresponds to the row of the tableau, and similarly for the partition values.
AUTHORS:
Todo
Convert this to using multiplicities (perhaps with a dictionary?)?
Bases: sage.combinat.combinat.CombinatorialObject
The RiggedPartition class which is the data structure of a rigged (i.e. marked or decorated) Young diagram of a partition.
Note that this class as a stand-alone object does not make sense since the vacancy numbers are calculated using the entire rigged configuration. For more, see RiggedConfigurations.
EXAMPLES:
sage: RC = RiggedConfigurations(['A', 4, 1], [[2, 2]])
sage: RP = RC(partition_list=[[2],[2,2],[2,1],[2]])[2]
sage: RP
0[ ][ ]0
-1[ ]-1
sage: type(RP)
<class 'sage.combinat.rigged_configurations.rigged_partition.RiggedPartition'>
Get the number of cells in all columns before the end_column.
INPUT:
OUTPUT:
EXAMPLES:
sage: RC = RiggedConfigurations(['A', 4, 1], [[2, 2]])
sage: RP = RC(partition_list=[[2],[2,2],[2,1],[2]])[2]
sage: RP.get_num_cells_to_column(1)
2
sage: RP.get_num_cells_to_column(2)
3
sage: RP.get_num_cells_to_column(3)
3
sage: RP.get_num_cells_to_column(3, 2)
5
Insert a cell given at a singular value as long as its less than the specified width.
Note that insert_cell() does not update riggings or vacancy numbers, but it does prepare the space for them. Returns the width of the row we inserted at.
INPUT:
OUTPUT:
EXAMPLES:
sage: RC = RiggedConfigurations(['A', 4, 1], [[2, 2]])
sage: RP = RC(partition_list=[[2],[2,2],[2,1],[2]])[2]
sage: RP.insert_cell(2)
2
sage: RP
0[ ][ ][ ]None
-1[ ]-1
Removes a cell at the specified row.
Note that remove_cell() does not set/update the vacancy numbers or the riggings, but guarantees that the location has been allocated in the returned index.
INPUT:
OUTPUT:
EXAMPLES:
sage: RC = RiggedConfigurations(['A', 4, 1], [[2, 2]])
sage: RP = RC(partition_list=[[2],[2,2],[2,1],[2]])[2]
sage: RP.remove_cell(0)
0
sage: RP
0[ ]0
-1[ ]-1
Bases: sage.combinat.rigged_configurations.rigged_partition.RiggedPartition
Rigged partitions for type which has special printing rules
which comes from the fact that the
-th partition can have columns of
width
.