def test_to_dict(self): """Test to_dict method""" with self.subTest(msg='dims = (2, 2)'): rho = DensityMatrix(np.arange(1, 17).reshape(4, 4)) target = { '00|00': 1, '01|00': 2, '10|00': 3, '11|00': 4, '00|01': 5, '01|01': 6, '10|01': 7, '11|01': 8, '00|10': 9, '01|10': 10, '10|10': 11, '11|10': 12, '00|11': 13, '01|11': 14, '10|11': 15, '11|11': 16 } self.assertDictAlmostEqual(target, rho.to_dict()) with self.subTest(msg='dims = (2, 3)'): rho = DensityMatrix(np.diag(np.arange(1, 7)), dims=(2, 3)) target = {} for i in range(2): for j in range(3): key = '{1}{0}|{1}{0}'.format(i, j) target[key] = 2 * j + i + 1 self.assertDictAlmostEqual(target, rho.to_dict()) with self.subTest(msg='dims = (2, 11)'): vec = DensityMatrix(np.diag(np.arange(1, 23)), dims=(2, 11)) target = {} for i in range(2): for j in range(11): key = '{1},{0}|{1},{0}'.format(i, j) target[key] = 2 * j + i + 1 self.assertDictAlmostEqual(target, vec.to_dict())
def test_to_dict(self): """Test to_dict method""" with self.subTest(msg="dims = (2, 2)"): rho = DensityMatrix(np.arange(1, 17).reshape(4, 4)) target = { "00|00": 1, "01|00": 2, "10|00": 3, "11|00": 4, "00|01": 5, "01|01": 6, "10|01": 7, "11|01": 8, "00|10": 9, "01|10": 10, "10|10": 11, "11|10": 12, "00|11": 13, "01|11": 14, "10|11": 15, "11|11": 16, } self.assertDictAlmostEqual(target, rho.to_dict()) with self.subTest(msg="dims = (2, 3)"): rho = DensityMatrix(np.diag(np.arange(1, 7)), dims=(2, 3)) target = {} for i in range(2): for j in range(3): key = "{1}{0}|{1}{0}".format(i, j) target[key] = 2 * j + i + 1 self.assertDictAlmostEqual(target, rho.to_dict()) with self.subTest(msg="dims = (2, 11)"): vec = DensityMatrix(np.diag(np.arange(1, 23)), dims=(2, 11)) target = {} for i in range(2): for j in range(11): key = "{1},{0}|{1},{0}".format(i, j) target[key] = 2 * j + i + 1 self.assertDictAlmostEqual(target, vec.to_dict())