Tomographer  v5.4
Tomographer C++ Framework Documentation
DenseLLH Interface

This is a ‘type interface.’ See Type Interfaces for more info on what that is.

A DenseLLH compliant type is one which is capable of calculating the loglikelihood function for a particular realization of a quantum tomography experiment.

The log-likelihood function is defined as the logarithm of the likelihood function:

\[ \texttt{llh}(\rho) = \ln \mathrm{tr}\left(B^n \rho^{\otimes n}\right)\ , \]

where \( B^n \) is the joint POVM effect observed on the \( n \) systems (in the most general scenario of [Christandl & Renner, PRL (2012)]), and where \( \rho \) is the quantum state at which to evaluate the log-likelihood function.

Note
Here, the log-likelihood function is defined WITHOUT any \( -2 \) factor which is sometimes conventionally implied.

Currently, the only implementation is Tomographer::DenseDM::IndepMeasLLH, which stores the individual POVM effects along with frequencies, while assuming that the global observed POVM effect (in the general scenario) can be written as a product of effects (though this does not imply that the POVM itself is a product POVM).

A DenseLLH compliant type should expose the following members:

typedef ... DMTypes
The Tomographer::DenseDM::DMTypes DMTypes type to use to store quantum states and POVM effects as dense objects.
typedef ... LLHValueType
The type used to store the value of the loglikelihood function. Typically the boring old double is suitable.
const DMTypes dmt;
A public member which is an instance of the corresponding DMTypes, which can be used to construct dense objects to store quantum states and POVM effects.
enum { LLHCalcType = ... }
Specifies how this object can calculate the loglikelihood function. The value must be one of LLHCalcTypeX or LLHCalcTypeRho. (In the future, we may add more values to this enum to support further parameterizations.)
LLHValueType logLikelihoodX(VectorParamTypeConstRef x)
(Required only if LLHCalcType = LLHCalcTypeX) Calculate the value of the loglikelihood function for the point x, given in X Parameterization. The argument type VectorParamTypeConstRef matches the one declared in DMTypes.
LLHValueType logLikelihoodRho(MatrixTypeConstRef rho)
(Required only if LLHCalcType = LLHCalcTypeRho) Calculate the value of the loglikelihood function for the point rho, given as a density matrix. The argument type MatrixTypeConstRef matches the one declared in DMTypes.