def qft_circuit(size, id, measure=True): name = 'QFT' + str(size) + '_' + str(id) _qft_circ = QFT(size) _qft_circ.name = name if measure: _qft_circ.measure_all() return _qft_circ
def test_kraus_gate_noise_on_QFT(self, method, device): """Test Kraus noise on a QFT circuit""" shots = 10000 noise_model = ref_kraus_noise.kraus_gate_error_noise_models_full() backend = self.backend(method=method, device=device, noise_model=noise_model) circuit = QFT(3).decompose() circuit.measure_all() ref_target = ref_kraus_noise.kraus_gate_error_counts_on_QFT(shots) result = backend.run(circuit, shots=shots).result() self.assertSuccess(result) self.compare_counts(result, [circuit], [ref_target], delta=0.1 * shots)
def test_kraus_gate_noise_on_QFT(self): """Test Kraus noise on a QFT circuit""" shots = 10000 noise_model = ref_kraus_noise.kraus_gate_error_noise_models_full() circuit = QFT(3) circuit.measure_all() ref_target = ref_kraus_noise.kraus_gate_error_counts_on_QFT(shots) qobj = assemble(circuit, self.SIMULATOR, shots=shots) result = self.SIMULATOR.run(qobj, noise_model=noise_model, **self.BACKEND_OPTS).result() self.assertSuccess(result) self.compare_counts(result, [circuit], [ref_target], delta=0.1 * shots)
from qiskit.circuit.library import QFT from qiskit import QuantumRegister, QuantumCircuit from qiskit.visualization import plot_histogram import simulation as sim import argparse from gateSet import myR args = sim.process_command() qc = QFT(3) for i in range(3): qr = QuantumRegister(3) qc = QuantumCircuit(qr) qc.x(qr[0]) qc.x(qr[2]) gate = QFT(3, approximation_degree=i) inv = QFT(3, inverse=True, approximation_degree=i) qc.append(gate, qargs=qr[:]) qc.append(inv, qargs=qr[:]) print(qc) qc.measure_all() res = sim.mySim(qc, args) plot_histogram(res).savefig(f'testQFT_{i}.png')