CUQIpy 1.2.0__tar.gz → 1.2.0.post0.dev8__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.

Files changed (118) hide show
  1. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/CUQIpy.egg-info/PKG-INFO +1 -1
  2. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/PKG-INFO +1 -1
  3. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/_version.py +3 -3
  4. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/distribution/_uniform.py +12 -0
  5. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/problem/_problem.py +1 -1
  6. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/tests/test_distributions_shape.py +2 -1
  7. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/CUQIpy.egg-info/SOURCES.txt +0 -0
  8. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/CUQIpy.egg-info/dependency_links.txt +0 -0
  9. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/CUQIpy.egg-info/requires.txt +0 -0
  10. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/CUQIpy.egg-info/top_level.txt +0 -0
  11. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/LICENSE +0 -0
  12. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/README.md +0 -0
  13. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/__init__.py +0 -0
  14. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/_messages.py +0 -0
  15. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/array/__init__.py +0 -0
  16. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/array/_array.py +0 -0
  17. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/config.py +0 -0
  18. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/data/__init__.py +0 -0
  19. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/data/_data.py +0 -0
  20. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/data/astronaut.npz +0 -0
  21. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/data/camera.npz +0 -0
  22. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/data/cat.npz +0 -0
  23. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/data/cookie.png +0 -0
  24. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/data/satellite.mat +0 -0
  25. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/density/__init__.py +0 -0
  26. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/density/_density.py +0 -0
  27. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/diagnostics.py +0 -0
  28. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/distribution/__init__.py +0 -0
  29. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/distribution/_beta.py +0 -0
  30. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/distribution/_cauchy.py +0 -0
  31. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/distribution/_cmrf.py +0 -0
  32. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/distribution/_custom.py +0 -0
  33. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/distribution/_distribution.py +0 -0
  34. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/distribution/_gamma.py +0 -0
  35. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/distribution/_gaussian.py +0 -0
  36. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/distribution/_gmrf.py +0 -0
  37. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/distribution/_inverse_gamma.py +0 -0
  38. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/distribution/_joint_distribution.py +0 -0
  39. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/distribution/_laplace.py +0 -0
  40. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/distribution/_lmrf.py +0 -0
  41. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/distribution/_lognormal.py +0 -0
  42. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/distribution/_modifiedhalfnormal.py +0 -0
  43. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/distribution/_normal.py +0 -0
  44. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/distribution/_posterior.py +0 -0
  45. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/distribution/_smoothed_laplace.py +0 -0
  46. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/experimental/__init__.py +0 -0
  47. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/experimental/mcmc/__init__.py +0 -0
  48. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/experimental/mcmc/_conjugate.py +0 -0
  49. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/experimental/mcmc/_conjugate_approx.py +0 -0
  50. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/experimental/mcmc/_cwmh.py +0 -0
  51. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/experimental/mcmc/_direct.py +0 -0
  52. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/experimental/mcmc/_gibbs.py +0 -0
  53. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/experimental/mcmc/_hmc.py +0 -0
  54. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/experimental/mcmc/_langevin_algorithm.py +0 -0
  55. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/experimental/mcmc/_laplace_approximation.py +0 -0
  56. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/experimental/mcmc/_mh.py +0 -0
  57. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/experimental/mcmc/_pcn.py +0 -0
  58. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/experimental/mcmc/_rto.py +0 -0
  59. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/experimental/mcmc/_sampler.py +0 -0
  60. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/experimental/mcmc/_utilities.py +0 -0
  61. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/geometry/__init__.py +0 -0
  62. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/geometry/_geometry.py +0 -0
  63. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/implicitprior/__init__.py +0 -0
  64. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/implicitprior/_regularizedGMRF.py +0 -0
  65. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/implicitprior/_regularizedGaussian.py +0 -0
  66. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/implicitprior/_regularizedUnboundedUniform.py +0 -0
  67. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/likelihood/__init__.py +0 -0
  68. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/likelihood/_likelihood.py +0 -0
  69. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/model/__init__.py +0 -0
  70. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/model/_model.py +0 -0
  71. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/operator/__init__.py +0 -0
  72. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/operator/_operator.py +0 -0
  73. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/pde/__init__.py +0 -0
  74. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/pde/_pde.py +0 -0
  75. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/problem/__init__.py +0 -0
  76. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/sampler/__init__.py +0 -0
  77. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/sampler/_conjugate.py +0 -0
  78. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/sampler/_conjugate_approx.py +0 -0
  79. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/sampler/_cwmh.py +0 -0
  80. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/sampler/_gibbs.py +0 -0
  81. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/sampler/_hmc.py +0 -0
  82. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/sampler/_langevin_algorithm.py +0 -0
  83. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/sampler/_laplace_approximation.py +0 -0
  84. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/sampler/_mh.py +0 -0
  85. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/sampler/_pcn.py +0 -0
  86. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/sampler/_rto.py +0 -0
  87. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/sampler/_sampler.py +0 -0
  88. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/samples/__init__.py +0 -0
  89. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/samples/_samples.py +0 -0
  90. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/solver/__init__.py +0 -0
  91. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/solver/_solver.py +0 -0
  92. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/testproblem/__init__.py +0 -0
  93. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/testproblem/_testproblem.py +0 -0
  94. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/utilities/__init__.py +0 -0
  95. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/utilities/_get_python_variable_name.py +0 -0
  96. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/cuqi/utilities/_utilities.py +0 -0
  97. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/pyproject.toml +0 -0
  98. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/requirements.txt +0 -0
  99. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/setup.cfg +0 -0
  100. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/setup.py +0 -0
  101. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/tests/test_MRFs.py +0 -0
  102. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/tests/test_abstract_distribution_density.py +0 -0
  103. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/tests/test_bayesian_inversion.py +0 -0
  104. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/tests/test_density.py +0 -0
  105. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/tests/test_distribution.py +0 -0
  106. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/tests/test_geometry.py +0 -0
  107. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/tests/test_implicit_priors.py +0 -0
  108. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/tests/test_joint_distribution.py +0 -0
  109. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/tests/test_likelihood.py +0 -0
  110. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/tests/test_model.py +0 -0
  111. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/tests/test_pde.py +0 -0
  112. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/tests/test_posterior.py +0 -0
  113. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/tests/test_problem.py +0 -0
  114. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/tests/test_sampler.py +0 -0
  115. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/tests/test_samples.py +0 -0
  116. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/tests/test_solver.py +0 -0
  117. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/tests/test_testproblem.py +0 -0
  118. {cuqipy-1.2.0 → cuqipy-1.2.0.post0.dev8}/tests/test_utilities.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: CUQIpy
