CUQIpy 1.1.1.post0.dev104__tar.gz → 1.2.0.post0.dev6__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.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/CUQIpy.egg-info/PKG-INFO +1 -1
  2. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/PKG-INFO +1 -1
  3. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/_version.py +3 -3
  4. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/distribution/_uniform.py +12 -0
  5. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/tests/test_distributions_shape.py +2 -1
  6. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/CUQIpy.egg-info/SOURCES.txt +0 -0
  7. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/CUQIpy.egg-info/dependency_links.txt +0 -0
  8. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/CUQIpy.egg-info/requires.txt +0 -0
  9. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/CUQIpy.egg-info/top_level.txt +0 -0
  10. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/LICENSE +0 -0
  11. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/README.md +0 -0
  12. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/__init__.py +0 -0
  13. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/_messages.py +0 -0
  14. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/array/__init__.py +0 -0
  15. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/array/_array.py +0 -0
  16. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/config.py +0 -0
  17. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/data/__init__.py +0 -0
  18. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/data/_data.py +0 -0
  19. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/data/astronaut.npz +0 -0
  20. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/data/camera.npz +0 -0
  21. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/data/cat.npz +0 -0
  22. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/data/cookie.png +0 -0
  23. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/data/satellite.mat +0 -0
  24. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/density/__init__.py +0 -0
  25. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/density/_density.py +0 -0
  26. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/diagnostics.py +0 -0
  27. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/distribution/__init__.py +0 -0
  28. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/distribution/_beta.py +0 -0
  29. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/distribution/_cauchy.py +0 -0
  30. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/distribution/_cmrf.py +0 -0
  31. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/distribution/_custom.py +0 -0
  32. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/distribution/_distribution.py +0 -0
  33. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/distribution/_gamma.py +0 -0
  34. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/distribution/_gaussian.py +0 -0
  35. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/distribution/_gmrf.py +0 -0
  36. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/distribution/_inverse_gamma.py +0 -0
  37. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/distribution/_joint_distribution.py +0 -0
  38. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/distribution/_laplace.py +0 -0
  39. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/distribution/_lmrf.py +0 -0
  40. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/distribution/_lognormal.py +0 -0
  41. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/distribution/_modifiedhalfnormal.py +0 -0
  42. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/distribution/_normal.py +0 -0
  43. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/distribution/_posterior.py +0 -0
  44. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/distribution/_smoothed_laplace.py +0 -0
  45. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/experimental/__init__.py +0 -0
  46. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/experimental/mcmc/__init__.py +0 -0
  47. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/experimental/mcmc/_conjugate.py +0 -0
  48. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/experimental/mcmc/_conjugate_approx.py +0 -0
  49. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/experimental/mcmc/_cwmh.py +0 -0
  50. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/experimental/mcmc/_direct.py +0 -0
  51. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/experimental/mcmc/_gibbs.py +0 -0
  52. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/experimental/mcmc/_hmc.py +0 -0
  53. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/experimental/mcmc/_langevin_algorithm.py +0 -0
  54. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/experimental/mcmc/_laplace_approximation.py +0 -0
  55. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/experimental/mcmc/_mh.py +0 -0
  56. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/experimental/mcmc/_pcn.py +0 -0
  57. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/experimental/mcmc/_rto.py +0 -0
  58. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/experimental/mcmc/_sampler.py +0 -0
  59. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/experimental/mcmc/_utilities.py +0 -0
  60. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/geometry/__init__.py +0 -0
  61. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/geometry/_geometry.py +0 -0
  62. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/implicitprior/__init__.py +0 -0
  63. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/implicitprior/_regularizedGMRF.py +0 -0
  64. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/implicitprior/_regularizedGaussian.py +0 -0
  65. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/implicitprior/_regularizedUnboundedUniform.py +0 -0
  66. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/likelihood/__init__.py +0 -0
  67. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/likelihood/_likelihood.py +0 -0
  68. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/model/__init__.py +0 -0
  69. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/model/_model.py +0 -0
  70. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/operator/__init__.py +0 -0
  71. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/operator/_operator.py +0 -0
  72. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/pde/__init__.py +0 -0
  73. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/pde/_pde.py +0 -0
  74. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/problem/__init__.py +0 -0
  75. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/problem/_problem.py +0 -0
  76. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/sampler/__init__.py +0 -0
  77. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/sampler/_conjugate.py +0 -0
  78. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/sampler/_conjugate_approx.py +0 -0
  79. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/sampler/_cwmh.py +0 -0
  80. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/sampler/_gibbs.py +0 -0
  81. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/sampler/_hmc.py +0 -0
  82. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/sampler/_langevin_algorithm.py +0 -0
  83. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/sampler/_laplace_approximation.py +0 -0
  84. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/sampler/_mh.py +0 -0
  85. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/sampler/_pcn.py +0 -0
  86. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/sampler/_rto.py +0 -0
  87. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/sampler/_sampler.py +0 -0
  88. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/samples/__init__.py +0 -0
  89. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/samples/_samples.py +0 -0
  90. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/solver/__init__.py +0 -0
  91. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/solver/_solver.py +0 -0
  92. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/testproblem/__init__.py +0 -0
  93. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/testproblem/_testproblem.py +0 -0
  94. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/utilities/__init__.py +0 -0
  95. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/utilities/_get_python_variable_name.py +0 -0
  96. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/cuqi/utilities/_utilities.py +0 -0
  97. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/pyproject.toml +0 -0
  98. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/requirements.txt +0 -0
  99. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/setup.cfg +0 -0
  100. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/setup.py +0 -0
  101. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/tests/test_MRFs.py +0 -0
  102. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/tests/test_abstract_distribution_density.py +0 -0
  103. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/tests/test_bayesian_inversion.py +0 -0
  104. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/tests/test_density.py +0 -0
  105. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/tests/test_distribution.py +0 -0
  106. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/tests/test_geometry.py +0 -0
  107. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/tests/test_implicit_priors.py +0 -0
  108. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/tests/test_joint_distribution.py +0 -0
  109. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/tests/test_likelihood.py +0 -0
  110. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/tests/test_model.py +0 -0
  111. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/tests/test_pde.py +0 -0
  112. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/tests/test_posterior.py +0 -0
  113. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/tests/test_problem.py +0 -0
  114. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/tests/test_sampler.py +0 -0
  115. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/tests/test_samples.py +0 -0
  116. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/tests/test_solver.py +0 -0
  117. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/tests/test_testproblem.py +0 -0
  118. {cuqipy-1.1.1.post0.dev104 → cuqipy-1.2.0.post0.dev6}/tests/test_utilities.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: CUQIpy
3
- Version: 1.1.1.post0.dev104
3
+ Version: 1.2.0.post0.dev6
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.1.1.post0.dev104
3
+ Version: 1.2.0.post0.dev6
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-26T10:45:39+0200",
12
12
  "dirty": false,
13
13
  "error": null,
14
- "full-revisionid": "59ae0d0a693ec03a3282cffb9dc148e0729b3468",
15
- "version": "1.1.1.post0.dev104"
14
+ "full-revisionid": "d00b1c910863237ecb20eef45804b254af31f094",
15
+ "version": "1.2.0.post0.dev6"
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:
@@ -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