Exemplo n.º 1
0
class TPParameterizedGateTestCase(BaseTestCase):
    def setUp(self):
        super(TPParameterizedGateTestCase, self).setUp()
        self.gate = TPParameterizedGate([[1, 0], [0, 0]])

    def test_bad_first_row(self):
        with self.assertRaises(ValueError):
            gate = TPParameterizedGate([[0, 0], [0, 0]])

    def test_bad(self):
        gate = self.gate.copy()
        with self.assertRaises(ValueError):
            gate.set_matrix([])
        gate.set_matrix([[1, 0], [1, 2]])

        gate.dim = 'adfadsflkj'
        with self.assertRaises(TypeError):
            gate.set_matrix([[1, 0], [1, 2]])
        with self.assertRaises(ValueError):
            gate.set_matrix([[[1, 0]], [], []])

    def test_to_vector(self):
        self.assertArraysAlmostEqual(self.gate.to_vector(), np.array([0, 0]))

    def test_from_vector(self):
        gatecopy = self.gate.copy()
        self.gate.from_vector(np.array([0, 0]))
        self.assertArraysAlmostEqual(gatecopy, self.gate)

    def test_deriv_wrt_params(self):
        self.assertArraysAlmostEqual(self.gate.deriv_wrt_params(0),
                                     np.array([0, 0, 1, 0]))
Exemplo n.º 2
0
class TPParameterizedGateTestCase(BaseTestCase):

    def setUp(self):
        super(TPParameterizedGateTestCase, self).setUp()
        self.gate = TPParameterizedGate([[1,0], [0,0]])

    def test_bad_first_row(self):
        with self.assertRaises(ValueError):
            gate = TPParameterizedGate([[0,0], [0,0]])

    def test_bad(self):
        gate = self.gate.copy()
        with self.assertRaises(ValueError):
            gate.set_matrix([])
        gate.set_matrix([[1, 0],[1, 2]])

        gate.dim = 'adfadsflkj'
        with self.assertRaises(TypeError):
            gate.set_matrix([[1, 0],[1, 2]])
        with self.assertRaises(ValueError):
            gate.set_matrix([[[1, 0]],[], []])

    def test_to_vector(self):
        self.assertArraysAlmostEqual(self.gate.to_vector(), np.array([0,0]))

    def test_from_vector(self):
        gatecopy = self.gate.copy()
        self.gate.from_vector(np.array([0, 0]))
        self.assertArraysAlmostEqual(gatecopy, self.gate)

    def test_deriv_wrt_params(self):
        self.assertArraysAlmostEqual(self.gate.deriv_wrt_params(0), np.array([0,0,1,0]))
Exemplo n.º 3
0
 def test_bad_first_row(self):
     with self.assertRaises(ValueError):
         gate = TPParameterizedGate([[0, 0], [0, 0]])
Exemplo n.º 4
0
 def setUp(self):
     super(TPParameterizedGateTestCase, self).setUp()
     self.gate = TPParameterizedGate([[1, 0], [0, 0]])
Exemplo n.º 5
0
 def setUp(self):
     super(TPParameterizedGateTestCase, self).setUp()
     self.gate = TPParameterizedGate([[1,0], [0,0]])