Tomographer  v5.3
Tomographer C++ Framework Documentation
Tomographer::DenseDM::ParamA< DMTypes_ > Class Template Reference

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

#include <tomographer/densedm/param_rho_a.h>

Public Types

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

Public Member Functions

 ParamA (DMTypes dmt_)
 Construct an object which can perform A parameterization transformations. More...
 
const MatrixTypegetLambda (std::size_t j) const
 Generalized Gell-Mann matrices. More...
 
VectorParamNdofType rhoToA (const Eigen::Ref< const MatrixType > &rho) const
 Compute the A Parameterization of a hermitian matrix. More...
 
MatrixType aToRho (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 DMTypes_>
class Tomographer::DenseDM::ParamA< DMTypes_ >

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().

Todo:
This class can probably be better optimized, as currently the inner products are calculated by Hilbert-Schmidt matrix multiplication ...

Definition at line 186 of file param_rho_a.h.

Constructor & Destructor Documentation

§ ParamA()

template<typename DMTypes_ >
Tomographer::DenseDM::ParamA< DMTypes_ >::ParamA ( DMTypes  dmt_)
inline

Construct an object which can perform A parameterization transformations.

Specify the runtime DMTypes object to use.

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 212 of file param_rho_a.h.

Member Function Documentation

§ aToRho()

template<typename DMTypes_ >
MatrixType Tomographer::DenseDM::ParamA< DMTypes_ >::aToRho ( 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 304 of file param_rho_a.h.

§ getLambda()

template<typename DMTypes_ >
const MatrixType& Tomographer::DenseDM::ParamA< DMTypes_ >::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 270 of file param_rho_a.h.

§ rhoToA()

template<typename DMTypes_ >
VectorParamNdofType Tomographer::DenseDM::ParamA< DMTypes_ >::rhoToA ( 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 285 of file param_rho_a.h.


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