qpanda3_runtime.task.session#

Session management for variational quantum algorithms.

This module provides interfaces for managing variational quantum computing sessions, including abstract base classes and concrete implementations.

Classes#

FakeVQSessionclass

Simulated variational quantum session for testing purposes.

See also

VQSession

Concrete implementation for real quantum backends.

VQSessionABC

Abstract base class for variational quantum sessions.

Notes

  • Sessions should be used within context managers (with statements).

  • Variational sessions support parameterized quantum circuit execution.

Submodules#

Classes#

FakeVQSession

Fake variational quantum session for local testing and simulation.

Package Contents#

class qpanda3_runtime.task.session.FakeVQSession(runtime_service, vqcircuit: pyqpanda3.vqcircuit.VQCircuit, device: qpanda3_runtime.device.fake_backend.FakeBackend, channel=default_channel, info=Union[Dict, None])#

Bases: qpanda3_runtime.task.session.vqsession_abc.VQSessionABC

Fake variational quantum session for local testing and simulation.

This class provides a mock implementation of VQSessionABC that runs quantum circuits locally using a fake backend device, without requiring remote quantum computing services.

Parameters:
  • runtime_service (object) – Runtime service instance for task management.

  • vqcircuit (VQCircuit) – Variational quantum circuit (ansatz) structure.

  • device (FakeBackend) – Fake backend device for local quantum circuit simulation.

  • channel (object, optional) – Communication channel (default is default_channel).

  • info (Dict or None, optional) – Additional session information.

Variables:
  • _ansatz (VQCircuit) – Internal storage for the variational quantum circuit.

  • _device (FakeBackend) – Internal storage for the fake backend device.

run_vqtask(gate_params, measure_list: list) → qpanda3_runtime.task.qtask_manager.QTaskManager#

Execute a variational quantum task using the session’s ansatz structure.

This method generates quantum circuits from the variational ansatz using the provided gate parameters, transpiles them for the fake backend device, and simulates quantum measurements.

Parameters:
  • gate_params (array-like) – Quantum gate parameters adapted to the ansatz structure. Used for generating quantum computing tasks.

  • measure_list (list) – List of qubit indices to be measured.

Returns:

Task manager object for the computing task.

Return type:

QTaskManager

Raises:

RuntimeError – If called outside of a VQSession context manager.

Notes

This method must be called within a VQSession context manager. The generated circuits are transpiled for the fake backend device before simulation.

Examples

>>> with FakeVQSession(...) as session:
...     task_manager = session.run_vqtask(gate_params, [0, 1])
...     result = task_manager.get_result()
release()#

Release the fake variational quantum session.

This method is a no-op for fake sessions as they don’t require remote resource cleanup.

Notes

Fake sessions don’t hold remote resources, so this method doesn’t perform any actual cleanup operations.