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 braket.experimental.algorithms.bernstein_vazirani import (
2 bernstein_vazirani_circuit
3)
4
5import qbraid
6from qbraid import Conversion, transpile
7
8import stim
9from stimcirq import cirq_circuit_to_stim_circuit
10
11braket_bv_circ = bernstein_vazirani_circuit("010101")
12
13conversion = Conversion("cirq", "stim", cirq_circuit_to_stim_circuit)
14graph.add_conversion(conversion)
15
16stim_circuit = transpile(braket_bv_circ, "stim", conversion_graph=graph)
17type(stim_circuit)
18# Output stim._stim_sse2.Circuit
1import cirq
2import cudaq
3
4from qbraid import transpile
5
6number_of_qubits = 17
7qubits = cirq.LineQubit.range(number_of_qubits)
8
9# Create a GHZ circuit on this qubit line
10ghz_circuit = cirq.Circuit(
11 cirq.H(qubits[0]),
12 *[cirq.CNOT(qubits[i - 1], qubits[i]) for i in range(1, number_of_qubits)],
13 cirq.measure(*qubits, key='out'),
14)
15
16# Convert cirq circuit to cudaq
17cudaq_circ = transpile(ghz_circuit, "cudaq")
1from qbraid import QbraidProvider
2from qbraid.visualization import plot_histogram, plot_distribution
3
4provider = QbraidProvider(api_key="YOUR_API_KEY")
5provider.save_config()
6
7qasm_ghz = """
8OPENQASM 2;
9include "qelib1.inc";
10qreg q[3];
11h q[0];
12cx q[0], q[1];
13cx q[1], q[2];
14"""
15
16device = provider.get_device("ionq_simulator")
17
18job = device.run(qasm_ghz, shots=1000)
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