Functions
Base.:* — MethodBase.:*(p1::Pauli{N}, p2::Pauli{N}) where {N}Multiply two Pauli's together
Base.:* — MethodBase.:*(d1::DyadSum{N,T}, d2::DyadSum{N,T}) where {N,T}TBW
Base.:* — MethodBase.:*(ps1::PauliSum{N}, ps2::PauliSum{N}) where {N}Multiply two PauliSums.
Base.:* — MethodBase.:*(ps1::PauliSum{N, T}, ps2::Adjoint{<:Any, PauliSum{N, T}}) where {N, T}Multiply two PauliSums.
Base.:* — MethodBase.:*(ps1::Adjoint{<:Any, PauliSum{N, T}}, ps2::PauliSum{N, T}) where {N, T}Multiply two PauliSums.
Base.:* — MethodBase.:*(ps1::Adjoint{<:Any, PauliSum{N, T}}, ps2::Adjoint{<:Any, PauliSum{N, T}}) where {N, T}Multiply two PauliSums.
Base.:+ — MethodBase.:+(p::Bra{N}, q::Bra{N}) where NAdd two Ket's together, return a KetSum
Base.:+ — MethodBase.:+(p::Ket{N}, q::Ket{N}) where NAdd two Ket's together, return a KetSum
Base.:+ — MethodBase.:+(p::DyadBasis{N}, q::DyadBasis{N}) where NAdd two Dyad's together, return a DyadSum
Base.:+ — MethodBase.:+(p::Pauli{N}, q::Pauli{N}) where NAdd two Pauli's together, return a PauliSum
Base.:+ — MethodBase.:+(ps1::DyadSum{N}, ps2::DyadSum{N}) where {N}TBW
Base.:- — MethodBase.:-(ps1::PauliSum, ps2::PauliSum)Subtract two PauliSums.
Base.:- — MethodBase.:-(ps1::PauliSum, ps2::PauliSum)Subtract two PauliSums.
Base.:- — MethodBase.:-(p::Pauli{N}) where {N}TBW
Base.Multimedia.display — MethodBase.display(p::Pauli{N}) where NTBW
Base.adjoint — MethodBase.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ₙ
Base.rand — Methodrand(Pauli{N})TBW
Base.show — MethodBase.show(io::IO, P::Pauli{N}) where NTBW
Base.show — MethodBase.show(io::IO, v::KetSum{N,T}) where {N,T}TBW
Base.string — MethodBase.string(p::Pauli{N}) where NDisplay, y = iY
Base.string — MethodBase.string(p::Pauli{N}) where NDisplay, y = iY
Base.sum! — MethodBase.sum!(p1::PauliSum{N}, p2::PauliSum{N}) where {N}Add two PauliSums.
LinearAlgebra.dot — MethodLinearAlgebra.dot(v1::KetSum{N,T}, v2::KetSum{N,TT}) where {N,T,TT}TBW
LinearAlgebra.ishermitian — Methodishermitian(p::Pauli)TBW
PauliOperators.clip! — Methodclip!(ps::PauliSum; thresh=1e-16)Delete Dyad's with coeffs smaller than thresh
PauliOperators.osum — Methodosum(p1::Pauli{N}, p2::Pauli{M}) where {N,M}Returns the direct sum of two Paulis
PauliOperators.otimes — Methodotimes(p1::Pauli{N}, p2::Pauli{M}) where {N,M}TBW
PauliOperators.otimes — Methodotimes(p1::DyadSum{N,T}, p2::DyadSum{M,T}) where {N,M,T}TBW
PauliOperators.otimes — Methodotimes(p1::KetSum{N,T}, p2::KetSum{M,T}) where {N,M,T}TBW
PauliOperators.otimes — Methodotimes(p1::PauliSum{N}, p2::PauliSum{M}) where {N,M}TBW
PauliOperators.scale! — Methodscale!(v1::KetSum{N,T}, a::Number) where {N,T}TBW