Source code for qward.metrics.defaults
"""Default metric strategies for QWARD."""
from typing import List, Type
from qward.metrics.base_metric import MetricCalculator
from qward.metrics.qiskit_metrics import QiskitMetrics
from qward.metrics.complexity_metrics import ComplexityMetrics
[docs]
def get_default_strategies() -> List[Type[MetricCalculator]]:
"""
Get the default list of metric strategies.
Note: FidelityMetrics (and legacy CircuitPerformanceMetrics) are not
included in defaults since they require execution results (job or counts)
and should be added manually when needed.
Returns:
List[Type[MetricCalculator]]: List of default metric strategy classes
"""
return [QiskitMetrics, ComplexityMetrics]
[docs]
def get_all_pre_runtime_strategies() -> List[Type[MetricCalculator]]:
"""
Get all pre-runtime metric strategy classes.
Returns:
List[Type[MetricCalculator]]: List of all pre-runtime strategy classes
"""
from qward.metrics.behavioral_metrics import BehavioralMetrics
from qward.metrics.element_metrics import ElementMetrics
from qward.metrics.quantum_specific_metrics import QuantumSpecificMetrics
from qward.metrics.structural_metrics import StructuralMetrics
return [
QiskitMetrics,
ComplexityMetrics,
ElementMetrics,
StructuralMetrics,
BehavioralMetrics,
QuantumSpecificMetrics,
]