Skip to content

Releases: mjziebarth/REHEATFUNQ

Version 2.0.2

23 Sep 07:33
Compare
Choose a tag to compare

[2.0.2] - 2024-09-23

Changed

  • Adjust quantileinverter.cpp to refactored code in Boost 1.84.
  • Update Boost version in Dockerfile.

Version 2.0.1 (documentation update 0)

06 Jan 22:30
Compare
Choose a tag to compare

[2.0.1] - 2023-01-06

Added

  • Added the build-Dockerfile-stable.sh script that automates the
    Dockerfile-stable build process from a fresh repository.
  • Added an import test to the build process of the Dockerfile-stable
    container.

Changed

  • Fixed the container build script for the Dockerfile-stable container.

Version 2.0.1

06 Jan 22:04
Compare
Choose a tag to compare

[2.0.1] - 2023-01-06

Added

  • Added the build-Dockerfile-stable.sh script that automates the
    Dockerfile-stable build process from a fresh repository.
  • Added an import test to the build process of the Dockerfile-stable
    container.

Changed

  • Fixed the container build script for the Dockerfile-stable container.

Version 2.0.0

02 Jan 19:08
Compare
Choose a tag to compare

[2.0.0] - 2023-01-02

Added

  • Added a function value cache for the minimum surprise estimate of the gamma
    conjugate prior. The cache can be generated using the
    GammaConjugatePrior.minimum_surprise_estimate_cache method and is tied to
    a specific set of heat flow samples and $a_\mathrm{min}$. The function cache
    uses binary search to speed up repetitive calls within the SHGO optimization
    algorithm and can be pickled.
  • Added batch evaluation of the maximum Kullback-Leibler distance from a
    reference GammaConjugatePrior to a set of other prior parameterizations.
  • Enable returning the scipy.optimize.OptimizeResult of the SHGO optimization
    in the gamma conjugate prior minimum surprise estimate.
  • Added discovery (on failure) of system NumPy packages in isolated Python
    build environments in numpy-include.py. Compile and link against that
    system NumPy version.
  • Added option to pass random number generator or seed to
    HeatFlowAnomalyPosterior for repeatability.
  • Added option to pass multiple Anomaly instances with weights to the
    HeatFlowAnomalyPosterior class. This allows the Bayesian treatment of
    uncertainties in the heat flow anomaly model or parameters. The discrete
    anomaly dimension is included in the treatment of the minimum distance
    criterion by Monte-Carlo sampling. The parameter n_bootstrap allows
    to control the maximum number of Monte-Carlo samples that are generated.
  • Added an internally used piecewise barycentric Lagrange interpolator (BLI) class
  • Added use of shgofast Python module for increased performance in SHGO.
  • Add notebook A13-Gamma-Landscape.ipynb that implements the point-of-interest
    (POI) sampling toy model.
  • Allow switching of PDF backend (explicit / BLI / Simpson).
  • Added CITATION.cff.
  • Added optional naive MPMath implementation of the posterior for crosschecking
    purposes.
  • Check whether heat flow anomaly posterior is normalizeable.
  • Added facility to query internal state of HeatFlowAnomalyPosterior.
  • Add a function to compute the $P_{H,\mathrm{max}}$ possible throughout all permutations.
  • Added function determine_restricted_samples to determine fully (if possible)
    or approximate stochastically the set of permutations according to the $d_\mathrm{min}$
    criterion.
  • Sped up evaluations of the HeatFlowAnomalyPosterior PDF & CDF(s) by means
    of interpolation (BLI), parallization, and removal of redundant computations
    (see 463319c
    for a complete list)

