def test_generate_cumulant_dqd(self): Gamma_L = 1.; Gamma_R = 0.5; Tc = 3.; bias = 1. expected_mean = utils.mean_dqd(Gamma_L, Gamma_R, Tc, bias) expected_F2 = utils.zero_freq_F2_dqd(Gamma_L, Gamma_R, Tc, bias) dqd_solver = utils.setup_dqd_solver_from_hilbert_space(Gamma_L, Gamma_R, Tc, bias) self.assertAlmostEqual(expected_mean, dqd_solver.generate_cumulant(1)[0][0]) self.assertAlmostEqual(expected_F2, dqd_solver.generate_cumulant(2)[0][1])
def test_mean_dqd(self): '''Test of mean calculation for DQD model.''' Gamma_L = 1. Gamma_R = 0.5 Tc = 3. bias = 1. expected_mean = utils.mean_dqd(Gamma_L, Gamma_R, Tc, bias) dqd_solver = utils.setup_dqd_solver_from_hilbert_space( Gamma_L, Gamma_R, Tc, bias) self.assertAlmostEqual(expected_mean, dqd_solver.mean())
def test_finite_freq_F2_dqd(self): '''Functionality test for second order Fano factor using DQD model with an array of frequencies.''' Gamma_L = 1.; Gamma_R = 0.5; Tc = 3.; bias = 1. freq = np.linspace(0,10,100) dqd_liouvillian = utils.reduced_dqd_liouvillian(bias, Tc, Gamma_L, Gamma_R) dqd_jump_op = np.zeros((5,5)) dqd_jump_op[0,4] = Gamma_R expected_F2 = utils.finite_freq_F2(freq, dqd_liouvillian, dqd_jump_op) dqd_solver = utils.setup_dqd_solver_from_hilbert_space(Gamma_L, Gamma_R, Tc, bias) npt.assert_allclose(expected_F2, dqd_solver.second_order_fano_factor(freq))
def test_zero_freq_F2_dqd(self): '''Functionality test for second order Fano factor of DQD model with single frequency.''' Gamma_L = 1. Gamma_R = 0.5 Tc = 3. bias = 1. expected_F2 = utils.zero_freq_F2_dqd(Gamma_L, Gamma_R, Tc, bias) dqd_solver = utils.setup_dqd_solver_from_hilbert_space( Gamma_L, Gamma_R, Tc, bias) self.assertAlmostEqual(expected_F2, dqd_solver.second_order_fano_factor(0))
def test_generate_cumulant_dqd(self): Gamma_L = 1. Gamma_R = 0.5 Tc = 3. bias = 1. expected_mean = utils.mean_dqd(Gamma_L, Gamma_R, Tc, bias) expected_F2 = utils.zero_freq_F2_dqd(Gamma_L, Gamma_R, Tc, bias) dqd_solver = utils.setup_dqd_solver_from_hilbert_space( Gamma_L, Gamma_R, Tc, bias) self.assertAlmostEqual(expected_mean, dqd_solver.generate_cumulant(1)[0][0]) cumulants, states = dqd_solver.generate_cumulant(2) self.assertAlmostEqual(expected_mean * expected_F2, cumulants[1])
def test_finite_freq_F2_dqd(self): '''Functionality test for second order Fano factor using DQD model with an array of frequencies.''' Gamma_L = 1. Gamma_R = 0.5 Tc = 3. bias = 1. freq = np.linspace(0, 10, 100) dqd_liouvillian = utils.reduced_dqd_liouvillian( bias, Tc, Gamma_L, Gamma_R) dqd_jump_op = np.zeros((5, 5)) dqd_jump_op[0, 4] = Gamma_R expected_F2 = utils.finite_freq_F2(freq, dqd_liouvillian, dqd_jump_op) dqd_solver = utils.setup_dqd_solver_from_hilbert_space( Gamma_L, Gamma_R, Tc, bias) npt.assert_allclose(expected_F2, dqd_solver.second_order_fano_factor(freq))
def test_zero_freq_F2_dqd(self): '''Functionality test for second order Fano factor of DQD model with single frequency.''' Gamma_L = 1.; Gamma_R = 0.5; Tc = 3.; bias = 1. expected_F2 = utils.zero_freq_F2_dqd(Gamma_L, Gamma_R, Tc, bias) dqd_solver = utils.setup_dqd_solver_from_hilbert_space(Gamma_L, Gamma_R, Tc, bias) self.assertAlmostEqual(expected_F2, dqd_solver.second_order_fano_factor(0))
def test_mean_dqd(self): '''Test of mean calculation for DQD model.''' Gamma_L = 1.; Gamma_R = 0.5; Tc = 3.; bias = 1. expected_mean = utils.mean_dqd(Gamma_L, Gamma_R, Tc, bias) dqd_solver = utils.setup_dqd_solver_from_hilbert_space(Gamma_L, Gamma_R, Tc, bias) self.assertAlmostEqual(expected_mean, dqd_solver.mean())