WaveBlocksND
Public Member Functions | Private Attributes | List of all members
waveblocks::wavepackets::HaWpParamSet< D > Struct Template Reference

This class represents the Hagedorn parameter set \( \Pi = \{q, p, Q, P, S\} \). More...

#include <hawp_paramset.hpp>

Public Member Functions

 HaWpParamSet ()
 
 HaWpParamSet (const HaWpParamSet &that)
 
 HaWpParamSet (const RMatrix< D, 1 > &q, const RMatrix< D, 1 > &p, const CMatrix< D, D > &Q, const CMatrix< D, D > &P, const complex_t &S)
 
 HaWpParamSet (const RMatrix< D, 1 > &q, const RMatrix< D, 1 > &p, const CMatrix< D, D > &Q, const CMatrix< D, D > &P, const complex_t &S, math::ContinuousSqrt< real_t > sqrt_detQ)
 
HaWpParamSetoperator= (const HaWpParamSet &that)
 
RMatrix< D, 1 > const & q () const
 Get the parameter \( q \). More...
 
RMatrix< D, 1 > const & p () const
 Get the parameter \( p \). More...
 
CMatrix< D, D > const & Q () const
 Get the parameter \( Q \). More...
 
CMatrix< D, D > const & P () const
 Get the parameter \( P \). More...
 
complex_t const & S () const
 Get the parameter \( S \). More...
 
complex_t const sdQ () const
 
real_t const state () const
 
void q (const RMatrix< D, 1 > &qnew)
 Set the parameter \( q \). More...
 
void p (const RMatrix< D, 1 > &pnew)
 Set the parameter \( p \). More...
 
void Q (const CMatrix< D, D > &Qnew)
 Set the parameter \( Q \). More...
 
void P (const CMatrix< D, D > &Pnew)
 Set the parameter \( P \). More...
 
void S (const complex_t &Snew)
 Set the parameter \( S \). More...
 
void updateq (const RMatrix< D, 1 > &qnew)
 Update the parameter \( q \). More...
 
void updatep (const RMatrix< D, 1 > &pnew)
 Update the parameter \( p \). More...
 
void updateQ (const CMatrix< D, D > &Qnew)
 Update the parameter \( Q \). More...
 
void updateP (const CMatrix< D, D > &Pnew)
 Update the parameter \( P \). More...
 
void updateS (const complex_t &Snew)
 Update the parameter \( S \). More...
 
void resync ()
 
bool compatible () const
 
std::pair< RMatrix< D, 1 >, RMatrix< D, D > > mix (const HaWpParamSet< D > &ket) const
 

Private Attributes

RMatrix< D, 1 > q_
 
RMatrix< D, 1 > p_
 
CMatrix< D, D > Q_
 
CMatrix< D, D > P_
 
complex_t S_
 
math::ContinuousSqrt< real_tsqrt_detQ_
 

Detailed Description

template<dim_t D>
struct waveblocks::wavepackets::HaWpParamSet< D >

This class represents the Hagedorn parameter set \( \Pi = \{q, p, Q, P, S\} \).

The first two parameters \( q \) and \( p \) are \( D \) dimensional real-valued vectors. The second two \( Q \) and \( P \) are complex \( D \times D \) matrices. The last parameter \( S \) is the global complex phase.

Constructor & Destructor Documentation

template<dim_t D>
waveblocks::wavepackets::HaWpParamSet< D >::HaWpParamSet ( )
inline

Construct a Hagedorn parameter set with default values.

template<dim_t D>
waveblocks::wavepackets::HaWpParamSet< D >::HaWpParamSet ( const HaWpParamSet< D > &  that)
inline

Construct a Hagedorn parameter set by copying from another one.

template<dim_t D>
waveblocks::wavepackets::HaWpParamSet< D >::HaWpParamSet ( const RMatrix< D, 1 > &  q,
const RMatrix< D, 1 > &  p,
const CMatrix< D, D > &  Q,
const CMatrix< D, D > &  P,
const complex_t S 
)
inline

Construct a Hagedorn parameter set with explicit values.

template<dim_t D>
waveblocks::wavepackets::HaWpParamSet< D >::HaWpParamSet ( const RMatrix< D, 1 > &  q,
const RMatrix< D, 1 > &  p,
const CMatrix< D, D > &  Q,
const CMatrix< D, D > &  P,
const complex_t S,
math::ContinuousSqrt< real_t sqrt_detQ 
)
inline

Member Function Documentation

template<dim_t D>
bool waveblocks::wavepackets::HaWpParamSet< D >::compatible ( ) const
inline

Check the compatibility relations

