Skip to content

SUPPORTED BACKENDS · SDK 0.3.0

One API,
seven backends

The same code runs on 6 gate-model backends and D-Wave Ocean for QUBO problems. "Tested" means the SDK unit tests run a Bell state, a qubit-order check, exact expectation values and the fidelity kernel on that backend's local simulator. Hardware access goes through each SDK with your own credentials and is not tested.

SuperQuantX logo

Built-in simulator

"simulator"

SuperQuantX

Tested in unit testsNumPy statevector, no extra SDK

INSTALL

$ uv add "superquantx==0.3.0"

EXAMPLE

bell_simulator.py
import superquantx as sqx
backend = sqx.get_backend("simulator")
circuit = backend.create_circuit(2)
circuit = backend.add_gate(circuit, "H", 0)
circuit = backend.add_gate(circuit, "CNOT", [0, 1])
circuit = backend.add_measurement(circuit)
result = backend.execute_circuit(circuit, shots=1000)
print(result["counts"])

# output on 0.3.0: {'00': 485, '11': 515}

Hardware: Local onlyBackend docs
Xanadu logo

PennyLane

"pennylane"

Xanadu

Tested in unit testsdefault.qubit, lightning.qubit

INSTALL

$ uv add "superquantx[pennylane]==0.3.0"

EXAMPLE

bell_pennylane.py
import superquantx as sqx
backend = sqx.get_backend("pennylane")
circuit = backend.create_circuit(2)
circuit = backend.add_gate(circuit, "H", 0)
circuit = backend.add_gate(circuit, "CNOT", [0, 1])
circuit = backend.add_measurement(circuit)
result = backend.execute_circuit(circuit, shots=1000)
print(result["counts"])

# output on 0.3.0: {'00': 510, '11': 490}

Hardware: Other devices through PennyLane plugins, untestedBackend docs
IBM logo

Qiskit

"qiskit"

IBM

Tested in unit testsQiskit Aer simulator

INSTALL

$ uv add "superquantx[qiskit]==0.3.0"

EXAMPLE

vqe_qiskit.py
import superquantx as sqx
vqe = sqx.create_vqe_for_molecule("H2", backend="qiskit")
print(vqe.find_ground_state(), vqe.exact_ground_energy())

# output on 0.3.0: -1.8572750284 -1.8572750302

Hardware: IBM Quantum via qiskit-ibm-runtime, needs your credentials, untestedBackend docs
Google Quantum AI logo

Cirq

"cirq"

Google Quantum AI

Tested in unit testsCirq simulator

INSTALL

$ uv add "superquantx[cirq]==0.3.0"

EXAMPLE

qaoa_cirq.py
import numpy as np
import superquantx as sqx
W = np.array([[0, 1, 1, 0, 1], [1, 0, 1, 1, 0], [1, 1, 0, 1, 0],
[0, 1, 1, 0, 1], [1, 0, 0, 1, 0]], dtype=float)
r = sqx.QAOA(backend="cirq", p=2, seed=7).solve(W)
print(r["cut_value"], r["classical_optimum"], r["approximation_ratio"])

# output on 0.3.0: 6.0 6.0 0.844

Hardware: Google processors need approved access, untestedBackend docs
Amazon Web Services logo

Amazon Braket

"braket"

Amazon Web Services

Tested in unit testsBraket LocalSimulator

INSTALL

$ uv add "superquantx[braket]==0.3.0"

EXAMPLE

bell_braket.py
import superquantx as sqx
backend = sqx.get_backend("braket")
circuit = backend.create_circuit(2)
circuit = backend.add_gate(circuit, "H", 0)
circuit = backend.add_gate(circuit, "CNOT", [0, 1])
circuit = backend.add_measurement(circuit)
result = backend.execute_circuit(circuit, shots=1000)
print(result["counts"])

# output on 0.3.0: {'00': 505, '11': 495}

Hardware: Braket devices (IonQ, Rigetti) need an AWS account, untestedBackend docs
Quantinuum logo

pytket (TKET)

"tket"

Quantinuum

Tested in unit testspytket with the Aer simulator

INSTALL

$ uv add "superquantx[tket]==0.3.0"

EXAMPLE

bell_tket.py
import superquantx as sqx
backend = sqx.get_backend("tket", device="aer_simulator")
circuit = backend.create_circuit(2)
circuit = backend.add_gate(circuit, "H", 0)
circuit = backend.add_gate(circuit, "CNOT", [0, 1])
circuit = backend.add_measurement(circuit)
result = backend.execute_circuit(circuit, shots=1000)
print(result["counts"])

# output on 0.3.0: {'00': 526, '11': 474}

Hardware: Quantinuum H-Series needs pytket-quantinuum and an account, untestedBackend docs
D-Wave logo

D-Wave Ocean

"ocean"

D-Wave

Tested on simulated annealingSimulated annealing, QUBO and Ising only

INSTALL

$ uv add "superquantx[ocean]==0.3.0"

EXAMPLE

qubo_ocean.py
import superquantx as sqx
backend = sqx.get_backend("ocean", device="simulator")
Q = {(0, 0): 1, (1, 1): -2, (0, 1): 1}
result = backend.solve_qubo(Q, num_reads=1000)
print(result["samples"][0], result["energies"][0])

# output on 0.3.0: {0: 0, 1: 1} -2.0

Hardware: D-Wave QPUs need a Leap token, untestedBackend docs

Every example above was run on superquantx 0.3.0 with the backend's local simulator. Counts vary with sampling. Check your own install with uv run superquantx list-backends, which runs a Bell-state check on every installed backend. Install all of them at once with uv add "superquantx[all-backends]==0.3.0".

Logos and product names are trademarks of their respective owners. Their use identifies the SDKs SuperQuantX integrates with and does not imply endorsement. Sources are listed in the third-party notices.