qpanda3_runtime.task.session.vqsession_abc#

Abstract base class for variational quantum computing sessions.

This module defines the abstract interface for variational quantum algorithm sessions, providing a common contract for all session implementations.

Classes#

VQSessionABCABC

Abstract base class for variational quantum computing sessions.

See also

VQSession

Concrete implementation for real quantum backends.

FakeVQSession

Simulated session for testing.

Notes

  • All concrete implementations must inherit from this base class.

  • Sessions are designed to be used as context managers.

Classes#

VQSessionABC

Abstract base class for variational quantum computing sessions.

Module Contents#

class qpanda3_runtime.task.session.vqsession_abc.VQSessionABC(runtime_service, session_id: str, chip_id: str, task_ids: list, channel: str, info=Union[Dict, None])#

Bases: abc.ABC

Abstract base class for variational quantum computing sessions.

Defines the common interface for all variational quantum session implementations. Sessions manage the lifecycle of variational quantum computing tasks and provide context management for resource cleanup.

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

  • session_id (str) – Unique identifier for the session.

  • task_ids (list) – List of task identifiers associated with the session.

  • channel (str) – Communication channel identifier.

  • info (dict or None, optional) – Additional session information (default: None).

Variables:
  • _runtime_service (object) – Runtime service instance.

  • _in_context (bool) – Flag indicating if session is within a context manager.

  • _session_id (str) – Session identifier.

  • _task_ids (list) – List of task identifiers.

  • _channel (str) – Communication channel.

  • _info (dict or None) – Additional session information.

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

Submit a variational quantum task to the session.

Parameters:
  • gate_params (array-like) – Quantum gate parameters for the variational circuit.

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

Returns:

Task manager instance for the submitted task.

Return type:

QTaskManager

Raises:

NotImplementedError – This method must be implemented by subclasses.

task_ids() → List#

Get the list of task identifiers associated with this session.

Returns:

List of task identifiers.

Return type:

List[str]

abstractmethod release()#

Release session resources.

This method should clean up any resources associated with the session and notify the backend that the session is no longer needed.

Raises:

NotImplementedError – This method must be implemented by subclasses.