Nothing
context("snf")
test_that("snf(mat)", {
skip_on_cran()
stop_m2()
start_m2()
M <- matrix(c(
1, 2, 3,
1, 34, 45,
2213, 1123, 6543,
0, 0, 0
), nrow = 4, byrow = TRUE)
actual <- snf(M)
expect <- list(
D = m2_structure(
matrix(c(
135654L, 0L, 0L,
0L, 1L, 0L,
0L, 0L, 1L,
0L, 0L, 0L
), nrow = 4, byrow = TRUE),
m2_name = m2_name(actual$D),
m2_class = "m2_matrix",
m2_meta = list(ring = coefring_as_ring("ZZ")),
base_class = "matrix"
),
P = m2_structure(
matrix(c(
1L, 33471L, -43292L, 0L,
0L, 1L, 0L, 0L,
0L, 0L, 1L, 0L,
0L, 0L, 0L, 1L
), nrow = 4, byrow = TRUE),
m2_name = m2_name(actual$P),
m2_class = "m2_matrix",
m2_meta = list(ring = coefring_as_ring("ZZ")),
base_class = "matrix"
),
Q = m2_structure(
matrix(c(
171927L, -42421L, 54868L,
93042L, -22957L, 29693L,
-74119L, 18288L, -23654L
), nrow = 3, byrow = TRUE),
m2_name = m2_name(actual$Q),
m2_class = "m2_matrix",
m2_meta = list(ring = coefring_as_ring("ZZ")),
base_class = "matrix"
)
)
expect_equal(actual, expect)
# this is testing M2 more than m2r, skipping
#
# # decomposition
# expect_equal(D, P %*% M %*% Q)
#
# # unitary
# expect_equal(abs(det(P)), 1)
# expect_equal(abs(det(Q)), 1)
#
# # D is diag
# expect_equal(
# D,
# rbind(diag(diag(D)), matrix(0L, ncol = ncol(D), nrow = nrow(D) - length(diag(D))))
# )
})
test_that("snf(m2_matrix(mat))", {
skip_on_cran()
M <- matrix(c(
1, 2, 3,
1, 34, 45,
2213, 1123, 6543,
0, 0, 0
), nrow = 4, byrow = TRUE)
actual <- snf(m2_matrix(M))
expect <- list(
D = m2_structure(
matrix(c(
135654L, 0L, 0L,
0L, 1L, 0L,
0L, 0L, 1L,
0L, 0L, 0L
), nrow = 4, byrow = TRUE),
m2_name = m2_name(actual$D),
m2_class = "m2_matrix",
m2_meta = list(ring = coefring_as_ring("ZZ")),
base_class = "matrix"
),
P = m2_structure(
matrix(c(
1L, 33471L, -43292L, 0L,
0L, 1L, 0L, 0L,
0L, 0L, 1L, 0L,
0L, 0L, 0L, 1L
), nrow = 4, byrow = TRUE),
m2_name = m2_name(actual$P),
m2_class = "m2_matrix",
m2_meta = list(ring = coefring_as_ring("ZZ")),
base_class = "matrix"
),
Q = m2_structure(
matrix(c(
171927L, -42421L, 54868L,
93042L, -22957L, 29693L,
-74119L, 18288L, -23654L
), nrow = 3, byrow = TRUE),
m2_name = m2_name(actual$Q),
m2_class = "m2_matrix",
m2_meta = list(ring = coefring_as_ring("ZZ")),
base_class = "matrix"
)
)
expect_equal(actual, expect)
})
test_that("snf(m2_matrix.(mat))", {
skip_on_cran()
M <- matrix(c(
1, 2, 3,
1, 34, 45,
2213, 1123, 6543,
0, 0, 0
), nrow = 4, byrow = TRUE)
actual <- snf(m2_matrix.(M))
expect <- list(
D = m2_structure(
matrix(c(
135654L, 0L, 0L,
0L, 1L, 0L,
0L, 0L, 1L,
0L, 0L, 0L
), nrow = 4, byrow = TRUE),
m2_name = m2_name(actual$D),
m2_class = "m2_matrix",
m2_meta = list(ring = coefring_as_ring("ZZ")),
base_class = "matrix"
),
P = m2_structure(
matrix(c(
1L, 33471L, -43292L, 0L,
0L, 1L, 0L, 0L,
0L, 0L, 1L, 0L,
0L, 0L, 0L, 1L
), nrow = 4, byrow = TRUE),
m2_name = m2_name(actual$P),
m2_class = "m2_matrix",
m2_meta = list(ring = coefring_as_ring("ZZ")),
base_class = "matrix"
),
Q = m2_structure(
matrix(c(
171927L, -42421L, 54868L,
93042L, -22957L, 29693L,
-74119L, 18288L, -23654L
), nrow = 3, byrow = TRUE),
m2_name = m2_name(actual$Q),
m2_class = "m2_matrix",
m2_meta = list(ring = coefring_as_ring("ZZ")),
base_class = "matrix"
)
)
expect_equal(actual, expect)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.