Nothing
SQRT_2 <- sqrt(2.0)
sdp_chordal_data <- function() {
P <- Matrix::sparseMatrix(i = integer(0), j = integer(0), x = numeric(0), dims = c(8, 8))
q <- c(-1.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0)
A <- Matrix::sparseMatrix(
dims = c(28, 8),
p = c(0, 1, 4, 5, 8, 9, 10, 13, 16),
i = c(24, 7, 10, 22, 8, 12, 15, 25, 9, 13, 18, 21, 26, 0, 23, 27),
x = c(
-1.0,
-SQRT_2,
-1.0,
-1.0,
-SQRT_2,
-SQRT_2,
-1.0,
-1.0,
-SQRT_2,
-SQRT_2,
-SQRT_2,
-1.0,
-1.0,
-1.0,
-1.0,
-1.0
),
index1 = FALSE
)
b <- c(
0.0,
3.0,
2. * SQRT_2,
2.0,
SQRT_2,
SQRT_2,
3.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0
)
cones <- list(l = 1L, s = 6L, p1 = 1.0 / 3.0, p2 = 0.5)
list(P = P, q = q, A = A, b = b, cones = cones, strict_cone_order = FALSE)
}
##test_sdp_chordal() {
problem_data <- sdp_chordal_data()
problem_data$control <- clarabel_control(
chordal_decomposition_enable = TRUE,
chordal_decomposition_compact = TRUE,
chordal_decomposition_complete_dual = TRUE,
chordal_decomposition_merge_method = "clique_graph",
max_iter = 50L)
for (compact in c(FALSE, TRUE)) {
for (complete_dual in c(FALSE, TRUE)) {
for (merge_method in c("clique_graph", "parent_child", "none")) {
problem_data$control <- clarabel_control(
chordal_decomposition_enable = TRUE,
chordal_decomposition_compact = compact,
chordal_decomposition_complete_dual = complete_dual,
chordal_decomposition_merge_method = merge_method,
max_iter = 50L)
solution <- do.call(clarabel, problem_data)
print(expect_equal(status_codes[[solution$status]], status_codes[["Solved"]]))
}
}
}
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.