test_that(
"Skew Jack polynomial branching rule", {
nx <- 2
ny <- 2
n <- nx + ny
lambda <- c(2, 2)
alpha <- 2L
which <- "P"
mus <- list(integer(0), 1, 2, c(1, 1), c(2, 1), c(2, 2))
ys <- list(qlone(3), qlone(4))
jp <- JackPol(n, lambda, alpha, which)
expected <-
Reduce(
`+`,
lapply(mus, function(mu) {
JackPol(nx, mu, alpha, which) *
changeVariables(SkewJackPol(ny, lambda, mu, alpha, which), ys)
})
)
expect_true(jp == expected)
}
)
test_that(
"Skew symbolic Jack polynomial branching rule", {
nx <- 2
ny <- 2
n <- nx + ny
lambda <- c(2, 2)
which <- "Q"
mus <- list(integer(0), 1, 2, c(1, 1), c(2, 1), c(2, 2))
ys <- list(Qlone(3), Qlone(4))
jp <- JackSymPol(n, lambda, which)
expected <-
Reduce(
`+`,
lapply(mus, function(mu) {
JackSymPol(nx, mu, which) *
changeVariables(SkewJackSymPol(ny, lambda, mu, which), ys)
})
)
expect_true(jp == expected)
}
)
test_that("Jack combination of skew Jack with Hall inner product", {
lambda <- c(3, 1, 1)
mu <- c(2, 1)
alpha <- "2"
n <- sum(lambda)
skewJackPoly <- SkewJackPol(n, lambda, mu, alpha, "Q")
jackCombo <- JackCombination(skewJackPoly, alpha, "Q")
nus <- lapply(jackCombo, `[[`, "lambda")
coeffs <- gmp::c_bigq(lapply(jackCombo, `[[`, "coeff"))
jackQpoly <- JackPol(n, lambda, alpha, "Q")
jackPpoly <- JackPol(n, mu, alpha, "P")
fs <- gmp::c_bigq(lapply(nus, function(nu) {
HallInnerProduct(jackQpoly, jackPpoly * JackPol(n, nu, alpha, "P"), alpha)
}))
expect_true(all(coeffs == fs))
})
test_that("Skew Jack with alpha=0 is same as skew Macdonald with q=1", {
# I don't know why. In particular, skew Macdonald with q=1 does not depend on t
n <- 4
lambda <- c(4, 2)
mu <- c(1, 1)
skJackPoly <-
changeParameters(SkewJackSymPol(n, lambda, mu, "P"), list(qzero()))
skMacPoly <- changeParameters(
SkewMacdonaldPol(n, lambda, mu, which = "P"),
list(qone(), qlone(2))
)
expect_true(skJackPoly == skMacPoly)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.