========================
- Adds batch capability to gvar.sample and gvar.raniter so samples can
be created in large batches, which is much more efficient if large
numbers of samples are needed. Also adds similar capability to
gvar.BufferDict when making clones. These changes are useful
for (fast) Monte Carlo simulations: see the section on Sampling GVars
in the tutorial.
- Updates use of numpy's random module to conform with changes in
numpy version 1.17. See the documentation for :func:`gvar.ranseed`.
- New case study (on Creating an Integrator) that illustrates how to
repurpose an existing library function to accommodate GVars.
- The import time for gvar is greatly reduced, especially if numpy has
already been loaded.
- Simplifies gvar.__version__ (no longer uses importlib.metadata, which is buggy
and increases gvar's import time significantly).
- Minor fixes to GVar.set, GVar.__format__, evalcov, evalcov_blocks,
evalcov_blocks_dense, and gvar.dataset.avg_data (when median=unbias=True).