Observables
BraketSimulator.Observables.Observable
— TypeObservable <: Operator
Abstract type representing an observable to be measured. All Observable
s have eigvals
defined.
See also: H
, I
, X
, Y
, Z
, TensorProduct
, HermitianObservable
.
BraketSimulator.Observables.X
— TypeBraketSimulator.Observables.X <: Observable
BraketSimulator.Observables.X([coeff::Float64]) -> BraketSimulator.Observables.X
Struct representing a BraketSimulator.Observables.X
observable in a measurement. The observable may be scaled by coeff
.
BraketSimulator.Observables.Y
— TypeBraketSimulator.Observables.Y <: Observable
BraketSimulator.Observables.Y([coeff::Float64]) -> BraketSimulator.Observables.Y
Struct representing a BraketSimulator.Observables.Y
observable in a measurement. The observable may be scaled by coeff
.
BraketSimulator.Observables.Z
— TypeBraketSimulator.Observables.Z <: Observable
BraketSimulator.Observables.Z([coeff::Float64]) -> BraketSimulator.Observables.Z
Struct representing a BraketSimulator.Observables.Z
observable in a measurement. The observable may be scaled by coeff
.
BraketSimulator.Observables.H
— TypeBraketSimulator.Observables.H <: Observable
BraketSimulator.Observables.H([coeff::Float64]) -> BraketSimulator.Observables.H
Struct representing a BraketSimulator.Observables.H
observable in a measurement. The observable may be scaled by coeff
.
BraketSimulator.Observables.I
— TypeBraketSimulator.Observables.I <: Observable
BraketSimulator.Observables.I([coeff::Float64]) -> BraketSimulator.Observables.I
Struct representing a BraketSimulator.Observables.I
observable in a measurement. The observable may be scaled by coeff
.
BraketSimulator.Observables.TensorProduct
— TypeTensorProduct <: Observable
TensorProduct(factors::Vector{<:Observable}) -> TensorProduct
TensorProduct(factors::Vector{String}) -> TensorProduct
Struct 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)) @ Z
BraketSimulator.Observables.HermitianObservable
— TypeHermitianObservable <: Observable
HermitianObservable(matrix::Matrix) -> HermitianObservable
Struct 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
— TypeSum <: Observable
Sum(summands::Vector{<:Observable}) -> Sum
Struct 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)