pub trait Ansatz: Send + Sync {
// Required methods
fn build_circuit(
&self,
parameters: &[f64],
) -> Result<Circuit, AlgorithmError>;
fn num_parameters(&self) -> usize;
fn num_qubits(&self) -> usize;
// Provided method
fn initial_parameters(&self) -> Vec<f64> { ... }
}Expand description
Trait for variational ansatz circuits.
An ansatz defines a parameterized quantum circuit template used in variational algorithms like VQE and QAOA.
Required Methods§
Sourcefn build_circuit(&self, parameters: &[f64]) -> Result<Circuit, AlgorithmError>
fn build_circuit(&self, parameters: &[f64]) -> Result<Circuit, AlgorithmError>
Sourcefn num_parameters(&self) -> usize
fn num_parameters(&self) -> usize
Get the number of variational parameters.
Sourcefn num_qubits(&self) -> usize
fn num_qubits(&self) -> usize
Get the number of qubits.
Provided Methods§
Sourcefn initial_parameters(&self) -> Vec<f64>
fn initial_parameters(&self) -> Vec<f64>
Get initial parameter values.