NEWS
qrjoint 2.1-0 (2026-09-11)
- The C computational engine has been rewritten in Rcpp/RcppArmadillo,
replacing the legacy
.C() interface. qde() and qrjoint() now share a
single underlying engine.
- Fixed a bug in
qrjoint() (not qde()) where observations with
zero weight (wt = 0) could produce NaN in the log-posterior,
potentially freezing the MCMC chain. Zero-weight observations now
correctly contribute nothing to the likelihood, as documented. This has
no effect on models fit with the default (all nonzero) weights.
- Performance improvements, all exact (no change to the statistical model):
Gaussian-process components are now cached and only recomputed for the
MCMC blocks that actually change them; a redundant per-grid-point
quantile-function evaluation in the base distribution is now computed
once per log-posterior evaluation instead of once per grid point; and the
per-observation quantile-bracket search now uses binary search instead of
a linear scan. Combined, these give roughly a 1.7-1.9x speedup on typical
problem sizes with identical statistical results.
- Added a more numerically robust Cholesky factorization for the adaptive
proposal covariance, with jitter-based recovery on failure instead of
silently propagating
NaN.
- Updated the
redmaple data source URL in the documentation.