[][src]Struct q1tsim::gates::U2

pub struct U2 { /* fields omitted */ }

U2 gate.

The U2(ϕ, λ) gate transforms a qubit by the matrix

          ┌                      ┐
          │      1       -exp(iλ)│
1/sqrt(2) │                      │
          │exp(iϕ)    exp(i(λ+ϕ))│
          └                      ┘

Methods

impl U2[src]

pub fn new(phi: f64, lambda: f64) -> Self[src]

Create a new U2 gate.

pub fn cost() -> f64[src]

Trait Implementations

impl Gate for U2[src]

fn apply(&self, state: &mut CVector)[src]

Apply a gate. Read more

fn apply_mat(&self, state: &mut CMatrix)[src]

Apply a gate. Read more

fn apply_slice(&self, state: CVecSliceMut)[src]

Apply a gate. Read more

fn apply_mat_slice(&self, state: CMatSliceMut)[src]

Apply a gate. Read more

fn check_nr_bits(&self, bits: &[usize]) -> Result<()>[src]

Check the number of bits Read more

impl CQasm for U2[src]

fn conditional_c_qasm(
    &self,
    condition: &str,
    bit_names: &[String],
    bits: &[usize]
) -> Result<String>
[src]

cQasm representation of conditional gate. Read more

impl Latex for U2[src]

impl OpenQasm for U2[src]

fn conditional_open_qasm(
    &self,
    condition: &str,
    bit_names: &[String],
    bits: &[usize]
) -> Result<String>
[src]

OpenQasm representation of conditional gate. Read more

Auto Trait Implementations

impl Send for U2

impl Sync for U2

Blanket Implementations

impl<G> CircuitGate for G where
    G: Gate + CQasm + Latex + OpenQasm
[src]

impl<T> From for T[src]

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

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

type Error = Infallible

The type returned in the event of a conversion error.

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

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

impl<T, U> TryInto 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> Any for T where
    T: 'static + ?Sized
[src]