oxirs_stream/quantum_processing/
variational_processor.rs1use super::QuantumConfig;
4
5pub struct VariationalProcessor {
7 config: QuantumConfig,
8 ansatz_types: Vec<VariationalAnsatz>,
9}
10
11impl VariationalProcessor {
12 pub fn new(config: QuantumConfig) -> Self {
13 Self {
14 config,
15 ansatz_types: vec![
16 VariationalAnsatz::HardwareEfficient,
17 VariationalAnsatz::UCCSD,
18 ],
19 }
20 }
21}
22
23#[derive(Debug, Clone)]
25pub enum VariationalAnsatz {
26 HardwareEfficient,
27 UCCSD,
28 RealAmplitudes,
29 EfficientSU2,
30 Custom,
31}