import os
from iqm.qiskit_iqm import IQMProvider
from qiskit import QuantumCircuit, transpile
Example: Using VTT QX API
This Jupyter Notebook describes how to access the VTT QX API and perform a simple request to get raw counts of a job.
Submit a quantum circuit to the backend
= QuantumCircuit(2, name="Bell pair circuit")
circuit 0)
circuit.h(0, 1)
circuit.cx(
circuit.measure_all()="mpl") circuit.draw(output
= "https://qx.vtt.fi"
qx_server_url = "api/devices/demo"
device_path = IQMProvider(os.path.join(qx_server_url, device_path)) provider
"IQM_TOKEN"] = "" os.environ[
= provider.get_backend()
backend
print(f"Native operations: {backend.operation_names}")
print(f"Number of qubits: {backend.num_qubits}")
print(f"Coupling map: {backend.coupling_map}")
= transpile(circuit, backend) transpiled_circuit
= backend.run(transpiled_circuit)
job = job.result().get_counts()
counts print(counts)
Fetch counts for the submitted job via the API
import requests
= job.job_id()
job_id
= os.path.join(qx_server_url, f"api/jobs/{job_id}/counts?threshold=0.1")
url = os.environ.get("IQM_TOKEN")
iqm_token
= {"Authorization": f"Bearer {iqm_token}", "Content-Type": "application/json"}
headers
= requests.get(url, headers=headers)
response
response.raise_for_status()
print(response.json())