Quantum for
Software Developers
Quantum for
Software Developers
Enhance your software development skills by diving into quantum programming.
Already have an account?
Log in
Write smarter, code faster and become a better quantum software developer with qBraid.
The Quantum Console VS Code extension pack provides a powerful interface for quantum computing workflows, enabling seamless management of quantum jobs and devices using qBraid. The Quantum Console extension pack requires a qBraid API Key.
The quantum computing industry's definitive cloud-based IDE, delivering seamless software environments, GPU integration, and direct quantum hardware access—empowering developers with unprecedented quantum development efficiency.
Environment Management
Maintain control over your python environments both locally and on qBraid Lab. On Lab, 25+ tricky environments such as Nvidia GPU configuration, QuEra Bloqade Julia and the C++ Intel Quantum SDK are also available out-of-the-box.
1import qiskit.circuit.library as lib
2from qiskit import QuantumCircuit
3from qiskit.quantum_info import SparsePauliOp
4from qiskit.synthesis import SuzukiTrotter
5from qbraid.runtime import QbraidProvider
6
7terms = [("ZZ", 1.0), ("XI", 0.5)]
8h = SparsePauliOp.from_list(terms)
9
10params = (h, 0.1, None, SuzukiTrotter(reps=1))
11gate = lib.PauliEvolutionGate(*params)
12
13ckt = QuantumCircuit(h.num_qubits)
14ckt.append(gate, range(ckt.num_qubits))
15
16provider = QbraidProvider()
17device = provider.get_device("qbraid_qir_simulator")
18job = device.run(ckt, shots=100)
1import numpy as np
2from bloqade.atom_arrangement import Square
3from qbraid.runtime import QbraidProvider
4
5provider = QbraidProvider()
6device = provider.get_device("quera_aquila")
7
8ahs_program = (
9 Square(3, lattice_spacing="lattice_spacing")
10 .rydberg.rabi.amplitude.uniform.piecewise_linear(
11 durations=[0.4, 3.2, 0.4],
12 values=[0.0, "max_rabi", "max_rabi", 0.0],
13 )
14 .assign(max_rabi=15.8, max_detuning=16.33)
15 .batch_assign(
16 lattice_spacing=np.arange(4.0, 7.0, 1.0)
17 )
18)
19
20job_batch = device.run(ahs_program, shots=50)
1from qbraid import load_program, transpile
2from braket.experimental.algorithms import (
3 bernstein_vazirani as bv
4)
5
6bk_circ = bv.bernstein_vazirani_circuit("010101")
7
8qprogram = load_program(bk_circ)
9
10num_qubits = qprogram.num_qubits
11
12stim_circ = transpile(qprogram.program, "stim")
13
14stim_circ.append_operation("M", range(num_qubits))
15
16sampler = stim_circ.compile_sampler()
17results = sampler.sample(shots=100)
1import cudaq
2import numpy as np
3from qiskit import QuantumCircuit
4from qbraid import transpile
5
6n = 5
7qc = QuantumCircuit(n, n)
8qc.h(range(n))
9for i in range(n):
10 for j in range(i + 1, n):
11 qc.cp(2 * np.pi / (2 ** (j - i + 1)), i, j)
12for i in range(n // 2):
13 qc.swap(i, n - i - 1)
14qc.measure_all()
15
16kernel = transpile(qc, "cudaq")
17
18result = cudaq.sample(kernel)
1from qbraid.runtime import QbraidProvider
2
3qc = """
4OPENQASM 3.0;
5qubit[3] q;
6gpi(0.5) q[0];
7gpi2(0) q[1];
8ms(0,0.5, 0.25) q[1], q[2];
9"""
10
11provider = QbraidProvider()
12device = provider.get_device("ionq_simulator")
13
14job = device.run(qc, shots=100, noise_model="aria-1")
15result = job.result()
16
17print(result.data.get_counts(decimal=True))
1from pyqubo import Spin
2from qbraid.runtime import QbraidProvider
3from qbraid.runtime.schemas import QuboSolveParams
4
5s1, s2, s3, s4 = [Spin(f"s{i}") for i in range(1, 5)]
6H = (4 * s1 + 2 * s2 + 7 * s3 + s4) ** 2
7model = H.compile()
8qubo, offset = model.to_qubo()
9
10params = QuboSolveParams(offset=offset)
11
12provider = QbraidProvider()
13device = provider.get_device("nec_vector_annealer")
14
15job = device.run(qubo, params=params)
16result = job.result()
17
18solutions = result.data.solutions()
1from pyquil import Program
2from pyquil.gates import CNOT, H, X
3from qbraid import QbraidProvider
4
5secret = "10110"
6p = Program()
7n = len(secret)
8p.inst([H(i) for i in range(n)] + [X(n), H(n)])
9for i in range(n):
10 if secret[i] == "1":
11 p.inst(CNOT(i, n))
12p.inst([H(i) for i in range(n)])
13
14provider = QbraidProvider()
15device = provider.get_device("aws_sv1")
16
17job = device.run(p, shots=100)
18result = job.result()
19counts = result.data.get_counts()
1import cirq
2from qbraid import QbraidProvider
3from qbraid.visualization import animate_qpu_state
4
5qubits = cirq.LineQubit.range(10)
6circ = cirq.Circuit(
7 [cirq.H(qubits[0])]
8 + [cirq.CNOT(qubits[0], q) for q in qubits[1:]]
9)
10
11provider = QbraidProvider()
12device = provider.get_device("quera_qasm_simulator")
13
14job = device.run(circ, shots=100, backend="cirq-gpu")
15result = job.result()
16
17animate_qpu_state(result.data.get_qpu_state())
No Vendor Lock-In
Use your qBraid managed API token to access 24+ devices and more, or use your own key with the qbraid-provider-class.
Hear from others who use qBraid on their quantum journey.
Create a free qBraid account to have the entire quantum ecosystem at your fingertips