- Fix installation on macOS with the flang Fortran compiler (R-devel):
libgompis no longer linked on macOS, where libKriging is built without OpenMP andlibgomponly comes with gfortran ("library 'gomp' not found");- the libKriging build now calls R through
R_HOMEto find the Fortran compiler: underR CMD check, a bareRrefuses to run, so libKriging was silently not built ("'libKriging/utils/lkalloc.hpp' file not found").
Based on libKriging 1.2.2. Supersedes 1.2-1, which failed to install on CRAN
(the submitted NAMESPACE lacked importFrom(DiceKriging, km) and the
KM / as.km exports).
- The Vecchia objective introduced in 1.1-0 is renamed:
objective = "VLL"/"VLL(m)"becomes"LLVecchia"/"LLVecchia(m)". No alias is kept, so"VLL(m)"now raisesUnsupported fit objective. Results are unchanged.
- New
LLNystrom(k)objective: a fixed-landmark Nystrom low-rank approximation of the covariance for large designs, costing O(n k^2) per evaluation. The$nystrom_rank()accessor gives the rank of such a fit. - New
subsetOfData(): k-means (or random) pre-fit row subsetting for large designs (indices are 1-based). WarpKrigingnow has the same accessors asKriging:noise(),warp_params(),optim(),objective()andcovMat(X1, X2). It also accepts numericparametersseeds withoptim = "none"(to rebuild a model with frozen hyper-parameters), andupdate(..., noise_u =)/update_simulate(..., noise_u =).noise =andparameters =can now be used together.
predict(..., return_deriv = TRUE)returned derivatives off by a factorscaleXwhen the model was fitted withnormalize = TRUE.WarpKriging: the analytical warp-parameter gradient was wrong for every continuous warp, so the optimizer never found a non-trivial warp. Warpings that assume inputs in[0, 1](knots,kumaraswamy,boxcox,neural_mono,mlp,mlp_joint) now rescale inputs from their training range; fits on inputs spanning exactly[0, 1]are unchanged.optim = "none"with a light Vecchia fit ignored theLLVecchia(m)objective.- Faster
fit(),predict()and above allupdate(refit = FALSE): the inverse covariance matrix is now computed only when a gradient needs it. simulate.WarpKrigingno longer self-qualifies with:::,WarpKrigingis registered withsetOldClass(no load-time warning), and thesave/loadexamples remove their temporary file.- Packaging:
NAMESPACEno longer depends onroxygen2succeeding at build time, and hidden files of the bundled libKriging sources are no longer shipped.
- Shrink
test-NestedKriging.Rdesign/test sizes to avoid a check timeout on slow CRAN workers (e.g.r-devel-linux-x86_64-fedora-*, which exceeded the 45-minute test time limit under 1.1-0).
-
New
NestedKrigingclass: a divide-and-conquer Gaussian process for large designs. The data are partitioned into groups, oneKrigingsubmodel is fitted per group with a common prior, and predictions are aggregated with the optimal nested-kriging aggregation ("NK", interpolating) or a product-of-experts rule ("PoE","gPoE","BCM","rBCM"). -
New Vecchia approximated log-likelihood objective for large designs: fit a
Krigingmodel withobjective = "VLL(m)"(or"VLL", defaultm = 30), costing O(n m^3) per evaluation instead of O(n^3).
-
Kriging()/fit():objectivenow also accepts"VLL"/"VLL(m)", andregmodelnow accepts"quadratic". -
Kriging()/fit(): thenoiseargument has been moved to the last position, for consistency withWarpKrigingand the other language bindings. Code that passesnoiseby name is unaffected; positional calls that relied onnoisebeing the 4th argument must be updated.
- Fix a possible deadlock when forking after threads were created.
- Numerous build and portability fixes (Windows, macOS deployment target).