def setup_dqd_system(bias, T_c, Gamma_L, Gamma_R, reduce_dim): '''Instantiates LindbladSystem for double quantum dot model''' H = np.array([[0, 0, 0], [0, bias / 2., T_c], [0, T_c, -bias / 2.]]) ops = np.array([ np.array([[0, 0, 0], [1., 0, 0], [0, 0, 0]]), np.array([[0, 0, 1.], [0, 0, 0], [0, 0, 0]]) ]) rates = np.array([Gamma_L, Gamma_R]) return LindbladSystem(H, ops, rates, reduce_dim=reduce_dim)
def test_real_H_hermitian(self): H = np.array([[0, 1.],[1., 0]]) self.assertTrue(LindbladSystem.is_hermitian(H))
def test_dissipator_not_physical(self): D = np.array([[1., 1.],[1., 1.]]) pops = np.array([1, 1]) self.assertFalse(LindbladSystem.is_dissipator_physical(D, pops))
def test_non_square_H_not_hermitian(self): H = np.array([[0, 1., 0],[1., 0, 0]]) self.assertFalse(LindbladSystem.is_hermitian(H))
def test_complex_H_not_hermitian(self): H = np.array([[0, 1.j],[1.j, 0]]) self.assertFalse(LindbladSystem.is_hermitian(H))
def test_real_H_not_hermitian(self): H = np.array([[0, 1.],[2., 0]]) self.assertFalse(LindbladSystem.is_hermitian(H))
def setup_srl_system(Gamma_L, Gamma_R, reduce_dim): '''Instantiates LindbladSystem for single resonant level model''' H = np.array([[0, 0], [0, 0]]) ops = np.array([np.array([[0, 0], [1, 0]]), np.array([[0, 1], [0, 0]])]) rates = np.array([Gamma_L, Gamma_R]) return LindbladSystem(H, ops, rates, reduce_dim=reduce_dim)
def test_real_H_hermitian(self): H = np.array([[0, 1.], [1., 0]]) self.assertTrue(LindbladSystem.is_hermitian(H))
def test_dissipator_not_physical(self): D = np.array([[1., 1.], [1., 1.]]) pops = np.array([1, 1]) self.assertFalse(LindbladSystem.is_dissipator_physical(D, pops))
def test_non_square_H_not_hermitian(self): H = np.array([[0, 1., 0], [1., 0, 0]]) self.assertFalse(LindbladSystem.is_hermitian(H))
def test_complex_H_not_hermitian(self): H = np.array([[0, 1.j], [1.j, 0]]) self.assertFalse(LindbladSystem.is_hermitian(H))
def test_real_H_not_hermitian(self): H = np.array([[0, 1.], [2., 0]]) self.assertFalse(LindbladSystem.is_hermitian(H))