Tomographer  v1.0a
Tomographer C++ Framework Documentation
Tomographer::ParamRhoA< MatrQ_ > Class Template Reference

Parameterization of density matrices in su(N) generators. More...

#include <tomographer/qit/param_rho_a.h>

Public Types

typedef MatrQ_ MatrQ
 The C++ types for quantum objects and parameterizations.
 
typedef MatrQ::MatrixType MatrixType
 The Matrix type to use to describe hermitian matrices.
 
typedef MatrQ::VectorParamNdofType VectorParamNdofType
 The Matrix type to use to describe the A Parameterization of a hermitian matrix.
 
typedef MatrQ::RealScalar RealScalar
 The real scalar type. Usually this is double.
 

Public Member Functions

 ParamRhoA (MatrQ matq_)
 Construct an object which can perform A parameterization transformations. More...
 
const MatrixTypegetLambda (std::size_t j) const
 Generalized Gell-Mann matrices. More...
 
void rhoToA (Eigen::Ref< VectorParamNdofType > a, const Eigen::Ref< const MatrixType > &rho) const
 Compute the A Parameterization of a hermitian matrix. More...
 
void aToRho (Eigen::Ref< MatrixType > rho, const Eigen::Ref< const VectorParamNdofType > &a, RealScalar trace=1.0) const
 Reconstruct a hermitian traceless matrix from its A Parameterization. More...
 

Detailed Description

template<typename MatrQ_>
class Tomographer::ParamRhoA< MatrQ_ >

Parameterization of density matrices in su(N) generators.

This class implements the parameterization descirbed on the page A Parameterization.

Additionally, this class gives access to the constructed generalized Gell-Mann matrices (see A Parameterization), see getLambda().

Definition at line 183 of file param_rho_a.h.

Constructor & Destructor Documentation

template<typename MatrQ_ >
Tomographer::ParamRhoA< MatrQ_ >::ParamRhoA ( MatrQ  matq_)
inline

Construct an object which can perform A parameterization transformations.

Specify the runtime MatrQ object to use (see MatrQ Interface).

Once constructed, this object has precalculated and cached the generalized Gell-Mann matrices (see A Parameterization), and these can be obtained with getLambda().

Definition at line 209 of file param_rho_a.h.

Member Function Documentation

template<typename MatrQ_ >
void Tomographer::ParamRhoA< MatrQ_ >::aToRho ( Eigen::Ref< MatrixType rho,
const Eigen::Ref< const VectorParamNdofType > &  a,
RealScalar  trace = 1.0 
) const
inline

Reconstruct a hermitian traceless matrix from its A Parameterization.

This method computes the hermitian matrix given by its corresponding A Parameterization. The matrix is shifted by the identity so that it has trace trace.

Definition at line 297 of file param_rho_a.h.

template<typename MatrQ_ >
const MatrixType& Tomographer::ParamRhoA< MatrQ_ >::getLambda ( std::size_t  j) const
inline

Generalized Gell-Mann matrices.

Returns the j-th generalized Gell-Mann matrix, as described in A Parameterization. The matrices returned here are NOT normalized with the factor \( \sqrt2\), rather, they are directly the ones constructed in the references cited here.

Parameters
jwhich matrix to return. There are in total \( d^2-1\) matrices. j must be in range or else prepare for an assert hara-kiri.

This function executes quickly as it does not need to compute the matrices. All the generalized Gell-Mann matrices for this dimension are precomputed in the constructor.

The returned reference points directly to the internal cached version of the matrix, so copy it somewhere else if you wish to change it.

Definition at line 267 of file param_rho_a.h.

template<typename MatrQ_ >
void Tomographer::ParamRhoA< MatrQ_ >::rhoToA ( Eigen::Ref< VectorParamNdofType a,
const Eigen::Ref< const MatrixType > &  rho 
) const
inline

Compute the A Parameterization of a hermitian matrix.

This method computes the A Parameterization of the traceless part of the matrix rho.

Note
The matrix rho need not be traceless, though the parameterization in a will only reflect its traceless part, i.e. \( \texttt{rho} - \mathrm{tr}(\texttt{rho})\mathbb{I}/d \).

Definition at line 281 of file param_rho_a.h.


The documentation for this class was generated from the following file: