OperateOnModes

Trait OperateOnModes 

Source
pub trait OperateOnModes<'a>:
    PartialEq
    + Clone
    + Mul<CalculatorFloat>
    + Add
    + Sub {
    // Required method
    fn current_number_modes(&'a self) -> usize;
}
Expand description

Trait for bosonic or fermionic modes.

§Example

use qoqo_calculator::CalculatorComplex;
use struqture::prelude::*;
use std::collections::HashMap;
use struqture::bosons::{HermitianBosonProduct, BosonHamiltonian};

let mut sh = BosonHamiltonian::new();

// Functions provided in this :
assert_eq!(sh.current_number_modes(), 0);

let pp_0z = HermitianBosonProduct::new([0], [0]).unwrap();
sh.add_operator_product(pp_0z.clone(), CalculatorComplex::from(0.2)).unwrap();

assert_eq!(sh.current_number_modes(), 1);

Required Methods§

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§