Functions

Base.:*Method
Base.:*(p1::Pauli{N}, p2::Pauli{N}) where {N}

Multiply two Pauli's together

source
Base.:*Method
Base.:*(d1::DyadSum{N,T}, d2::DyadSum{N,T}) where {N,T}

TBW

source
Base.:*Method
Base.:*(ps1::PauliSum{N}, ps2::PauliSum{N}) where {N}

Multiply two PauliSums.

source
Base.:*Method
Base.:*(ps1::PauliSum{N, T}, ps2::Adjoint{<:Any, PauliSum{N, T}}) where {N, T}

Multiply two PauliSums.

source
Base.:*Method
Base.:*(ps1::Adjoint{<:Any, PauliSum{N, T}}, ps2::PauliSum{N, T}) where {N, T}

Multiply two PauliSums.

source
Base.:*Method
Base.:*(ps1::Adjoint{<:Any, PauliSum{N, T}}, ps2::Adjoint{<:Any, PauliSum{N, T}}) where {N, T}

Multiply two PauliSums.

source
Base.:+Method
Base.:+(p::Bra{N}, q::Bra{N}) where N

Add two Ket's together, return a KetSum

source
Base.:+Method
Base.:+(p::Ket{N}, q::Ket{N}) where N

Add two Ket's together, return a KetSum

source
Base.:+Method
Base.:+(p::DyadBasis{N}, q::DyadBasis{N}) where N

Add two Dyad's together, return a DyadSum

source
Base.:+Method
Base.:+(p::Pauli{N}, q::Pauli{N}) where N

Add two Pauli's together, return a PauliSum

source
Base.:+Method
Base.:+(ps1::DyadSum{N}, ps2::DyadSum{N}) where {N}

TBW

source
Base.:-Method
Base.:-(ps1::PauliSum, ps2::PauliSum)

Subtract two PauliSums.

source
Base.:-Method
Base.:-(ps1::PauliSum, ps2::PauliSum)

Subtract two PauliSums.

source
Base.adjointMethod
Base.adjoint(p::Pauli)


Pauli{N}(s,z,x)  =  s ⋅ z₁...|x₁... 
                 =  s ⋅ i^-θs ⋅ P₁⊗...⊗Pₙ
                 =  coeff ⋅ P₁⊗...⊗Pₙ

Since the PauliBasis is Hermitian, we have that Pauli' = coeff' ⋅ P₁⊗...⊗Pₙ

source
Base.sum!Method
Base.sum!(p1::PauliSum{N}, p2::PauliSum{N}) where {N}

Add two PauliSums.

source