Example #1
0
 def test_purity_mixed_state(self):
     state_1 = 0.5 * (projector(basis_state('0', 1)) +
                      projector(basis_state('1', 1)))
     state_2 = (1 / 3.0) * (projector(basis_state('00', 2)) + projector(
         basis_state('01', 2)) + projector(basis_state('10', 2)))
     self.assertEqual(purity(state_1), 0.5)
     self.assertEqual(purity(state_2), 1.0 / 3)
Example #2
0
 def test_purity_pure_matrix_state(self):
     state_1 = (1/np.sqrt(2))*(basis_state('0', 1) + basis_state('1', 1))
     state_1 = projector(state_1)
     state_2 = (1/np.sqrt(3))*(basis_state('00', 2)
                               + basis_state('01', 2) + basis_state('11', 2))
     state_2 = projector(state_2)
     state_3 = 0.5*(basis_state('000', 3) + basis_state('001', 3)
                    + basis_state('010', 3) + basis_state('100', 3))
     state_3 = projector(state_3)
     self.assertAlmostEqual(purity(state_1), 1.0, places=10)
     self.assertAlmostEqual(purity(state_2), 1.0, places=10)
     self.assertEqual(purity(state_3), 1.0)
Example #3
0
 def test_projector(self):
     """TO BE REMOVED with qiskit.quantum_info.basis_state"""
     state0 = np.array([1. + 0.j, 0. + 0.j])
     with self.assertWarns(DeprecationWarning):
         state1 = projector(np.array([0. + 0.j, 1. + 0.j]))
     self.assertEqual(state_fidelity(state0, state0), 1.0)
     self.assertEqual(state_fidelity(state1, state1), 1.0)
     self.assertEqual(state_fidelity(state0, state1), 0.0)
 def test_projector(self):
     state0 = np.array([1. + 0.j, 0. + 0.j])
     state1 = projector(np.array([0. + 0.j, 1. + 0.j]))
     self.assertEqual(state_fidelity(state0, state0), 1.0)
     self.assertEqual(state_fidelity(state1, state1), 1.0)
     self.assertEqual(state_fidelity(state0, state1), 0.0)