Summary
We should add the PauliEvolutionGate as native gate in Rust, such that (1) we can represent and build evolution circuits and PBC circuits via C and without Python and (2) have a more efficient PBC pipeline.
Details
As part of this we might consider normalizing the operator type of the PauliEvolutionGate to be the Rust-native SparseObservable (with some additional logic to remain backward compatible). If this turns out to be too invasive, we could turn towards implementing a Rust-native PauliRotationGate to unlock the PBC pipelines from C.
Summary
We should add the
PauliEvolutionGateas native gate in Rust, such that (1) we can represent and build evolution circuits and PBC circuits via C and without Python and (2) have a more efficient PBC pipeline.Details
As part of this we might consider normalizing the operator type of the
PauliEvolutionGateto be the Rust-nativeSparseObservable(with some additional logic to remain backward compatible). If this turns out to be too invasive, we could turn towards implementing a Rust-nativePauliRotationGateto unlock the PBC pipelines from C.