[][src]Enum qip::state_ops::UnitaryOp

pub enum UnitaryOp {
    Matrix(Vec<u64>, Vec<Complex<f64>>),
    SparseMatrix(Vec<u64>, Vec<Vec<(u64, Complex<f64>)>>),
    Swap(Vec<u64>, Vec<u64>),
    Control(Vec<u64>, Vec<u64>, Box<UnitaryOp>),
    Function(Vec<u64>, Vec<u64>, Box<dyn Fn(u64) -> (u64, f64) + Send + Sync>),
}

Types of unitary ops which can be applied to a state.

Variants

Matrix(Vec<u64>, Vec<Complex<f64>>)

Indices, Matrix data

SparseMatrix(Vec<u64>, Vec<Vec<(u64, Complex<f64>)>>)

Indices, Matrix data

Swap(Vec<u64>, Vec<u64>)

A indices, B indices

Control(Vec<u64>, Vec<u64>, Box<UnitaryOp>)

Control indices, Op indices, Op

Function(Vec<u64>, Vec<u64>, Box<dyn Fn(u64) -> (u64, f64) + Send + Sync>)

Function which maps |x,y> to |x,f(x) xor y>

Trait Implementations

impl Debug for UnitaryOp[src]

Auto Trait Implementations

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]