Rigged Partitions#
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 a 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:
Travis Scrimshaw (2010-09-26): Initial version
Todo
Convert this to using multiplicities \(m_i\) (perhaps with a dictionary?)?
- class sage.combinat.rigged_configurations.rigged_partition.RiggedPartition[source]#
Bases:
SageObject
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
>>> from sage.all import * >>> RC = RiggedConfigurations(['A', Integer(4), Integer(1)], [[Integer(2), Integer(2)]]) >>> RP = RC(partition_list=[[Integer(2)],[Integer(2),Integer(2)],[Integer(2),Integer(1)],[Integer(2)]])[Integer(2)] >>> RP 0[ ][ ]0 -1[ ]-1 <BLANKLINE>
- get_num_cells_to_column(end_column, t=1)[source]#
Get the number of cells in all columns before the
end_column
.INPUT:
end_column
– The index of the column to end att
– The scaling factor
OUTPUT:
The number of cells
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
>>> from sage.all import * >>> RC = RiggedConfigurations(['A', Integer(4), Integer(1)], [[Integer(2), Integer(2)]]) >>> RP = RC(partition_list=[[Integer(2)],[Integer(2),Integer(2)],[Integer(2),Integer(1)],[Integer(2)]])[Integer(2)] >>> RP.get_num_cells_to_column(Integer(1)) 2 >>> RP.get_num_cells_to_column(Integer(2)) 3 >>> RP.get_num_cells_to_column(Integer(3)) 3 >>> RP.get_num_cells_to_column(Integer(3), Integer(2)) 5
- insert_cell(max_width)[source]#
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:
max_width
– The maximum width (i.e. row length) that we can insert the cell at
OUTPUT:
The width of the row we inserted at.
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
>>> from sage.all import * >>> RC = RiggedConfigurations(['A', Integer(4), Integer(1)], [[Integer(2), Integer(2)]]) >>> RP = RC(partition_list=[[Integer(2)],[Integer(2),Integer(2)],[Integer(2),Integer(1)],[Integer(2)]])[Integer(2)] >>> RP.insert_cell(Integer(2)) 2 >>> RP 0[ ][ ][ ]None -1[ ]-1 <BLANKLINE>
- remove_cell(row, num_cells=1)[source]#
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:
row
– the row to remove the cell fromnum_cells
– (default: 1) the number of cells to remove
OUTPUT:
The location of the newly constructed row or
None
if unable to remove row or if deleted a row.
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 None[ ]None -1[ ]-1
>>> from sage.all import * >>> RC = RiggedConfigurations(['A', Integer(4), Integer(1)], [[Integer(2), Integer(2)]]) >>> RP = RC(partition_list=[[Integer(2)],[Integer(2),Integer(2)],[Integer(2),Integer(1)],[Integer(2)]])[Integer(2)] >>> RP.remove_cell(Integer(0)) 0 >>> RP None[ ]None -1[ ]-1 <BLANKLINE>
- class sage.combinat.rigged_configurations.rigged_partition.RiggedPartitionTypeB[source]#
Bases:
RiggedPartition
Rigged partitions for type \(B_n^{(1)}\) which has special printing rules which comes from the fact that the \(n\)-th partition can have columns of width \(\frac{1}{2}\).