Changed

  • Change likelihood in HeatFlowPredictive and HeatFlowAnomalyPosterior
    classes to include the latent parameter $j$ that iterates the $d_\mathrm{min}$
    permutations.
  • Incompatible API changes for some (keyword-)arguments of HeatFlowAnomalyPosterior
    and HeatFlowPredictive. These changes reflect the model definition changes
    and the numerical improvements that make some arguments obsolete.
  • Internal numerics: rewrite HeatFlowAnomalyPosterior code with templated
    precision. Simplify parts of this code and fix a number of numeric bugs.
    Allow precision to be selected from Python.
  • Change HeatFlowAnomalyPosterior CDF/cCDF computation to use a divide-and-conquer
    adaptive Simpson's rule (Lagrange interpolator).
  • Internal numerics: series approximation of the difference of $\ln \Gamma$
    functions appearing in various parts of the HeatFlowAnomalyPosterior code
    to eliminate cancellation errors and costly lgamma evaluations.
  • Documentation details and fixes
  • Github workflow fix
  • Minor updates to the notebooks requested in review
  • Internal numerics: in GammaConjugatePrior normalization use more
    robust determination of the maximum of the α-integration.
  • Internal: use long double in GammaConjugatePrior normalization.
  • Change to pyproject.toml build system.
  • Fixed the build of Dockerfile and updated to Debian Bookworm.
  • Fixed a problem with the access of NumPy headers in Cython files on some
    systems in isolated build mode.
  • Fix wrong buffer size in marginal_posterior_tail_quantiles_batch.
  • Changed the following notebooks in jupyter/REHEATFUNQ for the resubmission
    of the REHEATFUNQ paper (https://doi.org/10.5194/egusphere-2023-222):
    03-Gamma-Conjugate-Prior-Parameters.ipynb,
    06-Heat-Flow-Analysis.ipynb, A2-Goodness-of-Fit_R_and-Mixture-Distributions.ipynb,
    A4-Resilience-to-Other-Distributions.ipynb,
    A6-Comparison-With-Other-Distributions.ipynb.
    This includes the convergence analysis of some Monte-Carlo code.
  • Updated the Dockerfile-stable image and fix various build issues.
  • Fix multiple errors in the $z\rightarrow 1$ (large $P_H$) series approximation.
  • Fix multiple numerical errors and bugs in many places of the HeatFlowAnomalyPosterior
    code, and add various numerical sanity checks (see
    463319c)

v1.4.0

02 Feb 07:02
Compare
Choose a tag to compare

[1.4.0] - 2023-02-01

Added

  • Added a method 'bli' to marginal_posterior_tail_quantiles_batch that
    uses barycentric Lagrange interpolation of the tail distribution, evaluated
    at Chebyshev points, to represent the tail distribution when performing
    a TOMS 748 inversion of the tail quantile. The implementation follows
    Berruth & Trefethen (2004) Barycentric Lagrange Interpolation. This new
    method is the new default in HeatFlowAnomalyPosterior.tail_quantiles.
  • Added background grid resolution parameters in GammaConjugatePrior.visualize

Changed

  • Rewrote QuantileInverter class as a templated class that can work
    with numeric types of different precision.
  • Improve unit labelling in GammaConjugatePrior.visualize.
  • Improve jupyter notebook in jupyter/REHEATFUNQ:
    03-Gamma-Conjugate-Prior-Parameters.ipynb, A10-Gamma-Sketch.ipynb.
  • Fix docstring of HeatFlowAnomalyPosterior.tail_quantiles.

v1.3.3+1

23 Jan 08:16
Compare
Choose a tag to compare

This metadata update release is source-identical to v1.3.3. Links to the archival location at GFZ Data Services have been updated, clarifying the documentation that comes with the source.

v1.3.3

18 Jan 21:00
Compare
Choose a tag to compare

[1.3.3] - 2022-12-18

Added

  • Fixed an execution directory in Docker-stable.

v1.3.2

18 Jan 21:00
Compare
Choose a tag to compare

[1.3.2] - 2022-12-18

Added

  • Clarify license in setup.py

Changed

  • Fixed an execution order error in Docker-stable.
  • Small fix in A10-Gamma-Sketch.ipynb.

v1.3.1

18 Jan 10:38
Compare
Choose a tag to compare

[1.3.1] - 2022-12-18

Added

  • Add missing function boost::assertion_failed_msg that caused an undefined
    symbol error on some systems.

v1.3.0

18 Jan 09:38
Compare
Choose a tag to compare

[1.3.0] - 2022-12-18

Added

  • Add AnomalyNearestNeighbor class that can perform the heat flow analysis
    for arbitrary heat flow anomalies sampled at the heat flow data locations.
  • Add length() method to AnomalyLS1980 class.
  • Add backup Gauss-Kronrod quadrature in heat flow anomaly quantification
    backend when computing the transition to the large z expansion backend.
  • Add new Jupyter notebooks A7-Bias-10-Percent-Tail-Quantile-Alpha-Beta.ipynb,
    A8-Data-Size-vs-Variance.ipynb, A9-Simple-Heat-Conduction.ipynb,
    A10-Gamma-Sketch.ipynb, and A11-Sketch-Generate-Permutations.ipynb from
    paper.
  • Add new Jupyter notebook Custom-Anomaly.ipynb that can be used to quickstart
    the analysis of a custom heat flow anomaly using the AnomalyNearestNeighbor
    class.
  • Add compile option to turn of machine-specific code and tuning.
  • Add Docker-stable image that builds all numerical code from scratch,
    hopefully yielding .

Changed

  • Change default unit representation in GammaConjugatePrior.visualize.
  • Update notebooks 01-Load-and-filter-NGHF.ipynb,
    03-Gamma-Conjugate-Prior-Parameters.ipynb,
    04-Global-Map.ipynb, 06-Heat-Flow-Analysis.ipynb, and
    A5-Uniform-Point-Density.ipynb
  • Fix missing installs in Docker image
  • Compile Python package binaries in portable mode.
  • Replace aborts in tanh_sinh quadrature in ziebarth2022a.cpp by exceptions
    and add a fallback for one occurrence of tanh_sinh runtime errors.