\[\begin{align} Q^{\texttt{H}} P - P^{\texttt{H}} Q & = 2i I \\ Q^{\texttt{T}} P - P^{\texttt{T}} Q & = 0 \end{align}\]

template<dim_t D>
std::pair< RMatrix<D,1>, RMatrix<D,D> > waveblocks::wavepackets::HaWpParamSet< D >::mix ( const HaWpParamSet< D > &  ket) const
inline

Mix the two parameter sets \( \Pi_i \) and \( \Pi_j \) from the bra and the ket wavepackets \( \Phi\left[\Pi_i\right] \) and \( \Phi^\prime\left[\Pi_j\right] \).

Parameters
ketThe parameter set \( \Pi_j \) from the ket part wavepacket.
Returns
The mixed parameters \( q_0 \) and \( Q_0 \).
template<dim_t D>
HaWpParamSet& waveblocks::wavepackets::HaWpParamSet< D >::operator= ( const HaWpParamSet< D > &  that)
inline

Construct a Hagedorn parameter set by assigning from another one.

template<dim_t D>
RMatrix<D,1> const& waveblocks::wavepackets::HaWpParamSet< D >::p ( ) const
inline

Get the parameter \( p \).

template<dim_t D>
CMatrix<D,D> const& waveblocks::wavepackets::HaWpParamSet< D >::P ( ) const
inline

Get the parameter \( P \).

template<dim_t D>
void waveblocks::wavepackets::HaWpParamSet< D >::p ( const RMatrix< D, 1 > &  pnew)
inline

Set the parameter \( p \).

template<dim_t D>
void waveblocks::wavepackets::HaWpParamSet< D >::P ( const CMatrix< D, D > &  Pnew)
inline

Set the parameter \( P \).

template<dim_t D>
RMatrix<D,1> const& waveblocks::wavepackets::HaWpParamSet< D >::q ( ) const
inline

Get the parameter \( q \).

template<dim_t D>
CMatrix<D,D> const& waveblocks::wavepackets::HaWpParamSet< D >::Q ( ) const
inline

Get the parameter \( Q \).

template<dim_t D>
void waveblocks::wavepackets::HaWpParamSet< D >::q ( const RMatrix< D, 1 > &  qnew)
inline

Set the parameter \( q \).

template<dim_t D>
void waveblocks::wavepackets::HaWpParamSet< D >::Q ( const CMatrix< D, D > &  Qnew)
inline

Set the parameter \( Q \).

template<dim_t D>
void waveblocks::wavepackets::HaWpParamSet< D >::resync ( )
inline
template<dim_t D>
complex_t const& waveblocks::wavepackets::HaWpParamSet< D >::S ( ) const
inline

Get the parameter \( S \).

template<dim_t D>
void waveblocks::wavepackets::HaWpParamSet< D >::S ( const complex_t Snew)
inline

Set the parameter \( S \).

template<dim_t D>
complex_t const waveblocks::wavepackets::HaWpParamSet< D >::sdQ ( ) const
inline
template<dim_t D>
real_t const waveblocks::wavepackets::HaWpParamSet< D >::state ( ) const
inline
template<dim_t D>
void waveblocks::wavepackets::HaWpParamSet< D >::updatep ( const RMatrix< D, 1 > &  pnew)
inline

Update the parameter \( p \).

template<dim_t D>
void waveblocks::wavepackets::HaWpParamSet< D >::updateP ( const CMatrix< D, D > &  Pnew)
inline

Update the parameter \( P \).

template<dim_t D>
void waveblocks::wavepackets::HaWpParamSet< D >::updateq ( const RMatrix< D, 1 > &  qnew)
inline

Update the parameter \( q \).

template<dim_t D>
void waveblocks::wavepackets::HaWpParamSet< D >::updateQ ( const CMatrix< D, D > &  Qnew)
inline

Update the parameter \( Q \).

template<dim_t D>
void waveblocks::wavepackets::HaWpParamSet< D >::updateS ( const complex_t Snew)
inline

Update the parameter \( S \).

Member Data Documentation

template<dim_t D>
RMatrix<D,1> waveblocks::wavepackets::HaWpParamSet< D >::p_
private
template<dim_t D>
CMatrix<D,D> waveblocks::wavepackets::HaWpParamSet< D >::P_
private
template<dim_t D>
RMatrix<D,1> waveblocks::wavepackets::HaWpParamSet< D >::q_
private
template<dim_t D>
CMatrix<D,D> waveblocks::wavepackets::HaWpParamSet< D >::Q_
private
template<dim_t D>
complex_t waveblocks::wavepackets::HaWpParamSet< D >::S_
private
template<dim_t D>
math::ContinuousSqrt<real_t> waveblocks::wavepackets::HaWpParamSet< D >::sqrt_detQ_
private

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