CUQIpy 1.3.0.post0.dev383__tar.gz → 1.3.0.post0.dev395__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of CUQIpy might be problematic. Click here for more details.
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/CUQIpy.egg-info/PKG-INFO +1 -1
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/PKG-INFO +1 -1
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/_version.py +3 -3
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/distribution/_posterior.py +9 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/experimental/mcmc/_gibbs.py +11 -19
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/experimental/mcmc/_hmc.py +3 -1
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/CUQIpy.egg-info/SOURCES.txt +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/CUQIpy.egg-info/dependency_links.txt +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/CUQIpy.egg-info/requires.txt +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/CUQIpy.egg-info/top_level.txt +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/LICENSE +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/README.md +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/__init__.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/_messages.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/array/__init__.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/array/_array.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/config.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/data/__init__.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/data/_data.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/data/astronaut.npz +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/data/camera.npz +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/data/cat.npz +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/data/cookie.png +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/data/satellite.mat +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/density/__init__.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/density/_density.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/diagnostics.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/distribution/__init__.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/distribution/_beta.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/distribution/_cauchy.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/distribution/_cmrf.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/distribution/_custom.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/distribution/_distribution.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/distribution/_gamma.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/distribution/_gaussian.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/distribution/_gmrf.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/distribution/_inverse_gamma.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/distribution/_joint_distribution.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/distribution/_laplace.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/distribution/_lmrf.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/distribution/_lognormal.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/distribution/_modifiedhalfnormal.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/distribution/_normal.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/distribution/_smoothed_laplace.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/distribution/_truncated_normal.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/distribution/_uniform.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/experimental/__init__.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/experimental/_recommender.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/experimental/algebra/__init__.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/experimental/algebra/_ast.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/experimental/algebra/_orderedset.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/experimental/algebra/_randomvariable.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/experimental/geometry/__init__.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/experimental/geometry/_productgeometry.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/experimental/mcmc/__init__.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/experimental/mcmc/_conjugate.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/experimental/mcmc/_conjugate_approx.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/experimental/mcmc/_cwmh.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/experimental/mcmc/_direct.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/experimental/mcmc/_langevin_algorithm.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/experimental/mcmc/_laplace_approximation.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/experimental/mcmc/_mh.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/experimental/mcmc/_pcn.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/experimental/mcmc/_rto.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/experimental/mcmc/_sampler.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/geometry/__init__.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/geometry/_geometry.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/implicitprior/__init__.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/implicitprior/_regularizedGMRF.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/implicitprior/_regularizedGaussian.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/implicitprior/_regularizedUnboundedUniform.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/implicitprior/_restorator.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/likelihood/__init__.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/likelihood/_likelihood.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/model/__init__.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/model/_model.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/operator/__init__.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/operator/_operator.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/pde/__init__.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/pde/_pde.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/problem/__init__.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/problem/_problem.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/sampler/__init__.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/sampler/_conjugate.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/sampler/_conjugate_approx.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/sampler/_cwmh.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/sampler/_gibbs.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/sampler/_hmc.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/sampler/_langevin_algorithm.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/sampler/_laplace_approximation.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/sampler/_mh.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/sampler/_pcn.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/sampler/_rto.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/sampler/_sampler.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/samples/__init__.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/samples/_samples.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/solver/__init__.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/solver/_solver.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/testproblem/__init__.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/testproblem/_testproblem.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/utilities/__init__.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/utilities/_get_python_variable_name.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/utilities/_utilities.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/pyproject.toml +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/requirements.txt +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/setup.cfg +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/setup.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/tests/test_MRFs.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/tests/test_abstract_distribution_density.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/tests/test_bayesian_inversion.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/tests/test_density.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/tests/test_distribution.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/tests/test_distributions_shape.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/tests/test_geometry.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/tests/test_implicit_priors.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/tests/test_joint_distribution.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/tests/test_likelihood.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/tests/test_model.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/tests/test_pde.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/tests/test_posterior.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/tests/test_problem.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/tests/test_sampler.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/tests/test_samples.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/tests/test_solver.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/tests/test_testproblem.py +0 -0
- {cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/tests/test_utilities.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: CUQIpy
|
|
3
|
-
Version: 1.3.0.post0.
|
|
3
|
+
Version: 1.3.0.post0.dev395
|
|
4
4
|
Summary: Computational Uncertainty Quantification for Inverse problems in Python
|
|
5
5
|
Maintainer-email: "Nicolai A. B. Riis" <nabr@dtu.dk>, "Jakob S. Jørgensen" <jakj@dtu.dk>, "Amal M. Alghamdi" <amaal@dtu.dk>, Chao Zhang <chaz@dtu.dk>
|
|
6
6
|
License: Apache License
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: CUQIpy
|
|
3
|
-
Version: 1.3.0.post0.
|
|
3
|
+
Version: 1.3.0.post0.dev395
|
|
4
4
|
Summary: Computational Uncertainty Quantification for Inverse problems in Python
|
|
5
5
|
Maintainer-email: "Nicolai A. B. Riis" <nabr@dtu.dk>, "Jakob S. Jørgensen" <jakj@dtu.dk>, "Amal M. Alghamdi" <amaal@dtu.dk>, Chao Zhang <chaz@dtu.dk>
|
|
6
6
|
License: Apache License
|
|
@@ -8,11 +8,11 @@ import json
|
|
|
8
8
|
|
|
9
9
|
version_json = '''
|
|
10
10
|
{
|
|
11
|
-
"date": "2025-09-
|
|
11
|
+
"date": "2025-09-19T16:37:46+0300",
|
|
12
12
|
"dirty": false,
|
|
13
13
|
"error": null,
|
|
14
|
-
"full-revisionid": "
|
|
15
|
-
"version": "1.3.0.post0.
|
|
14
|
+
"full-revisionid": "2cf72ec9af9af17dad4bb3870ee20d303376de24",
|
|
15
|
+
"version": "1.3.0.post0.dev395"
|
|
16
16
|
}
|
|
17
17
|
''' # END VERSION_JSON
|
|
18
18
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from cuqi.geometry import _DefaultGeometry, _get_identity_geometries
|
|
2
2
|
from cuqi.distribution import Distribution
|
|
3
|
+
from cuqi.density import Density
|
|
3
4
|
|
|
4
5
|
# ========================================================================
|
|
5
6
|
class Posterior(Distribution):
|
|
@@ -25,6 +26,14 @@ class Posterior(Distribution):
|
|
|
25
26
|
self.prior = prior
|
|
26
27
|
super().__init__(**kwargs)
|
|
27
28
|
|
|
29
|
+
def get_density(self, name) -> Density:
|
|
30
|
+
""" Return a density with the given name. """
|
|
31
|
+
if name == self.likelihood.name:
|
|
32
|
+
return self.likelihood
|
|
33
|
+
if name == self.prior.name:
|
|
34
|
+
return self.prior
|
|
35
|
+
raise ValueError(f"No density with name {name}.")
|
|
36
|
+
|
|
28
37
|
@property
|
|
29
38
|
def data(self):
|
|
30
39
|
return self.likelihood.data
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
from cuqi.distribution import JointDistribution
|
|
1
|
+
from cuqi.distribution import JointDistribution, Posterior
|
|
2
2
|
from cuqi.experimental.mcmc import Sampler
|
|
3
3
|
from cuqi.samples import Samples, JointSamples
|
|
4
|
-
from cuqi.experimental.mcmc import NUTS
|
|
5
4
|
from typing import Dict
|
|
6
5
|
import numpy as np
|
|
7
6
|
import warnings
|
|
@@ -36,11 +35,10 @@ class HybridGibbs:
|
|
|
36
35
|
Gelman et al. "Bayesian Data Analysis" (2014), Third Edition
|
|
37
36
|
for more details.
|
|
38
37
|
|
|
39
|
-
In each Gibbs step, the corresponding sampler
|
|
40
|
-
|
|
41
|
-
and the
|
|
42
|
-
|
|
43
|
-
their internal state between Gibbs steps.
|
|
38
|
+
In each Gibbs step, the corresponding sampler state and history are stored,
|
|
39
|
+
then the sampler is reinitialized. After reinitialization, the sampler state
|
|
40
|
+
and history are set back to the stored values. This ensures preserving the
|
|
41
|
+
statefulness of the samplers.
|
|
44
42
|
|
|
45
43
|
The order in which the conditionals are sampled is the order of the
|
|
46
44
|
variables in the sampling strategy, unless a different sampling order
|
|
@@ -177,8 +175,8 @@ class HybridGibbs:
|
|
|
177
175
|
# ------------ Public methods ------------
|
|
178
176
|
def validate_targets(self):
|
|
179
177
|
""" Validate each of the conditional targets used in the Gibbs steps """
|
|
180
|
-
if not isinstance(self.target, JointDistribution):
|
|
181
|
-
raise ValueError('Target distribution must be a JointDistribution.')
|
|
178
|
+
if not isinstance(self.target, (JointDistribution, Posterior)):
|
|
179
|
+
raise ValueError('Target distribution must be a JointDistribution or Posterior.')
|
|
182
180
|
for sampler in self.samplers.values():
|
|
183
181
|
sampler.validate_target()
|
|
184
182
|
|
|
@@ -257,19 +255,15 @@ class HybridGibbs:
|
|
|
257
255
|
# before reinitializing the sampler and then set the state and history back to the sampler
|
|
258
256
|
|
|
259
257
|
# Extract state and history from sampler
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
else:
|
|
263
|
-
sampler_state = sampler.get_state()
|
|
264
|
-
sampler_history = sampler.get_history()
|
|
258
|
+
sampler_state = sampler.get_state()
|
|
259
|
+
sampler_history = sampler.get_history()
|
|
265
260
|
|
|
266
261
|
# Reinitialize sampler
|
|
267
262
|
sampler.reinitialize()
|
|
268
263
|
|
|
269
264
|
# Set state and history back to sampler
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
sampler.set_history(sampler_history)
|
|
265
|
+
sampler.set_state(sampler_state)
|
|
266
|
+
sampler.set_history(sampler_history)
|
|
273
267
|
|
|
274
268
|
# Allow for multiple sampling steps in each Gibbs step
|
|
275
269
|
for _ in range(self.num_sampling_steps[par_name]):
|
|
@@ -309,8 +303,6 @@ class HybridGibbs:
|
|
|
309
303
|
def _initialize_samplers(self):
|
|
310
304
|
""" Initialize samplers """
|
|
311
305
|
for sampler in self.samplers.values():
|
|
312
|
-
if isinstance(sampler, NUTS):
|
|
313
|
-
print(f'Warning: NUTS sampler is not fully stateful in HybridGibbs. Sampler will be reinitialized in each Gibbs step.')
|
|
314
306
|
sampler.initialize()
|
|
315
307
|
|
|
316
308
|
def _initialize_num_sampling_steps(self):
|
|
@@ -118,8 +118,10 @@ class NUTS(Sampler):
|
|
|
118
118
|
# to epsilon_bar for the remaining sampling steps.
|
|
119
119
|
if self.step_size is None:
|
|
120
120
|
self._epsilon = self._FindGoodEpsilon()
|
|
121
|
+
self.step_size = self._epsilon
|
|
121
122
|
else:
|
|
122
123
|
self._epsilon = self.step_size
|
|
124
|
+
|
|
123
125
|
self._epsilon_bar = "unset"
|
|
124
126
|
|
|
125
127
|
# Parameter mu, does not change during the run
|
|
@@ -127,7 +129,7 @@ class NUTS(Sampler):
|
|
|
127
129
|
|
|
128
130
|
self._H_bar = 0
|
|
129
131
|
|
|
130
|
-
# NUTS run
|
|
132
|
+
# NUTS run diagnostics
|
|
131
133
|
# number of tree nodes created each NUTS iteration
|
|
132
134
|
self._num_tree_node = 0
|
|
133
135
|
|
|
File without changes
|
{cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/CUQIpy.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/distribution/_joint_distribution.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/distribution/_modifiedhalfnormal.py
RENAMED
|
File without changes
|
|
File without changes
|
{cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/distribution/_smoothed_laplace.py
RENAMED
|
File without changes
|
{cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/distribution/_truncated_normal.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/experimental/algebra/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/experimental/algebra/_orderedset.py
RENAMED
|
File without changes
|
{cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/experimental/algebra/_randomvariable.py
RENAMED
|
File without changes
|
{cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/experimental/geometry/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/experimental/mcmc/_conjugate.py
RENAMED
|
File without changes
|
{cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/experimental/mcmc/_conjugate_approx.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/implicitprior/_regularizedGMRF.py
RENAMED
|
File without changes
|
{cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/implicitprior/_regularizedGaussian.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/sampler/_laplace_approximation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/cuqi/utilities/_get_python_variable_name.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cuqipy-1.3.0.post0.dev383 → cuqipy-1.3.0.post0.dev395}/tests/test_abstract_distribution_density.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|