Пример #1
0
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
Пример #2
0
 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)
Пример #3
0
    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)
Пример #4
0
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')