Backends

The divi.backends module provides interfaces for running quantum circuits on different backends, from local simulators to cloud-based quantum hardware.

All backends implement the CircuitRunner interface, providing a consistent API for circuit execution. This abstraction allows switching between different execution environments without changing quantum program code.

All submit_circuits() methods return an ExecutionResult object, which provides a unified interface for handling both synchronous and asynchronous backend responses.

Functions

characterize_and_validate(problem, ...[, ...])

One-call QUBO/HUBO characterization with rich notebook display.

convert_counts_to_probs(counts, shots)

Convert raw counts to probability distributions.

create_backend_from_properties(properties[, ...])

Create a populated GenericBackendV2 from a BackendProperties dictionary.

get_characterization_result(job_id, *, service)

Re-fetch a previous characterization result by job ID.

reverse_dict_endianness(probs_dict)

Reverse endianness of all bitstrings in a dictionary of probability distributions.

Classes

AsyncJobBackend(*args, **kwargs)

Backend that runs circuits as an asynchronous remote job.

CharacterizationOptions([sensitivity, ...])

Configuration for characterize_and_validate().

CharacterizationResult(job_id, status[, ...])

Result container for QUBO/HUBO characterization.

CircuitRunner(shots[, track_depth])

A generic interface for anything that can "run" quantum circuits.

ExecutionConfig([bond_dimension, ...])

Execution configuration for a Qoro Service job.

ExecutionResult([results, job_id])

Result container for circuit execution.

JobConfig([shots, simulator_cluster, ...])

Configuration for a Qoro Service job.

JobStatus()

Status of a job on the Qoro Service.

JobType()

Type of job to execute on the Qoro Service.

MaestroConfig([simulator_type, ...])

Configuration object for MaestroSimulator.

MaestroSimulator([shots, config, track_depth])

A CircuitRunner backend powered by qoro-maestro, Qoro's C++ quantum simulator.

QPU(nickname, q_bits, status, system_kind)

Represents a single Quantum Processing Unit (QPU).

QPUSystem(name[, qpus, access_level, ...])

Represents a collection of QPUs that form a quantum computing system.

QiskitSimulator([n_processes, shots, ...])

A parallel wrapper around Qiskit's AerSimulator using Qiskit's built-in parallelism.

QoroService([auth_token, job_config, ...])

A client for interacting with the Qoro Quantum Service API.

SimulationMethod()

Simulation method for execution configuration.

Simulator()

Simulator backend type for execution configuration.

SimulatorCluster(name[, access_level, ...])

Represents a simulator cluster for cloud-based quantum simulation.

SupportsCircuitTemplates(*args, **kwargs)

Capability protocol for backends that resolve parametric QASM templates server-side.