quantrs2_anneal/advanced_quantum_algorithms/
error.rs1use crate::ising::IsingError;
4use thiserror::Error;
5
6#[derive(Error, Debug)]
8pub enum AdvancedQuantumError {
9 #[error("Ising error: {0}")]
11 IsingError(#[from] IsingError),
12
13 #[error("Quantum circuit error: {0}")]
15 QuantumCircuitError(String),
16
17 #[error("Algorithm convergence error: {0}")]
19 ConvergenceError(String),
20
21 #[error("Parameter optimization error: {0}")]
23 ParameterError(String),
24
25 #[error("Zeno effect error: {0}")]
27 ZenoError(String),
28
29 #[error("Adiabatic error: {0}")]
31 AdiabaticError(String),
32
33 #[error("Counterdiabatic error: {0}")]
35 CounterdiabaticError(String),
36
37 #[error("Noise model error: {0}")]
39 NoiseModelError(String),
40
41 #[error("No algorithm available")]
43 NoAlgorithmAvailable,
44
45 #[error("Ensemble optimization failed")]
47 EnsembleFailed,
48
49 #[error("Algorithm not found: {0}")]
51 AlgorithmNotFound(String),
52
53 #[error("Invalid algorithm: {0}")]
55 InvalidAlgorithm(String),
56}
57
58pub type AdvancedQuantumResult<T> = Result<T, AdvancedQuantumError>;