Observables
BraketSimulator.Observables.Observable — Type
Observable <: OperatorAbstract type representing an observable to be measured. All Observables have eigvals defined.
See also: H, I, X, Y, Z, TensorProduct, HermitianObservable.
BraketSimulator.Observables.X — Type
BraketSimulator.Observables.X <: Observable
BraketSimulator.Observables.X([coeff::Float64]) -> BraketSimulator.Observables.XStruct representing a BraketSimulator.Observables.X observable in a measurement. The observable may be scaled by coeff.
BraketSimulator.Observables.Y — Type
BraketSimulator.Observables.Y <: Observable
BraketSimulator.Observables.Y([coeff::Float64]) -> BraketSimulator.Observables.YStruct representing a BraketSimulator.Observables.Y observable in a measurement. The observable may be scaled by coeff.
BraketSimulator.Observables.Z — Type
BraketSimulator.Observables.Z <: Observable
BraketSimulator.Observables.Z([coeff::Float64]) -> BraketSimulator.Observables.ZStruct representing a BraketSimulator.Observables.Z observable in a measurement. The observable may be scaled by coeff.
BraketSimulator.Observables.H — Type
BraketSimulator.Observables.H <: Observable
BraketSimulator.Observables.H([coeff::Float64]) -> BraketSimulator.Observables.HStruct representing a BraketSimulator.Observables.H observable in a measurement. The observable may be scaled by coeff.
BraketSimulator.Observables.I — Type
BraketSimulator.Observables.I <: Observable
BraketSimulator.Observables.I([coeff::Float64]) -> BraketSimulator.Observables.IStruct representing a BraketSimulator.Observables.I observable in a measurement. The observable may be scaled by coeff.
BraketSimulator.Observables.TensorProduct — Type
TensorProduct <: Observable
TensorProduct(factors::Vector{<:Observable}) -> TensorProduct
TensorProduct(factors::Vector{String}) -> TensorProductStruct representing a tensor product of smaller observables.
Examples
julia> BraketSimulator.Observables.TensorProduct(["x", "h"])
X @ H
julia> ho = BraketSimulator.Observables.HermitianObservable([0 1; 1 0]);
julia> BraketSimulator.Observables.TensorProduct([ho, BraketSimulator.Observables.Z()])
HermitianObservable((2, 2)) @ ZBraketSimulator.Observables.HermitianObservable — Type
HermitianObservable <: Observable
HermitianObservable(matrix::Matrix) -> HermitianObservableStruct representing an observable of an arbitrary complex Hermitian matrix.
Examples
julia> ho = BraketSimulator.Observables.HermitianObservable([0 1; 1 0])
HermitianObservable((2, 2))BraketSimulator.Observables.Sum — Type
Sum <: Observable
Sum(summands::Vector{<:Observable}) -> SumStruct representing the sum of observables.
Examples
julia> o1 = 2.0 * BraketSimulator.Observables.I() * BraketSimulator.Observables.Z();
julia> o2 = 3.0 * BraketSimulator.Observables.X() * BraketSimulator.Observables.X();
julia> o = o1 + o2
Sum(2.0 * I @ Z, 3.0 * X @ X)