test_that(".GTpatternToTableau", {
gt <- lapply(list(
c(5),
c(5,4),
c(3,3,2),
c(3,3,2,1),
c(3,3,2,1,1),
c(3,2,1,1,0,0)
), as.integer)
ssyt <- .GTpatternToTableau(gt)
expect_identical(
ssyt,
list(
c(1L, 1L, 1L, 5L, 5L),
c(2L, 2L, 3L, 6L),
c(3L, 4L),
4L,
6L
)
)
})
test_that("Number of GT patterns is Kostka number", {
partitions <- partitions::parts(5)
Knumbers <- apply(partitions, 2L, function(lambda) {
apply(partitions, 2L, function(mu) {
KostkaNumber(lambda, mu)
})
})
counts <- apply(partitions, 2L, function(lambda) {
apply(partitions, 2L, function(mu) {
length(GelfandTsetlinPatterns(lambda, mu))
})
})
expect_true(all(Knumbers == counts))
})
test_that("Number of skew GT patterns", {
lambda <- c(4, 2, 1); mu <- c(2, 1); n <- 5
nskewTableaux <- length(all_ssSkewTableaux(lambda, mu, n))
compos <- partitions::compositions(sum(lambda)-sum(mu), n)
skewGTpatterns <- apply(compos, 2L, function(w) {
skewGelfandTsetlinPatterns(lambda, mu, w)
}, simplify = FALSE)
expect_true(
nskewTableaux == sum(lengths(skewGTpatterns))
)
})
test_that("Number of skew GT patterns is skew Kostka number", {
lambda <- c(4, 2, 2); mu <- c(2, 1)
partitions <- partitions::parts(sum(lambda) - sum(mu))
nus <-
apply(partitions, 2L, removezeros, simplify = FALSE)
names(nus) <- vapply(nus, partitionAsString, character(1L))
nskewGTpatterns <- vapply(nus, function(nu) {
length(skewGelfandTsetlinPatterns(lambda, mu, nu))
}, integer(1L))
skewKnumbers <- skewKostkaNumbers(lambda, mu)
expect_true(
all(skewKnumbers == nskewGTpatterns[names(skewKnumbers)])
)
others <- setdiff(names(nus), names(skewKnumbers))
expect_true(all(nskewGTpatterns[others] == 0L))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.