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
VQSessionConcrete implementation for real quantum backends.
FakeVQSessionSimulated session for testing.
Notes
All concrete implementations must inherit from this base class.
Sessions are designed to be used as context managers.
Classes#
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.ABCAbstract 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 (
dictorNone, 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 (
dictorNone) – 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.