def test_io_consistency(self): """ consistency test """ new_op = X ^ Y ^ I label = 'XYI' # label = new_op.primitive.to_label() self.assertEqual(str(new_op.primitive), label) np.testing.assert_array_almost_equal(new_op.primitive.to_matrix(), Operator.from_label(label).data) self.assertEqual(new_op.primitive, Pauli(label=label)) x_mat = X.primitive.to_matrix() y_mat = Y.primitive.to_matrix() i_mat = np.eye(2, 2) np.testing.assert_array_almost_equal(new_op.primitive.to_matrix(), np.kron(np.kron(x_mat, y_mat), i_mat)) hi = np.kron(H.to_matrix(), I.to_matrix()) hi2 = Operator.from_label('HI').data hi3 = (H ^ I).to_matrix() np.testing.assert_array_almost_equal(hi, hi2) np.testing.assert_array_almost_equal(hi2, hi3) xy = np.kron(X.to_matrix(), Y.to_matrix()) xy2 = Operator.from_label('XY').data xy3 = (X ^ Y).to_matrix() np.testing.assert_array_almost_equal(xy, xy2) np.testing.assert_array_almost_equal(xy2, xy3) # Check if numpy array instantiation is the same as from Operator matrix_op = Operator.from_label('+r') np.testing.assert_array_almost_equal(PrimitiveOp(matrix_op).to_matrix(), PrimitiveOp(matrix_op.data).to_matrix()) # Ditto list of lists np.testing.assert_array_almost_equal(PrimitiveOp(matrix_op.data.tolist()).to_matrix(), PrimitiveOp(matrix_op.data).to_matrix())
@author: linmin """ import numpy as np from docplex.mp.model import Model from qiskit.optimization.problems import QuadraticProgram from qiskit.optimization.converters import QuadraticProgramToIsing from qiskit import QuantumCircuit from qiskit.aqua.operators import StateFn from qiskit.aqua.operators import Z, X, Y, I, H, S import random count = 0 w = 0 P_0 = I.to_matrix() P_1 = X.to_matrix() P_2 = Y.to_matrix() P_3 = Z.to_matrix() HH = H.to_matrix() S = S.to_matrix() OPE = [P_0, HH, S] pauli = [P_0, P_1, P_2, P_3] Pauli = [I, X, Y, Z] R = 2 #number of iteration == R n = 5 #number of qubits x_matrix = np.zeros((R, n)) z_matrix = np.zeros((R, n)) matrix = np.zeros((R, 2*n))