Tomographer  v5.2
Tomographer C++ Framework Documentation
Tomographer::DenseDM Namespace Reference

Main implementation for densely represented density matrices. More...

Namespaces

 TSpace
 Implementation of the random walk and figures of merit in T space, for densely represented density matrices.
 

Classes

struct  DMTypes
 C++ types needed to store a quantum state as a dense matrix. More...
 
class  IndepMeasLLH
 C++ types and functions for calculating the log-likelihood for POVM effects which can be written as a product of individual effects. More...
 
class  InvalidMeasData
 Exception class notifying of invalid measurement data. More...
 
class  ParamA
 Parameterization of density matrices in su(N) generators. More...
 
class  ParamX
 Convert hermitian matrices to vectors via their X Parameterization. More...
 

Enumerations

enum  
 Possible ways a DenseLLH-compatible type can calculate the llh function. More...
 

Functions

template<typename ValueType , typename Derived1 , typename Derived2 >
ValueType traceDistance (const Eigen::MatrixBase< Derived1 > &rho1, const Eigen::MatrixBase< Derived2 > &rho2)
 Calculate the trace distance between two density matrices. More...
 
template<typename ValueType , typename Derived , typename Derived2 >
ValueType fidelity (const Eigen::MatrixBase< Derived > &rho, const Eigen::MatrixBase< Derived2 > &sigma)
 Fidelity between two density matrices. More...
 
template<typename ValueType , typename Der1 , typename Der2 >
ValueType fidelityT (const Eigen::MatrixBase< Der1 > &T1, const Eigen::MatrixBase< Der2 > &T2)
 Fidelity between two quantum states given by their T Parameterization. More...
 

Detailed Description

Main implementation for densely represented density matrices.

Enumeration Type Documentation

§ anonymous enum

anonymous enum

Possible ways a DenseLLH-compatible type can calculate the llh function.

Enumerator
LLHCalcTypeInvalid 

The DenseLLH-compatible type cannot calculate the LLH function; it is useless.

LLHCalcTypeRho 

The DenseLLH-compatible object exposes a method logLikelihoodRho(), taking as argument a (const ref to a) DMTypes::MatrixType.

LLHCalcTypeX 

The DenseLLH-compatible object exposes a method logLikelihoodX(), taking as argument a (const ref to a) DMTypes::VectorParamType.

Definition at line 51 of file densellh.h.

Function Documentation

§ fidelity()

template<typename ValueType , typename Derived , typename Derived2 >
ValueType Tomographer::DenseDM::fidelity ( const Eigen::MatrixBase< Derived > &  rho,
const Eigen::MatrixBase< Derived2 > &  sigma 
)
inline

Fidelity between two density matrices.

Calculates \( F(\rho,\sigma) = \left\Vert\sigma^{1/2}\rho^{1/2}\right\Vert_1 \).

Note
This is the Nielsen & Chuang fidelity, sometimes also called "root fidelity."

Definition at line 71 of file distmeasures.h.

§ fidelityT()

template<typename ValueType , typename Der1 , typename Der2 >
ValueType Tomographer::DenseDM::fidelityT ( const Eigen::MatrixBase< Der1 > &  T1,
const Eigen::MatrixBase< Der2 > &  T2 
)
inline

Fidelity between two quantum states given by their T Parameterization.

The \( T \) -parameterization of \( \rho \) is a matrix \( T \) which satisfies

\[ \rho = T T^\dagger . \]

This function calculates the same fidelity function as fidelity(), but accepts the T Parameterization of the quantum states instead. The formula used by this function acts directly on the \( T \) 's:

\[ F(T_1 T_1^\dagger, T_2 T_2^\dagger) = \left\Vert\rho^{1/2}\sigma^{1/2}\right\Vert_1 = \left\Vert T_1^\dagger T_2\right\Vert_1 . \]

Note
This is the Nielsen & Chuang fidelity, sometimes also called "root fidelity."

Definition at line 98 of file distmeasures.h.

§ traceDistance()

template<typename ValueType , typename Derived1 , typename Derived2 >
ValueType Tomographer::DenseDM::traceDistance ( const Eigen::MatrixBase< Derived1 > &  rho1,
const Eigen::MatrixBase< Derived2 > &  rho2 
)
inline

Calculate the trace distance between two density matrices.

The trace distance between \( \rho \) and \( \sigma \) is defined as

\[ \delta(\rho,\sigma) = \frac{1}{2} \left\Vert \rho - \sigma \right\Vert_1 \ . \]

Definition at line 56 of file distmeasures.h.