Skip to content

Commit

Permalink
Merge pull request qutip#2565 from Ericgig/misc.tests_skip
Browse files Browse the repository at this point in the history
Small tests fixes
  • Loading branch information
Ericgig authored Dec 4, 2024
2 parents 1129459 + 92f0dfc commit efa4410
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 31 deletions.
6 changes: 3 additions & 3 deletions qutip/distributions.py
Original file line number Diff line number Diff line change
Expand Up @@ -315,7 +315,7 @@ def update_psi(self, psi):
sqrt(sqrt(pi) * 2 ** n2 * factorial(n2)) * \
exp(-X2 ** 2 / 2.0) * np.polyval(hermite(n2), X2)
i = state_number_index([N, N], [n1, n2])
p += kn1 * kn2 * psi.data_as()[i, 0]
p += kn1 * kn2 * psi.full()[i, 0]

self.data = abs(p) ** 2

Expand Down Expand Up @@ -352,7 +352,7 @@ def update_rho(self, rho):
for p1 in range(N):
for p2 in range(N):
j = state_number_index([N, N], [p1, p2])
p += M1[n1, p1] * M2[n2, p2] * rho.data_as()[i, j]
p += M1[n1, p1] * M2[n2, p2] * rho.full()[i, j]

self.data = p

Expand Down Expand Up @@ -484,4 +484,4 @@ def update(self, rho):
exp(-self.xvecs[0] ** 2 / 2.0) * \
np.polyval(hermite(n), self.xvecs[0])

self.data += np.conjugate(k_n) * k_m * rho.data_as()[m, n]
self.data += np.conjugate(k_n) * k_m * rho.full()[m, n]
18 changes: 14 additions & 4 deletions qutip/tests/core/test_environment.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import pytest
from importlib.util import find_spec

from numbers import Number

import numpy as np
import mpmath as mp
from scipy.integrate import quad_vec
from qutip.utilities import n_thermal

Expand Down Expand Up @@ -263,6 +263,8 @@ def power_spectrum(self, w, eps=1e-16):
)

def correlation_function(self, t):
mp = pytest.importorskip("mpmath")

# only valid for t >= 0
if self.T == 0:
return self._cf_zeroT(t)
Expand All @@ -281,6 +283,8 @@ def correlation_function(self, t):
])

def _cf_zeroT(self, t):
mp = pytest.importorskip("mpmath")

return (
self.alpha / np.pi * self.wc**(self.s + 1) *
complex(mp.gamma(self.s + 1)) *
Expand Down Expand Up @@ -803,11 +807,17 @@ def test_matsubara_approx(self, params, tag):
])
class TestOhmicEnvironment:
def test_matches_reference(self, params):
mpmath_missing = (find_spec('mpmath') is None)

ref = OhmicReference(**params)
env = OhmicEnvironment(**params)
if mpmath_missing:
with pytest.warns(UserWarning):
env = OhmicEnvironment(**params)
else:
env = OhmicEnvironment(**params)

assert_guarantees(env)
assert_equivalent(env, ref, tol=1e-8)
assert_guarantees(env, skip_cf=mpmath_missing)
assert_equivalent(env, ref, tol=1e-8, skip_cf=mpmath_missing)


class TestCFExponent:
Expand Down
38 changes: 14 additions & 24 deletions qutip/tests/test_visualization.py
Original file line number Diff line number Diff line change
Expand Up @@ -653,67 +653,57 @@ def test_plot_schmidt_Error():
plt.close()


@pytest.fixture(params=["ket", "oper"])
def state(request):
if request.param == "ket":
return qutip.basis([2, 2], [0, 0])
else:
return qutip.fock_dm([2, 2], [0, 0])


@pytest.mark.parametrize(
"state", [qutip.basis([2, 2], [0, 0]), qutip.ket2dm(qutip.basis([1, 1], [0, 0]))]
)
def test_TwoModeQuadratureCorrelation(state):
corr = qutip.TwoModeQuadratureCorrelation(state)

assert isinstance(corr, qutip.distributions.TwoModeQuadratureCorrelation)

@pytest.mark.parametrize(
"state", [qutip.basis([2, 2], [0, 0]), qutip.ket2dm(qutip.basis([1, 1], [0, 0]))]
)

def test_TwoModeQuadratureCorrelation_plot(state):
corr = qutip.TwoModeQuadratureCorrelation(state)

fig, ax = corr.visualize()
plt.close()

assert isinstance(fig, mpl.figure.Figure)
assert isinstance(ax, mpl.axes.Axes)



@pytest.mark.parametrize(
"state", [qutip.basis([2, 2], [0, 0]), qutip.ket2dm(qutip.basis([1, 1], [0, 0]))]
)
def test_HarmonicOscillatorWaveFunction(state):
corr = qutip.HarmonicOscillatorWaveFunction(state)

assert isinstance(corr, qutip.distributions.HarmonicOscillatorWaveFunction)

@pytest.mark.parametrize(
"state", [qutip.basis([2, 2], [0, 0]), qutip.ket2dm(qutip.basis([1, 1], [0, 0]))]
)

def test_HarmonicOscillatorWaveFunction_plot(state):
corr = qutip.HarmonicOscillatorWaveFunction(state)

fig, ax = corr.visualize()
plt.close()

assert isinstance(fig, mpl.figure.Figure)
assert isinstance(ax, mpl.axes.Axes)



@pytest.mark.parametrize(
"state", [qutip.basis([2, 2], [0, 0]), qutip.ket2dm(qutip.basis([1, 1], [0, 0]))]
)
def test_HarmonicOscillatorProbabilityFunction(state):
corr = qutip.HarmonicOscillatorProbabilityFunction(state)

assert isinstance(corr, qutip.distributions.HarmonicOscillatorProbabilityFunction)

@pytest.mark.parametrize(
"state", [qutip.basis([2, 2], [0, 0]), qutip.ket2dm(qutip.basis([1, 1], [0, 0]))]
)

def test_HarmonicOscillatorProbabilityFunction_plot(state):
corr = qutip.HarmonicOscillatorProbabilityFunction(state)

fig, ax = corr.visualize()
plt.close()

assert isinstance(fig, mpl.figure.Figure)
assert isinstance(ax, mpl.axes.Axes)
assert isinstance(ax, mpl.axes.Axes)

0 comments on commit efa4410

Please sign in to comment.