Observables

QBase.ObservablesModule

Observables describe measurable quantities of a quantum system. Quantum measurement is a probabilistic process. The measurement outcomes are not definite, but described by conditional probabilities.

The QBase.Observables submodule provides types and constructors for representing quantum observables.

source

Types

QBase.Observables.AbstractPOVMType
AbstractPOVM <: AbstractMatrix{Complex{Float64}}

The abstract type representing positive-operator valued measures (POVMs). An AbstractPOVM cannot be instantiated, it serves as a supertype from which concrete types are derived.

source
QBase.Observables.is_povmFunction
is_povm( Π :: Vector ) :: Bool

Returns true if Π is a POVM. The following constraints must be satisfied:

  • Each POVM element is hermitian
  • Each POVM element positive semi-definite
  • The POVM is complete: sum(Π) == I
source
QBase.Observables.POVMType
POVM( Π :: Vector{Matrix} ) <: AbstractPOVM

Positve-operator valued measures (POVMs) represent a general quantum measurement. Each POVM-element is a hermitian, positive-semidefinite matrix. The sum of all POVM-elements yields the identity matrix. The constructor, POVM(Π) throws a DomainError if the provided array of matrices, Π is not a valid POVM.

source
QBase.Observables.QubitPOVMType
QubitPOVM( Π :: Vector{Matrix} ) <: AbstractPOVM

A general qubit measurement. A DomainError is thrown if Π does not contain 2x2 elements or if it is not a valid POVM.

source

Constructors

QBase.Observables.mirror_symmetric_qubit_3povmFunction
mirror_symmetric_qubit_3povm( θ :: Real ) :: QubitPOVM

Constructs a QubitPOVM aligned with the three mirror symmetric qubit states. The first measurement is aligned with the $|0\rangle$ state and the remaining two are symmetric across the z-axis.

A DomainError is thrown if argument θ ∉ [π/4,π/2].

source
QBase.Observables.asymmetric_qubit_3povmFunction
asymmetric_qubit_3povm( θ1::Real, θ2::Real ) :: QubitPOVM

Constructs a general non-orthogonal 3-element QubitPOVM.

Inputs:

  • θ1 ∈ (0,π/2] or [-π/2,0), the angle element 2 makes with $|0\rangle$ state.
  • θ2 ∈ [-π/2,0) or (0,π/2], the angle element 3 makes with $|0\rangle$ state.

A DomainError is thrown if θ1 and θ2 are not in the valid ranges. Note that one angle must be positive and the other negative.

source
QBase.Observables.sqrt_povmFunction
sqrt_povm(priors :: QMath.Marginals, states :: Vector{<:States.AbstractDensityMatrix}) :: POVM

Returns the "pretty good" square-root povm for the given density operator states and priors.

source

Quantum Measurement

QBase.Observables.kraus_operatorsFunction
kraus_operators(Π::AbstractPOVM) :: Array{Array{Complex{Float64},2},1}

Returns the Kraus operators for the provided POVM. In general, the Kraus operators form a continuum and are non-unique. In this method, the construction

$k_i = \sqrt{\Pi_i)}\otimes |i\rangle$

source
QBase.Observables.naimark_dilationFunction
naimark_dilation( Π::AbstractPOVM )

Returns the dilated projectors which are equivalent to the provided POVM. During measurement, the measured state must be tensored with the ancilla.

source