We’ve just released the newest version of NIMBLE on CRAN and on our website. Version 0.6-4 has a bunch of new functionality for writing your own algorithms (using a natural R-like syntax) that can operate on user-provided models, specified using BUGS syntax. It also enhances the functionality of our built-in MCMC and other algorithms.
- addition of the functions c(), seq(), rep(), `:`, diag(), dim(), and which() for use in the NIMBLE language (i.e., run code) — usage generally mimics usage in R;
- a complete reorganization of the User Manual, with the goal of clarifying how one can write nimbleFunctions to program with models;
- addition of the adaptive factor slice sampler, which can improve MCMC sampling for correlated blocks of parameters;
- addition of a new sampler that can handle non-conjugate Dirichlet settings;
- addition of a nimbleList data structure that behaves like R lists for use in nimbleFunctions;
- addition of eigendecomposition and SVD functions for use in the NIMBLE language;
- additional flexibility in providing initial values for numeric(), logical(), integer(), matrix(), and array();
- logical vectors and operators can now be used in the NIMBLE language;
- indexing of vectors and matrices can now use arbitrary numeric and logical vectors;
- one can now index a vector of node names provided to values(), and more general indexing of node names in calculate(), simulate(), calculateDiff() and getLogProb();
- addition of the inverse-gamma distribution;
- use of recycling for distribution functions used in the NIMBLE language;
- enhanced MCMC configuration functionality;
- users can specify a user-defined BUGS distribution by simply providing a user-defined ‘d’ function without an ‘r’ function for use when an algorithm doesn’t need the ‘r’ function;
- and a variety of bug fixes, speedups, and better error trapping and checking.
Please see the NEWS file in the installed package for more details.