pdSpecEst
An Analysis Toolbox for Hermitian Positive Definite Matrices
Description
An implementation of data analysis tools for samples of symmetric or Hermitian positive definite matrices, such as collections of covariance matrices or spectral density matrices. The tools in this package can be used to perform: (i) intrinsic wavelet transforms for curves (1D) or surfaces (2D) of Hermitian positive definite matrices with applications to dimension reduction, denoising and clustering in the space of Hermitian positive definite matrices; and (ii) exploratory data analysis and inference for samples of positive definite matrices by means of intrinsic data depth functions and rank-based hypothesis tests in the space of Hermitian positive definite matrices.
Downloads
266
Last 30 days
11926th
266
Last 90 days
266
Last year
CRAN Check Status
Show all 14 flavors
| Flavor | Status |
|---|---|
| r-devel-linux-x86_64-debian-clang | OK |
| r-devel-linux-x86_64-debian-gcc | OK |
| r-devel-linux-x86_64-fedora-clang | OK |
| r-devel-linux-x86_64-fedora-gcc | OK |
| r-devel-macos-arm64 | ERROR |
| r-devel-windows-x86_64 | OK |
| r-oldrel-macos-arm64 | NOTE |
| r-oldrel-macos-x86_64 | NOTE |
| r-oldrel-windows-x86_64 | OK |
| r-patched-linux-x86_64 | OK |
| r-release-linux-x86_64 | OK |
| r-release-macos-arm64 | OK |
| r-release-macos-x86_64 | OK |
| r-release-windows-x86_64 | OK |
Check details (16 non-OK)
*
*
*
*
examples
Running examples in ‘pdSpecEst-Ex.R’ failed The error most likely occurred in: > ### Name: Expm > ### Title: Riemannian HPD exponential map > ### Aliases: Expm > > ### ** Examples > > ## Generate random Hermitian matrix > H <- matrix(complex(real = rnorm(9), imaginary = rnorm(9)), nrow = 3) > diag(H) <- rnorm(3) > H[lower.tri(H)] <- t(Conj(H))[lower.tri(H)] > ## Generate random HPD matrix > p <- matrix(complex(real = rnorm(9), imaginary = rnorm(9)), nrow = 3) > P <- t(Conj(p)) %*% p > ## Compute exponential map > Expm(P, H) Error: sqrtmat_sympd(): transformation failed Execution halted
re-building of vignette outputs
Error(s) in re-building vignettes:
sh: line 1: 32217 Segmentation fault: 11 '/Library/Frameworks/R.framework/Resources/bin/R' --vanilla --no-echo > '/Volumes/Temp/tmp/RtmpKxkCFE/file7d2141fc18ae' 2>&1 < '/Volumes/Temp/tmp/RtmpKxkCFE/file7d21db8695a'
--- re-building ‘depth_ranktests.Rmd’ using rmarkdown
*** caught segfault ***
address 0x0, cause 'invalid permissions'
Traceback:
1: Expm(diag(2), H.coeff(0.5 * rnorm(4), inverse = T))
2: FUN(X[[i]], ...)
3: lapply(X = X, FUN = FUN, ...)
4: sapply(integer(n), eval.parent(substitute(function(...) expr)), simplify = simplify)
5: replicate(50, Expm(diag(2), H.coeff(0.5 * rnorm(4), inverse = T)))
6: eval(expr, envir)
7: eval(expr, envir)
8: withVisible(eval(expr, envir))
9: withCallingHandlers(code, error = function (e) rlang::entrace(e), message = function (cnd) { watcher$capture_plot_and_output() if (on_message$capture) { watcher$push(cnd) } if (on_message$silence) { invokeRestart("muffleMessage") }}, warning = function (cnd) { if (getOption("warn") >= 2 || getOption("warn") < 0) { return() } watcher$capture_plot_and_output() if (on_warning$capture) { cnd <- sanitize_call(cnd) watcher$push(cnd) } if (on_warning$silence) { invokeRestart("muffleWarning") }}, error = function (cnd) { watcher$capture_plot_and_output() cnd <- sanitize_call(cnd) watcher$push(cnd) switch(on_error, continue = invokeRestart("eval_continue"), stop = invokeRestart("eval_stop"), error = NULL)})
10: eval(call)
11: eval(call)
12: with_handlers({ for (expr in tle$exprs) { ev <- withVisible(eval(expr, envir)) watcher$capture_plot_and_output() watcher$print_value(ev$value, ev$visible, envir) } TRUE}, handlers)
13: doWithOneRestart(return(expr), restart)
14: withOneRestart(expr, restarts[[1L]])
15: withRestartList(expr, restarts[-nr])
16: doWithOneRestart(return(expr), restart)
17: withOneRestart(withRestartList(expr, restarts[-nr]), restarts[[nr]])
18: withRestartList(expr, restarts)
19: withRestarts(with_handlers({ for (expr in tle$exprs) { ev <- withVisible(eval(expr, envir)) watcher$capture_plot_and_output() watcher$print_value(ev$value, ev$visible, envir) } TRUE}, handlers), eval_continue = function() TRUE, eval_stop = function() FALSE)
20: evaluate::evaluate(...)
21: evaluate(code, envir = env, new_device = FALSE, keep_warning = if (is.numeric(options$warning)) TRUE else options$warning, keep_message = if (is.numeric(options$message)) TRUE else options$message, stop_on_error = if (is.numeric(options$error)) options$error else { if (options$error && options$include) 0L else 2L }, output_handler = knit_handlers(options$render, options))
22: in_dir(input_dir(), expr)
23: in_input_dir(evaluate(code, envir = env, new_device = FALSE, keep_warning = if (is.numeric(options$warning)) TRUE else options$warning, keep_message = if (is.numeric(options$message)) TRUE else options$message, stop_on_error = if (is.numeric(options$error)) options$error else { if (options$error && options$include) 0L else 2L }, output_handler = knit_handlers(options$render, options)))
24: eng_r(options)
25: block_exec(params)
26: call_block(x)
27: process_group(group)
28: withCallingHandlers(if (tangle) process_tangle(group) else process_group(group), error = function(e) { if (progress && is.function(pb$interrupt)) pb$interrupt() if (is_R_CMD_build() || is_R_CMD_check()) error <<- format(e) })
29: with_options(withCallingHandlers(if (tangle) process_tangle(group) else process_group(group), error = function(e) { if (progress && is.function(pb$interrupt)) pb$interrupt() if (is_R_CMD_build() || is_R_CMD_check()) error <<- format(e) }), list(rlang_trace_top_env = knit_global()))
30: xfun:::handle_error(with_options(withCallingHandlers(if (tangle) process_tangle(group) else process_group(group), error = function(e) { if (progress && is.function(pb$interrupt)) pb$interrupt() if (is_R_CMD_build() || is_R_CMD_check()) error <<- format(e) }), list(rlang_trace_top_env = knit_global())), function(loc) { setwd(wd) write_utf8(res, output %n% stdout()) paste0("\nQuitting from ", loc, if (!is.null(error)) paste0("\n", rule(), error, "\n", rule()))}, if (labels[i] != "") sprintf(" [%s]", labels[i]), get_loc)
31: process_file(text, output)
32: knitr::knit(knit_input, knit_output, envir = envir, quiet = quiet)
33: rmarkdown::render(file, encoding = encoding, quiet = quiet, envir = globalenv(), output_dir = getwd(), ...)
34: vweave_rmarkdown(...)
35: engine$weave(file, quiet = quiet, encoding = enc)
36: doTryCatch(return(expr), name, parentenv, handler)
37: tryCatchOne(expr, names, parentenv, handlers[[1L]])
38: tryCatchList(expr, classes, parentenv, handlers)
39: tryCatch({ engine$weave(file, quiet = quiet, encoding = enc) setwd(startdir) output <- find_vignette_product(name, by = "weave", engine = engine) if (!have.makefile && vignette_is_tex(output)) { texi2pdf(file = output, clean = FALSE, quiet = quiet) output <- find_vignette_product(name, by = "texi2pdf", engine = engine) }}, error = function(e) { OK <<- FALSE message(gettextf("Error: processing vignette '%s' failed with diagnostics:\n%s", file, conditionMessage(e)))})
40: tools:::.buildOneVignette("depth_ranktests.Rmd", "/Volumes/Builds/packages/sonoma-arm64/results/4.6/pdSpecEst.Rcheck/vign_test/pdSpecEst", TRUE, FALSE, "depth_ranktests", "UTF-8", "/Volumes/Temp/tmp/RtmpKxkCFE/file7d212c2734cf.rds")
An irrecoverable exception occurred. R is aborting now ...
sh: line 1: 32399 Segmentation fault: 11 '/Library/Frameworks/R.framework/Resources/bin/R' --vanilla --no-echo > '/Volumes/Temp/tmp/RtmpKxkCFE/file7d2165839586' 2>&1 < '/Volumes/Temp/tmp/RtmpKxkCFE/file7d2121cdc47b'
--- re-building ‘wavelet_est_clust.Rmd’ using rmarkdown
*** caught segfault ***
address 0xfe000000786564, cause 'invalid permissions'
Traceback:
1: Expm(diag(3), (1 - 0.4 * t) * H.coeff(sqrt(t * (1 - t) + 1) * sin(pi/(0.4 * t + 0.1)) * (1 + Bumps), inverse = TRUE))
2: FUN(X[[i]], ...)
3: lapply(X = X, FUN = FUN, ...)
4: sapply(x, function(t) { Expm(diag(3), (1 - 0.4 * t) * H.coeff(sqrt(t * (1 - t) + 1) * sin(pi/(0.4 * t + 0.1)) * (1 + Bumps), inverse = TRUE))}, simplify = "array")
5: rExamples1D(n, example = "bumps", return.ts = T, noise = "periodogram")
6: eval(expr, envir)
7: eval(expr, envir)
8: withVisible(eval(expr, envir))
9: withCallingHandlers(code, error = function (e) rlang::entrace(e), message = function (cnd) { watcher$capture_plot_and_output() if (on_message$capture) { watcher$push(cnd) } if (on_message$silence) { invokeRestart("muffleMessage") }}, warning = function (cnd) { if (getOption("warn") >= 2 || getOption("warn") < 0) { return() } watcher$capture_plot_and_output() if (on_warning$capture) { cnd <- sanitize_call(cnd) watcher$push(cnd) } if (on_warning$silence) { invokeRestart("muffleWarning") }}, error = function (cnd) { watcher$capture_plot_and_output() cnd <- sanitize_call(cnd) watcher$push(cnd) switch(on_error, continue = invokeRestart("eval_continue"), stop = invokeRestart("eval_stop"), error = NULL)})
10: eval(call)
11: eval(call)
12: with_handlers({ for (expr in tle$exprs) { ev <- withVisible(eval(expr, envir)) watcher$capture_plot_and_output() watcher$print_value(ev$value, ev$visible, envir) } TRUE}, handlers)
13: doWithOneRestart(return(expr), restart)
14: withOneRestart(expr, restarts[[1L]])
15: withRestartList(expr, restarts[-nr])
16: doWithOneRestart(return(expr), restart)
17: withOneRestart(withRestartList(expr, restarts[-nr]), restarts[[nr]])
18: withRestartList(expr, restarts)
19: withRestarts(with_handlers({ for (expr in tle$exprs) { ev <- withVisible(eval(expr, envir)) watcher$capture_plot_and_output() watcher$print_value(ev$value, ev$visible, envir) } TRUE}, handlers), eval_continue = function() TRUE, eval_stop = function() FALSE)
20: evaluate::evaluate(...)
21: evaluate(code, envir = env, new_device = FALSE, keep_warning = if (is.numeric(options$warning)) TRUE else options$warning, keep_message = if (is.numeric(options$message)) TRUE else options$message, stop_on_error = if (is.numeric(options$error)) options$error else { if (options$error && options$include) 0L else 2L }, output_handler = knit_handlers(options$render, options))
22: in_dir(input_dir(), expr)
23: in_input_dir(evaluate(code, envir = env, new_device = FALSE, keep_warning = if (is.numeric(options$warning)) TRUE else options$warning, keep_message = if (is.numeric(options$message)) TRUE else options$message, stop_on_error = if (is.numeric(options$error)) options$error else { if (options$error && options$include) 0L else 2L }, output_handler = knit_handlers(options$render, options)))
24: eng_r(options)
25: block_exec(params)
26: call_block(x)
27: process_group(group)
28: withCallingHandlers(if (tangle) process_tangle(group) else process_group(group), error = function(e) { if (progress && is.function(pb$interrupt)) pb$interrupt() if (is_R_CMD_build() || is_R_CMD_check()) error <<- format(e) })
29: with_options(withCallingHandlers(if (tangle) process_tangle(group) else process_group(group), error = function(e) { if (progress && is.function(pb$interrupt)) pb$interrupt() if (is_R_CMD_build() || is_R_CMD_check()) error <<- format(e) }), list(rlang_trace_top_env = knit_global()))
30: xfun:::handle_error(with_options(withCallingHandlers(if (tangle) process_tangle(group) else process_group(group), error = function(e) { if (progress && is.function(pb$interrupt)) pb$interrupt() if (is_R_CMD_build() || is_R_CMD_check()) error <<- format(e) }), list(rlang_trace_top_env = knit_global())), function(loc) { setwd(wd) write_utf8(res, output %n% stdout()) paste0("\nQuitting from ", loc, if (!is.null(error)) paste0("\n", rule(), error, "\n", rule()))}, if (labels[i] != "") sprintf(" [%s]", labels[i]), get_loc)
31: process_file(text, output)
32: knitr::knit(knit_input, knit_output, envir = envir, quiet = quiet)
33: rmarkdown::render(file, encoding = encoding, quiet = quiet, envir = globalenv(), output_dir = getwd(), ...)
34: vweave_rmarkdown(...)
35: engine$weave(file, quiet = quiet, encoding = enc)
36: doTryCatch(return(expr), name, parentenv, handler)
37: tryCatchOne(expr, names, parentenv, handlers[[1L]])
38: tryCatchList(expr, classes, parentenv, handlers)
39: tryCatch({ engine$weave(file, quiet = quiet, encoding = enc) setwd(startdir) output <- find_vignette_product(name, by = "weave", engine = engine) if (!have.makefile && vignette_is_tex(output)) { texi2pdf(file = output, clean = FALSE, quiet = quiet) output <- find_vignette_product(name, by = "texi2pdf", engine = engine) }}, error = function(e) { OK <<- FALSE message(gettextf("Error: processing vignette '%s' failed with diagnostics:\n%s", file, conditionMessage(e)))})
40: tools:::.buildOneVignette("wavelet_est_clust.Rmd", "/Volumes/Builds/packages/sonoma-arm64/results/4.6/pdSpecEst.Rcheck/vign_test/pdSpecEst", TRUE, FALSE, "wavelet_est_clust", "UTF-8", "/Volumes/Temp/tmp/RtmpKxkCFE/file7d21460c9abf.rds")
An irrecoverable exception occurred. R is aborting now ...
SUMMARY: processing the following files failed:
‘depth_ranktests.Rmd’ ‘wavelet_est_clust.Rmd’
Error: Vignette re-building failed.
Execution halted
tests
Running ‘testthat.R’ [0s/0s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
> library(testthat)
> library(pdSpecEst)
>
> test_check("pdSpecEst")
*** caught segfault ***
address 0x0, cause 'invalid permissions'
Traceback:
1: Expm(diag(2, 2), H.coeff(v0/sqrt(2 * pi) * exp(-((t - 0.5)/0.3)^2/2), inverse = TRUE))
2: FUN(X[[i]], ...)
3: lapply(X = X, FUN = FUN, ...)
4: sapply(x, function(t) { Expm(diag(2, 2), H.coeff(v0/sqrt(2 * pi) * exp(-((t - 0.5)/0.3)^2/2), inverse = TRUE))}, simplify = "array")
5: rExamples1D(n, 2, "gaussian", return.ts = T, noise = "periodogram")
6: eval(code, test_env)
7: eval(code, test_env)
8: withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt)
9: doTryCatch(return(expr), name, parentenv, handler)
10: tryCatchOne(expr, names, parentenv, handlers[[1L]])
11: tryCatchList(expr, classes, parentenv, handlers)
12: tryCatch(withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt), error = handle_fatal)
13: doWithOneRestart(return(expr), restart)
14: withOneRestart(expr, restarts[[1L]])
15: withRestarts(tryCatch(withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt), error = handle_fatal), end_test = function() { })
16: test_code(code, parent.frame())
17: test_that("Correctly working 1D spectral estimation and clustering", { n <- 2^7 d <- 2 S <- 5 example <- rExamples1D(n, 2, "gaussian", return.ts = T, noise = "periodogram") expect_equal(dim(example$f), c(d, d, n)) expect_equal(dim(example$P), c(d, d, n)) expect_equal(dim(example$ts), c(2 * n, d)) ts.sim <- rARMA(n, d, array(0, c(d, d, 2)), array(0, c(d, d, 2)), diag(d)) expect_type(ts.sim$X, "double") expect_equal(dim(ts.sim$X), c(n, d)) pgram <- pdPgram(example$ts) expect_equal(dim(pgram$P), c(d, d, n)) expect_equal(length(pgram$freq), n) expect_equal(pgram$P, example$P) wt1 <- WavTransf1D(example$P, periodic = T) wt2 <- WavTransf1D(example$P, metric = "logEuclidean") expect_equal(length(unlist(wt1$D)), length(unlist(wt1$D.white))) expect_equal(length(unlist(wt2$D)), length(unlist(wt2$D.white))) expect_equal(InvWavTransf1D(wt1$D, wt1$M0, periodic = T), example$P) expect_equal(InvWavTransf1D(wt2$D, wt2$M0, metric = "logEuclidean"), example$P) wt1_den <- pdCART(wt1$D, wt1$D.white, order = 5, periodic = T) wt2_den <- pdCART(wt2$D, wt2$D.white, order = 5) expect_length(unlist(wt1_den$w), length(unlist(wt2_den$w))) expect_length(unlist(wt1_den$D_w), length(unlist(wt1$D))) expect_length(unlist(wt2_den$D_w), length(unlist(wt2$D))) f1 <- pdSpecEst1D(example$P) f2 <- pdSpecEst1D(example$P, metric = "logEuclidean") expect_is(f1$f, is(example$P)) expect_equal(dim(f1$f), dim(example$P)) expect_type(f1$D[[1]], "complex") expect_type(f2$D[[1]], "complex") expect_length(unlist(f1$D), 300) expect_length(unlist(f2$D), 300) expect_length(c(f1$M0), 20) expect_length(c(f2$M0), 20) expect_type(f1$tree.weights[[1]], "logical") expect_type(f2$tree.weights[[1]], "logical") expect_length(unlist(f1$tree.weights), 62) expect_length(unlist(f2$tree.weights), 62) cl <- pdkMeans(example$P[, , 1:10], K = 2) expect_true(all(cl$cl.assignments %in% c(0, 1))) expect_equal(sum(cl$cl.assignments), 10) expect_equal(dim(cl$cl.assignments), c(10, 2)) expect_equal(dim(cl$cl.centroids), c(2, 2, 2)) P_s <- rExamples1D(n, 2, "gaussian", replicates = S)$P cl <- pdSpecClust1D(P_s, K = 2, metric = "logEuclidean") expect_equal(sum(cl$cl.prob), S) expect_length(cl$cl.centers.D, 2) expect_length(unlist(cl$cl.centers.D[[1]]), 300) expect_length(unlist(cl$cl.centers.D[[2]]), 300) expect_equal(dim(cl$cl.centers.M0[[1]]), dim(wt1$M0)) expect_equal(dim(cl$cl.centers.M0[[2]]), dim(wt1$M0)) expect_type(cl$cl.jmax, "double") f3 <- pdSplineReg(example$f, example$f, lam = 0.1, Nd = 10, max.iter = 10) expect_equal(dim(f3$f), c(d, d, 10)) expect_type(f3$cost, "double") expect_type(f3$total_iter, "double") })
18: eval(code, test_env)
19: eval(code, test_env)
20: withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt)
21: doTryCatch(return(expr), name, parentenv, handler)
22: tryCatchOne(expr, names, parentenv, handlers[[1L]])
23: tryCatchList(expr, classes, parentenv, handlers)
24: tryCatch(withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt), error = handle_fatal)
25: doWithOneRestart(return(expr), restart)
26: withOneRestart(expr, restarts[[1L]])
27: withRestarts(tryCatch(withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt), error = handle_fatal), end_test = function() { })
28: test_code(code = exprs, env = env, reporter = get_reporter() %||% StopReporter$new())
29: source_file(path, env = env(env), desc = desc, shuffle = shuffle, error_call = error_call)
30: FUN(X[[i]], ...)
31: lapply(test_paths, test_one_file, env = env, desc = desc, shuffle = shuffle, error_call = error_call)
32: doTryCatch(return(expr), name, parentenv, handler)
33: tryCatchOne(expr, names, parentenv, handlers[[1L]])
34: tryCatchList(expr, classes, parentenv, handlers)
35: tryCatch(code, testthat_abort_reporter = function(cnd) { cat(conditionMessage(cnd), "\n") NULL})
36: with_reporter(reporters$multi, lapply(test_paths, test_one_file, env = env, desc = desc, shuffle = shuffle, error_call = error_call))
37: test_files_serial(test_dir = test_dir, test_package = test_package, test_paths = test_paths, load_helpers = load_helpers, reporter = reporter, env = env, stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning, desc = desc, load_package = load_package, shuffle = shuffle, error_call = error_call)
38: test_files(test_dir = path, test_paths = test_paths, test_package = package, reporter = reporter, load_helpers = load_helpers, env = env, stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning, load_package = load_package, parallel = parallel, shuffle = shuffle)
39: test_dir("testthat", package = package, reporter = reporter, ..., load_package = "installed")
40: test_check("pdSpecEst")
An irrecoverable exception occurred. R is aborting now ...
*
installed package size
installed size is 7.3Mb
sub-directories of 1Mb or more:
libs 6.4Mb
installed package size
installed size is 7.5Mb
sub-directories of 1Mb or more:
libs 6.5Mb
*
*
*
*
*
*
Check History
ERROR 11 OK · 2 NOTE · 0 WARNING · 1 ERROR · 0 FAILURE Mar 9, 2026
examples
Running examples in ‘pdSpecEst-Ex.R’ failed The error most likely occurred in: > ### Name: Expm > ### Title: Riemannian HPD exponential map > ### Aliases: Expm > > ### ** Examples > > ## Generate random Hermitian matrix > H <- matrix(complex(real = rnorm(9), imaginary = rnorm(9)), nrow = 3) > diag(H) <- rnorm(3) > H[lower.tri(H)] <- t(Conj(H))[lower.tri(H)] > ## Generate random HPD matrix > p <- matrix(complex(real = rnorm(9), imaginary = rnorm(9)), nrow = 3) > P <- t(Conj(p)) %*% p >
installed package size
installed size is 7.3Mb
sub-directories of 1Mb or more:
libs 6.4Mb
installed package size
installed size is 7.5Mb
sub-directories of 1Mb or more:
libs 6.5Mb