The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
rootWishartHD computes CDFs, log-CDFs, log-survival
probabilities, p-values, and critical values for Roy’s largest root in
single- and double-Wishart (Jacobi / multivariate beta) settings. It is
derived from Maxime Turgeon’s rootWishart codebase and adds
scaled Pfaffian evaluation, log-tail wrappers, adaptive multiprecision,
and high-dimensional validation utilities.
# from a local source checkout
install.packages(".", repos = NULL, type = "source")library(rootWishartHD)
theta <- c(0.5, 0.8, 0.9) # theta scale, 0 <= theta <= 1
F <- doubleWishart(theta, s = 5, m = 10, n = 10, verbose = FALSE)
log_sf <- doubleWishart_log(theta, s = 5, m = 10, n = 10,
tail = "upper", type = "arbitrary",
verbose = FALSE)
pval <- doubleWishart_pvalue(theta, s = 5, m = 10, n = 10,
input = "theta", verbose = FALSE)The double-Wishart API uses the Jacobi scale
theta = lambda / (1 + lambda). If your statistic is a beta
type II or generalized-root value lambda, convert it before
calling CDF functions, or use
doubleWishart_pvalue(..., input = "lambda").
The CRAN-safe default is
DW_USE_MPFR=0
which uses Boost’s header-only cpp_dec_float backend
from the BH package. This needs no system MPFR/GMP
libraries and is the recommended portable setting for CRAN, Windows,
macOS, and clean Linux machines.
To force the multiprecision path at runtime, use either
options(rootWishartHD.force_multiprecision = TRUE)or pass force_multiprecision = TRUE to the CDF/log-tail
wrappers.
For local source builds, users who specifically want MPFR/GMP can opt in with
DW_USE_MPFR=1 R CMD INSTALL rootWishartHD_0.95.1.tar.gzor from a source directory:
DW_USE_MPFR=1 R CMD INSTALL .Runtime adaptive precision (adaptive = TRUE) requires an
MPFR/GMP build because it changes the decimal precision during
evaluation. With the default DW_USE_MPFR=0 build,
adaptive = TRUE is downgraded to fixed
cpp_dec_float precision with a warning. To increase the
fixed precision, build with for example
DW_MP_DIGITS=300 R CMD INSTALL ..
You need MPFR and GMP development libraries available to the compiler. Check the compiled backend with
rootWishartHD_mpfr_enabled()If MPFR is explicitly requested through the deprecated
force_mpfr interface or old
options(rootWishart.force_mpfr = TRUE), but the package was
compiled with DW_USE_MPFR=0, rootWishartHD
warns once and falls back to Boost cpp_dec_float.
Fast tests are under inst/tinytest/ and are run by
R CMD check. Longer numerical sweeps are installed under
inst/validation/ and are not run automatically:
source(system.file("validation", "test_doubleWishartHD_sweep.R",
package = "rootWishartHD"))Those scripts may use arbitrary precision, local caches, and multiple workers; they are intended for release validation rather than CRAN check-time execution.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.