Expand description
IBM Dynamic Circuits Executor
This module provides execution capabilities for dynamic circuits on IBM backends:
- Mid-circuit measurement with classical feedback
- Switch-case statements based on measurement results
- Classical arithmetic and logical operations
- Timing validation and capability checking
§Example
ⓘ
use quantrs2_device::ibm_dynamic::{IBMDynamicExecutor, DynamicCircuitBuilder};
// Build a dynamic circuit with mid-circuit measurement
let mut builder = DynamicCircuitBuilder::new(2);
builder.h(0);
builder.measure(0, 0);
builder.if_then("c[0] == 1", |b| {
b.x(1);
Ok(())
})?;
builder.measure(1, 1);
// Execute on IBM backend
let executor = IBMDynamicExecutor::new(client, "ibm_brisbane")?;
let result = executor.submit_dynamic_circuit(&builder.build()?).await?;Structs§
- Dynamic
Capabilities - Dynamic circuit capabilities of an IBM backend
- Dynamic
Circuit Builder - Builder for dynamic circuits with mid-circuit measurement
- Dynamic
Execution Config - Configuration for dynamic circuit execution
- Dynamic
Execution Metadata - Metadata from dynamic circuit execution
- Dynamic
Execution Result - Result from dynamic circuit execution
- Dynamic
Switch Builder - Builder for switch-case statements in dynamic circuits
- IBMDynamic
Executor - IBM Dynamic Circuit Executor
- Timing
Validation - Timing validation result
Enums§
- Classical
Operation - Supported classical operations