Traceback (most recent call last):
File "/home/elichild01/src/koi-utils/scratch/uncertainscibug.py", line 13, in <module>
pce.generate_samples()
~~~~~~~~~~~~~~~~~~~~^^
File "/home/elichild01/src/koi-utils/scratch/.venv/lib/python3.14/site-packages/UncertainSCI/pce.py", line 222, in generate_samples
p_standard = self.distribution.polys.wafp_sampling(
self.index_set.get_indices(), **self.sampling_options)
File "/home/elichild01/src/koi-utils/scratch/.venv/lib/python3.14/site-packages/UncertainSCI/opolynd.py", line 220, in wafp_sampling
x = self.idist_mixture_sampling(K, indices, weights=weights,
fast_sampler=fast_sampler)
File "/home/elichild01/src/koi-utils/scratch/.venv/lib/python3.14/site-packages/UncertainSCI/opolynd.py", line 164, in idist_mixture_sampling
x[:, qd] = idistinv(np.random.random(M), Lambdas[:, qd])
~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/elichild01/src/koi-utils/scratch/.venv/lib/python3.14/site-packages/UncertainSCI/families.py", line 463, in fidistinv
data = self.fidistinv_jacobi_setup(max(n[:]), data)
File "/home/elichild01/src/koi-utils/scratch/.venv/lib/python3.14/site-packages/UncertainSCI/families.py", line 428, in fidistinv_jacobi_setup
data.append(fidistinv_setup_helper2(ug, idistinv, exponents, 10, self.alpha, self.beta)) # , E_n?
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/elichild01/src/koi-utils/scratch/.venv/lib/python3.14/site-packages/UncertainSCI/families.py", line 189, in fidistinv_setup_helper2
xgrid[:, q] = idistinv(ugrid[:, q])
~~~~~~~~^^^^^^^^^^^^^
File "/home/elichild01/src/koi-utils/scratch/.venv/lib/python3.14/site-packages/UncertainSCI/families.py", line 426, in idistinv
return self.idistinv(u, nn)
~~~~~~~~~~~~~^^^^^^^
File "/home/elichild01/src/koi-utils/scratch/.venv/lib/python3.14/site-packages/UncertainSCI/families.py", line 364, in idistinv
x = idistinv_driver(u, n, primitive, ab, supp)
File "/home/elichild01/src/koi-utils/scratch/.venv/lib/python3.14/site-packages/UncertainSCI/opoly1d.py", line 322, in idistinv_driver
x[j] = optimize.bisect(lambda xx: primitive(xx) - u[j], intervals[j, 0], intervals[j, 1])
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/elichild01/src/koi-utils/scratch/.venv/lib/python3.14/site-packages/scipy/optimize/_zeros_py.py", line 595, in bisect
r = _zeros._bisect(f, a, b, xtol, rtol, maxiter, args, full_output, disp)
File "/home/elichild01/src/koi-utils/scratch/.venv/lib/python3.14/site-packages/scipy/optimize/_zeros_py.py", line 94, in f_raise
fx = f(x, *args)
File "/home/elichild01/src/koi-utils/scratch/.venv/lib/python3.14/site-packages/UncertainSCI/opoly1d.py", line 322, in <lambda>
x[j] = optimize.bisect(lambda xx: primitive(xx) - u[j], intervals[j, 0], intervals[j, 1])
~~~~~~~~~^^^^
File "/home/elichild01/src/koi-utils/scratch/.venv/lib/python3.14/site-packages/UncertainSCI/families.py", line 361, in primitive
return self.idist(xx, n, M=M)
~~~~~~~~~~^^^^^^^^^^^^
File "/home/elichild01/src/koi-utils/scratch/.venv/lib/python3.14/site-packages/UncertainSCI/families.py", line 335, in idist
F[np.where(x <= mrs_centroid)] = jacobi_idist_driver(x[np.where(x <= mrs_centroid)], n, self.alpha, self.beta, M)
^^^^^^^^^^^^^^^^^
TypeError: only 0-dimensional arrays can be converted to Python scalars
This was a bug found by Eli a few months ago. As I'm in the process of migrating UncertainSCI to numpy>=2, I thought this would get collected and fixed in the process, but this is turning out to be a bit more complicated than I anticipated.
Here's the MWE Eli provided:
which yields:
Console Log
I'm currently having trouble reproducing this bug on my laptop due to some platform-specific bugs (I think, i.e., I'm getting
SystemError: <function> returned a result with exception set; having repro'd this bug on my other machine and searching thus far suggests to me this is not related to UncertainSCI and is instead something with the dependency builds for my laptop, which is itself unrelated but worth investigating). Nonetheless, I verified this on different hardware and can confirm that the bump to numpy>=2 causes this bug to appear.