def execute_circuit()

in qumat/qiskit_backend.py [0:0]


def execute_circuit(circuit, backend, backend_config):
    # Add measurements if they are not already present
    if not circuit.cregs:
        circuit.measure_all()

    # Ensure the circuit is parameterized properly
    if circuit.parameters:
        # Parse the global parameter configuration
        parameter_bindings = {param: backend_config['parameter_values'][str(param)] for param in circuit.parameters}
        transpiled_circuit = qiskit.transpile(circuit, backend)
        qobj = qiskit.assemble(transpiled_circuit, parameter_binds=[parameter_bindings], shots=backend_config['backend_options']['shots'])
        job = backend.run(qobj)
        result = job.result()
        return result.get_counts()
    else:
        transpiled_circuit = qiskit.transpile(circuit, backend)
        job = qiskit.execute(transpiled_circuit, backend, shots=backend_config['backend_options']['shots'])
        result = job.result()
        return result.get_counts()