qrjoint 2.1-0
- 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.