Skip to content

qcloud Module

The pyqpanda3.qcloud module provides quantum cloud computing services for submitting quantum programs to OriginQ cloud backends, including simulators, supercomputing clusters, and real quantum processing units (QPUs).

Overview

The qcloud module is the primary interface for interacting with the OriginQ quantum cloud platform. It provides classes for managing cloud services, submitting quantum jobs, retrieving results, and configuring noise models for realistic simulations.

The typical workflow is:

  1. Create a QCloudService instance with your API key.
  2. List available backends with backends() and select one with backend().
  3. Submit quantum programs via QCloudBackend.run().
  4. Monitor job status through QCloudJob.
  5. Retrieve measurement results from QCloudResult.

Classes

ClassDescription
QCloudServiceMain entry point for connecting to the quantum cloud platform and managing backends
QCloudBackendRepresents a specific quantum backend (simulator or real chip) for running programs
QCloudJobRepresents a submitted quantum job with methods for status tracking and result retrieval
QCloudResultContains the results of a completed quantum job, including probabilities, counts, and amplitudes
QCloudOptionsConfiguration options for cloud job execution such as mapping, optimization, and amendment
QCloudNoiseModelNoise model configuration for cloud-based noisy simulations
ChipInfoInformation about a quantum chip including qubit properties and topology
ChipBackendLow-level chip backend configuration including topology edges and gate timing
SingleQubitInfoProperties of a single qubit on a chip (fidelity, T1, T2, frequency)
DoubleQubitsInfoProperties of a qubit pair (gate fidelity)

Enumerations

EnumDescription
JobStatusStatus of a cloud job (WAITING, COMPUTING, FINISHED, FAILED, QUEUING)
DataFormatData format for circuit export (DEFAULT, BINARY, INSTRUCTION_SET)
DataBaseBase representation for measurement results (Binary, Hex)
NOISE_MODELQuantum noise model types (bit-flip, damping, decoherence, etc.)
LogLevelLogging verbosity levels (CLOUD_INFO, CLOUD_DEBUG, CLOUD_WARNING, CLOUD_ERROR)
LogOutputLog output destination (CONSOLE, FILE)

Quick Start

python
from pyqpanda3.qcloud import QCloudService, QCloudNoiseModel
from pyqpanda3.core import QCircuit, H, CNOT, measure

# Connect to the cloud service
service = QCloudService(api_key="your_api_key")

# List available backends
backend_names = service.backends()
print("Available backends:", backend_names)

# Select a backend
backend = service.backend("backend_name")

# Create a quantum program
circuit = QCircuit(2)
circuit << H(0) << CNOT(0, 1)
prog = QProg()
prog << circuit << measure([0, 1], [0, 1])

# Run on the backend
job = backend.run(prog, shots=1000)

# Get the result
result = job.result()
probs = result.get_probs()
print("Probabilities:", probs)

See Also

Released under the MIT License.