Skip to main content

QuantumInference

Trait QuantumInference 

Source
pub trait QuantumInference {
    // Required methods
    fn solve_qaoa(&self, num_layers: usize) -> Result<HashMap<String, usize>>;
    fn quantum_marginals(
        &self,
        num_shots: usize,
    ) -> Result<HashMap<String, ArrayD<f64>>>;
    fn quantum_partition_function(&self) -> Result<f64>;
}
Expand description

Trait for quantum-enhanced inference on factor graphs.

This trait provides methods for using quantum algorithms (QAOA, quantum annealing) to perform inference tasks on probabilistic graphical models.

§Example

use tensorlogic_quantrs_hooks::{FactorGraph, QuantumInference};
use std::collections::HashMap;

let mut graph = FactorGraph::new();
graph.add_variable_with_card("x".to_string(), "Binary".to_string(), 2);
graph.add_variable_with_card("y".to_string(), "Binary".to_string(), 2);

// Solve using QAOA
let solution = graph.solve_qaoa(2).unwrap();
println!("Best assignment: {:?}", solution);

Required Methods§

Source

fn solve_qaoa(&self, num_layers: usize) -> Result<HashMap<String, usize>>

Solve the optimization problem using QAOA (Quantum Approximate Optimization Algorithm).

QAOA maps the factor graph to a quantum circuit and finds the optimal variable assignment that maximizes the joint probability (or minimizes energy).

§Arguments
  • num_layers - Number of QAOA layers (p parameter). More layers give better approximation but require more quantum resources.
§Returns

A map from variable names to their optimal values.

Source

fn quantum_marginals( &self, num_shots: usize, ) -> Result<HashMap<String, ArrayD<f64>>>

Compute marginal distributions using quantum sampling.

This method uses quantum circuits to sample from the joint distribution and estimates marginal probabilities from the samples.

§Arguments
  • num_shots - Number of measurement shots for sampling.
§Returns

A map from variable names to their marginal probability distributions.

Source

fn quantum_partition_function(&self) -> Result<f64>

Compute the partition function using quantum amplitude estimation.

This is useful for computing normalized probabilities and free energy.

Implementors§