[][src]Struct qvm::QVM

pub struct QVM { /* fields omitted */ }

Implementations

impl QVM[src]

pub fn new(n: usize) -> QVM[src]

pub fn get_bits(&self) -> usize[src]

pub fn is_superposition(&self, n: usize) -> bool[src]

impl QVM[src]

pub fn set_superposition(&mut self, address: usize, value: u8) -> Option<bool>[src]

pub fn measure(&mut self, address: usize) -> Option<u8>[src]

impl QVM[src]

To calculate all qubit, we need (2^n)x(2^n) size huge matrix and computation time is O(4^n) mathmetically. However, we need only use fucntion that performs linear transformation for better performance. Computation time of this implement is O(2^n).

pub fn pass_gate(&mut self, gate: Gate, addresses: Vec<usize>) -> Option<bool>[src]

impl QVM[src]

pub fn print_register(&self)[src]

Auto Trait Implementations

Blanket Implementations

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

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

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

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<V, T> VZip<V> for T where
    V: MultiLane<T>,