Qiskit Metrics¶
QiskitMetrics extracts basic circuit properties directly from QuantumCircuit objects using the unified schema-based API.
Key Features: - Unified API: Single get_metrics() method returns QiskitMetricsSchema - Type Safety: Full IDE support with automatic validation - Comprehensive Coverage: Basic metrics, instruction analysis, and scheduling information
Usage Example:
from qiskit import QuantumCircuit
from qward.metrics import QiskitMetrics
# Create circuit
circuit = QuantumCircuit(2)
circuit.h(0)
circuit.cx(0, 1)
# Analyze with type-safe API
qiskit_metrics = QiskitMetrics(circuit)
metrics = qiskit_metrics.get_metrics() # Returns QiskitMetricsSchema
# Access validated data
print(f"Depth: {metrics.basic_metrics.depth}")
print(f"Gate count: {metrics.basic_metrics.size}")
print(f"Qubits: {metrics.basic_metrics.num_qubits}")
API Reference¶
Qiskit metrics implementation for QWARD.
This module provides the QiskitMetrics class for extracting various metrics from QuantumCircuit objects using structured schema-based output with validation.
- class QiskitMetrics(circuit)[source]¶
Bases:
MetricCalculatorExtract metrics from QuantumCircuit objects.
This class analyzes quantum circuits and extracts various metrics that are directly available from the QuantumCircuit class using structured schema-based output with validation.
- circuit¶
The quantum circuit to analyze (inherited from MetricCalculator)
Initialize a MetricCalculator object.
- Parameters:
circuit (
QuantumCircuit) – The quantum circuit to analyze
- get_basic_metrics()[source]¶
Get basic circuit metrics as a validated schema object.
- Returns:
Validated basic metrics including depth, width, size, counts, etc.
- Return type:
BasicMetricsSchema
- get_instruction_metrics()[source]¶
Get instruction-related circuit metrics as a validated schema object.
- Returns:
Validated instruction metrics including connectivity and factors
- Return type:
InstructionMetricsSchema
- get_metrics()[source]¶
Get metrics as a structured, validated schema object.
- Returns:
Complete validated metrics schema
- Return type:
QiskitMetricsSchema
- Raises:
ImportError – If Pydantic schemas are not available
ValidationError – If metrics data doesn’t match schema constraints
- class QiskitMetrics(circuit)[source]¶
Bases:
MetricCalculatorExtract metrics from QuantumCircuit objects.
This class analyzes quantum circuits and extracts various metrics that are directly available from the QuantumCircuit class using structured schema-based output with validation.
- circuit¶
The quantum circuit to analyze (inherited from MetricCalculator)
Initialize a MetricCalculator object.
- Parameters:
circuit (
QuantumCircuit) – The quantum circuit to analyze
- property circuit: QuantumCircuit¶
Get the quantum circuit.
- Returns:
The quantum circuit
- Return type:
QuantumCircuit
- get_basic_metrics()[source]¶
Get basic circuit metrics as a validated schema object.
- Returns:
Validated basic metrics including depth, width, size, counts, etc.
- Return type:
BasicMetricsSchema
- get_instruction_metrics()[source]¶
Get instruction-related circuit metrics as a validated schema object.
- Returns:
Validated instruction metrics including connectivity and factors
- Return type:
InstructionMetricsSchema
- get_metrics()[source]¶
Get metrics as a structured, validated schema object.
- Returns:
Complete validated metrics schema
- Return type:
QiskitMetricsSchema
- Raises:
ImportError – If Pydantic schemas are not available
ValidationError – If metrics data doesn’t match schema constraints
- get_scheduling_metrics()[source]¶
Get scheduling-related circuit metrics as a validated schema object.
- Returns:
Validated scheduling metrics (empty if circuit not scheduled)
- Return type:
SchedulingMetricsSchema
- property metric_type: MetricsType¶
Get the type of this metric.
- Returns:
The type of this metric
- Return type:
- property name: str¶
Get the name of the metric.
- Returns:
The name of the metric class.
- Return type:
str