From 004045db40689820a66a7542e9832edaf693978b Mon Sep 17 00:00:00 2001 From: Simon Cross Date: Thu, 2 Jun 2022 13:05:40 +0200 Subject: [PATCH] Update brmesolve for .expect becoming a list and reactivate shadowed spectra coefficient as function test. --- qutip/tests/solver/test_brmesolve.py | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/qutip/tests/solver/test_brmesolve.py b/qutip/tests/solver/test_brmesolve.py index bae3f83033..072f224071 100644 --- a/qutip/tests/solver/test_brmesolve.py +++ b/qutip/tests/solver/test_brmesolve.py @@ -35,9 +35,7 @@ def test_simple_qubit_system(me_c_ops, brme_c_ops, brme_a_ops): times = np.linspace(0, 10, 100) me = qutip.mesolve(H, psi0, times, c_ops=me_c_ops, e_ops=e_ops) brme = brmesolve(H, psi0, times, brme_a_ops, e_ops=e_ops, c_ops=brme_c_ops) - for me_expectation, brme_expectation in zip( - me.expect, brme.expect.values() - ): + for me_expectation, brme_expectation in zip(me.expect, brme.expect): np.testing.assert_allclose(me_expectation, brme_expectation, atol=1e-2) @@ -80,9 +78,7 @@ def test_harmonic_oscillator(n_th): me = qutip.mesolve(H, psi0, times, c_ops, e_ops) brme = brmesolve(H, psi0, times, a_ops, e_ops) - for me_expectation, brme_expectation in zip( - me.expect, brme.expect.values() - ): + for me_expectation, brme_expectation in zip(me.expect, brme.expect): np.testing.assert_allclose(me_expectation, brme_expectation, atol=1e-2) num = qutip.num(N) @@ -91,7 +87,7 @@ def test_harmonic_oscillator(n_th): np.testing.assert_allclose(me_num, brme_num, atol=1e-2) -def test_jaynes_cummings_zero_temperature(): +def test_jaynes_cummings_zero_temperature_spectral_callable(): """ brmesolve: Jaynes-Cummings model, zero temperature """ @@ -99,12 +95,12 @@ def test_jaynes_cummings_zero_temperature(): a = qutip.tensor(qutip.destroy(N), qutip.qeye(2)) sp = qutip.tensor(qutip.qeye(N), qutip.sigmap()) psi0 = qutip.ket2dm(qutip.tensor(qutip.basis(N, 1), qutip.basis(2, 0))) - a_ops = [(a + a.dag(), qutip.coefficient(lambda t, w: kappa * (w >= 0)))] + kappa = 0.05 + a_ops = [(a + a.dag(), lambda w: kappa * (w >= 0))] e_ops = [a.dag()*a, sp.dag()*sp] w0 = 1.0 * 2*np.pi g = 0.05 * 2*np.pi - kappa = 0.05 times = np.linspace(0, 2 * 2*np.pi / g, 1000) c_ops = [np.sqrt(kappa) * a] @@ -112,9 +108,7 @@ def test_jaynes_cummings_zero_temperature(): me = qutip.mesolve(H, psi0, times, c_ops, e_ops) brme = brmesolve(H, psi0, times, a_ops, e_ops) - for me_expectation, brme_expectation in zip( - me.expect, brme.expect.values() - ): + for me_expectation, brme_expectation in zip(me.expect, brme.expect): # Accept 5% error. np.testing.assert_allclose(me_expectation, brme_expectation, atol=5e-2) @@ -167,12 +161,12 @@ def test_solver_accepts_list_hamiltonian(): psi0 = (2 * qutip.basis(2, 0) + qutip.basis(2, 1)).unit() times = np.linspace(0, 10, 100) me = qutip.mesolve(H, psi0, times, c_ops=c_ops, e_ops=e_ops).expect - brme = brmesolve(H, psi0, times, [], e_ops=e_ops, c_ops=c_ops).expect.values() + brme = brmesolve(H, psi0, times, [], e_ops=e_ops, c_ops=c_ops).expect for me_expectation, brme_expectation in zip(me, brme): np.testing.assert_allclose(me_expectation, brme_expectation, atol=1e-8) -def test_jaynes_cummings_zero_temperature(): +def test_jaynes_cummings_zero_temperature_spectral_str(): N = 10 a = qutip.tensor(qutip.destroy(N), qutip.qeye(2)) sp = qutip.tensor(qutip.qeye(N), qutip.sigmap()) @@ -190,7 +184,7 @@ def test_jaynes_cummings_zero_temperature(): me = qutip.mesolve(H, psi0, times, c_ops, e_ops) brme = brmesolve(H, psi0, times, a_ops, e_ops) - for me_expectation, brme_expectation in zip(me.expect, brme.expect.values()): + for me_expectation, brme_expectation in zip(me.expect, brme.expect): # Accept 5% error. np.testing.assert_allclose(me_expectation, brme_expectation, atol=5e-2)