LRmult {jack} | R Documentation |
Littlewood-Richardson rule for multiplication
Description
Expression of the product of two Schur polynomials as a linear combination of Schur polynomials.
Usage
LRmult(mu, nu, output = "dataframe")
Arguments
mu , nu |
integer partitions, given as vectors of decreasing integers |
output |
the type of the output, |
Value
This computes the expression of the product of the two Schur
polynomials associated to mu
and nu
as a linear combination
of Schur polynomials. If output="dataframe"
, the output is a
dataframe with two columns: the column coeff
gives the coefficients
of this linear combination, these are positive integers, and the column
lambda
gives the partitions defining the Schur polynomials of this
linear combination as character strings, e.g. the partition
c(4, 3, 1)
is encoded by the character string "[4, 3, 1]"
.
If output="list"
, the output is a list
of lists with two elements. Each of these lists with two elements
corresponds to a term of the linear combination: the first element,
named coeff
, is the coefficient, namely the Littlewood-Richardson
coefficient c^{\lambda}_{\mu,\nu}
, where \lambda
is the
integer partition given in the second element of the list, named
lambda
, which defines the Schur polynomial of the
linear combination.
Examples
library(jack)
mu <- c(2, 1)
nu <- c(3, 2, 1)
LR <- LRmult(mu, nu, output = "list")
LRterms <- lapply(LR, function(lr) {
lr[["coeff"]] * SchurPol(3, lr[["lambda"]])
})
smu_times_snu <- Reduce(`+`, LRterms)
smu_times_snu == SchurPol(3, mu) * SchurPol(3, nu) # should be TRUE