[][src]Struct q1tsim::gates::U3

pub struct U3 { /* fields omitted */ }

U3 gate.

The U3(θ, ϕ, λ) gate is the univeral single-qubit transformation, all unary gates can be written in terms of U3. It transforms a qubit by the matrix

┌                                     ┐
│       cos(θ/2)      -exp(iλ)sin(θ/2)│
│                                     │
│exp(iϕ)sin(θ/2)   exp(i(λ+ϕ))cos(θ/2)│
└                                     ┘

Methods

impl U3[src]

pub fn new<Tt, Tp, Tl>(theta: Tt, phi: Tp, lambda: Tl) -> Self where
    Parameter: From<Tt> + From<Tp> + From<Tl>, 
[src]

Create a new U3 gate.

pub fn cost() -> f64[src]

Trait Implementations

impl Gate for U3[src]

impl CQasm for U3[src]

impl Latex for U3[src]

impl OpenQasm for U3[src]

Auto Trait Implementations

impl !Send for U3

impl Unpin for U3

impl !Sync for U3

impl !UnwindSafe for U3

impl !RefUnwindSafe for U3

Blanket Implementations

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

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

impl<T> From<T> for 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> BorrowMut<T> for T where
    T: ?Sized
[src]

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

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

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,