Releases: mjziebarth/REHEATFUNQ
Releases · mjziebarth/REHEATFUNQ
Version 2.0.2
[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)
[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
[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
[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
referenceGammaConjugatePrior
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 innumpy-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 parametern_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
andHeatFlowAnomalyPosterior
classes to include the latent parameter$j$ that iterates the$d_\mathrm{min}$
permutations. - Incompatible API changes for some (keyword-)arguments of
HeatFlowAnomalyPosterior
andHeatFlowPredictive
. 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 theHeatFlowAnomalyPosterior
code
to eliminate cancellation errors and costlylgamma
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
inGammaConjugatePrior
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
[1.4.0] - 2023-02-01
Added
- Added a method
'bli'
tomarginal_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 inHeatFlowAnomalyPosterior.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
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
[1.3.3] - 2022-12-18
Added
- Fixed an execution directory in
Docker-stable
.
v1.3.2
[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
[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
[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 toAnomalyLS1980
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
, andA11-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 theAnomalyNearestNeighbor
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 inziebarth2022a.cpp
by exceptions
and add a fallback for one occurrence oftanh_sinh
runtime errors.