def test_IJ(adjcube):
"""Tests the I and J operators."""
from pydft.bases.fourier import I, J
#This also tests accessing the geometry via the global variable.
Sprod = np.prod(adjcube.S)
for i in range(10):
v = np.random.random(size=Sprod)
#Our v is real; but due to round-off problems, there will be
#tiny imaginary values. Chop them off.
it = J(I(v))
if abs(np.max(np.imag(it))) < 1e-14:
it = np.real(it)
assert np.allclose(it, v)
评论列表
文章目录