Ansatz

Trait Ansatz 

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

Source

fn build_circuit(&self, parameters: &[f64]) -> Result<Circuit, AlgorithmError>

Build the parameterized circuit.

§Arguments
  • parameters - Variational parameters
§Returns

A circuit with the parameters applied.

Source

fn num_parameters(&self) -> usize

Get the number of variational parameters.

Source

fn num_qubits(&self) -> usize

Get the number of qubits.

Provided Methods§

Source

fn initial_parameters(&self) -> Vec<f64>

Get initial parameter values.

Implementors§