Module ibm_dynamic

Module ibm_dynamic 

Source
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§

DynamicCapabilities
Dynamic circuit capabilities of an IBM backend
DynamicCircuitBuilder
Builder for dynamic circuits with mid-circuit measurement
DynamicExecutionConfig
Configuration for dynamic circuit execution
DynamicExecutionMetadata
Metadata from dynamic circuit execution
DynamicExecutionResult
Result from dynamic circuit execution
DynamicSwitchBuilder
Builder for switch-case statements in dynamic circuits
IBMDynamicExecutor
IBM Dynamic Circuit Executor
TimingValidation
Timing validation result

Enums§

ClassicalOperation
Supported classical operations