示例#1
0
 def test_controlled_random_unitary(self, num_ctrl_qubits):
     """test controlled unitary"""
     num_target = 2
     base_gate = UnitaryGate(scipy.stats.unitary_group.rvs(num_target))
     base_mat = base_gate.to_matrix()
     cgate = base_gate.control(num_ctrl_qubits)
     test_op = Operator(cgate)
     cop_mat = _compute_control_matrix(base_mat, num_ctrl_qubits)
     self.assertTrue(matrix_equal(cop_mat, test_op.data, ignore_phase=True))
示例#2
0
 def test_adjoint(self):
     """test adjoint operation"""
     uni = UnitaryGate([[0, 1j], [-1j, 0]])
     self.assertTrue(numpy.array_equal(uni.adjoint().to_matrix(),
                                       uni.to_matrix()))