3
- Version: 1.2.0
3
+ Version: 1.2.0.post0.dev8
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.1
2
2
  Name: CUQIpy
3
- Version: 1.2.0
3
+ Version: 1.2.0.post0.dev8
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": "2024-09-13T10:02:02+0200",
11
+ "date": "2024-09-30T09:16:05+0200",
12
12
  "dirty": false,
13
13
  "error": null,
14
- "full-revisionid": "59ae0d0a693ec03a3282cffb9dc148e0729b3468",
15
- "version": "1.2.0"
14
+ "full-revisionid": "915f2f14ca7a4f588b561d25a1c4a47b8e295835",
15
+ "version": "1.2.0.post0.dev8"
16
16
  }
17
17
  ''' # END VERSION_JSON
18
18
 
@@ -21,6 +21,9 @@ class Uniform(Distribution):
21
21
  self.high = high
22
22
 
23
23
  def logpdf(self, x):
24
+ """
25
+ Evaluate the logarithm of the PDF at the given values of x.
26
+ """
24
27
  # First check whether x is outside bounds.
25
28
  # It is outside if any coordinate is outside the interval.
26
29
  if np.any(x < self.low) or np.any(x > self.high):
@@ -38,6 +41,15 @@ class Uniform(Distribution):
38
41
  return_val = np.log(1.0/v)
39
42
  return return_val
40
43
 
44
+ def gradient(self, x):
45
+ """
46
+ Computes the gradient of logpdf at the given values of x.
47
+ """
48
+ if np.any(x < self.low) or np.any(x > self.high):
49
+ return np.NaN*np.ones_like(x)
50
+ else:
51
+ return np.zeros_like(x)
52
+
41
53
  def _sample(self,N=1, rng=None):
42
54
 
43
55
  if rng is not None:
@@ -614,7 +614,7 @@ class BayesianProblem(object):
614
614
 
615
615
  scale = 0.02
616
616
 
617
- sampler = cuqi.experimental.mcmc.pCN(self.posterior, scale, callback=callback)
617
+ sampler = cuqi.experimental.mcmc.PCN(self.posterior, scale, callback=callback)
618
618
 
619
619
  ti = time.time()
620
620
 
@@ -95,7 +95,8 @@ def test_multivariate_scalar_vars_gradient(dist):
95
95
  try:
96
96
  assert np.allclose(
97
97
  dist_from_vec.gradient(val),
98
- dist_from_dim.gradient(val)
98
+ dist_from_dim.gradient(val),
99
+ equal_nan=True
99
100
  )
100
101
  except NotImplementedError:
101
102
  pass # Pass the test if NotImplementedError is raised
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes