SOLIDstate
A C++ library for solid state physics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
solid::ParityOperator< T1, T2 > Class Template Reference

implementation of the ParityOperator More...

#include <ParityOperator.hpp>

Inheritance diagram for solid::ParityOperator< T1, T2 >:
Inheritance graph
[legend]
Collaboration diagram for solid::ParityOperator< T1, T2 >:
Collaboration graph
[legend]

Public Member Functions

 ParityOperator (int _L)
 Construct a new Parity Operator< T 1, T 2> object. More...
 
void PreprocessingVirtual (T1< T2 > &matrixElements) override
 virtual link for static Postprocessing More...
 
- Public Member Functions inherited from solid::IOperatorParameters< T1, T2 >
virtual ~IOperatorParameters ()
 Destroy the IOperatorParameters object. More...
 

Static Public Member Functions

static void Preprocessing (T1< T2 > &matrixElements)
 
- Static Public Member Functions inherited from solid::IOperatorParameters< T1, T2 >
static void Preprocessing (T1< T2 > &matrixElements)
 static virtial function for matrixElements postprocessing More...
 

Private Member Functions

void SelectTerms ()
 
void FillParameters () override
 Filling the Parameters. More...
 

Private Attributes

int L
 

Additional Inherited Members

- Public Attributes inherited from solid::Observable< T1, T2 >
Operator< T1, T2 > _operator
 container for matrixElements More...
 
Parameters< T2 > parameters
 parameters for Observable More...
 

Detailed Description

template<template< typename > class T1, typename T2>
class solid::ParityOperator< T1, T2 >

implementation of the ParityOperator

Template Parameters
T1matrix type: arma::Mat and arma:SpMat are supported
T2data type: double, std::complex<double> are supported

implements ParityOperator \(\mathcal P \) defined in the following way:

\[ \mathcal P = \prod_i (1-2\hat n_i), \]

where \(\hat n_i \) is particle number operator at site \(i\).

Constructor & Destructor Documentation

template<template< typename > class T1, typename T2 >
solid::ParityOperator< T1, T2 >::ParityOperator ( int  _L)
inline

Construct a new Parity Operator< T 1, T 2> object.

Parameters
_Lnumber of sites

Member Function Documentation

template<template< typename > class T1, typename T2 >
void solid::ParityOperator< T1, T2 >::FillParameters ( )
inlineoverrideprivatevirtual

Filling the Parameters.

Purely virtual function to override for IOperatorParameters implementation

Implements solid::IOperatorParameters< T1, T2 >.

template<template< typename > class T1, typename T2 >
static void solid::ParityOperator< T1, T2 >::Preprocessing ( T1< T2 > &  matrixElements)
inlinestatic
template<template< typename > class T1, typename T2 >
void solid::ParityOperator< T1, T2 >::PreprocessingVirtual ( T1< T2 > &  matrixElements)
inlineoverridevirtual

virtual link for static Postprocessing

Reimplemented from solid::IOperatorParameters< T1, T2 >.

template<template< typename > class T1, typename T2 >
void solid::ParityOperator< T1, T2 >::SelectTerms ( )
inlineprivate

Member Data Documentation

template<template< typename > class T1, typename T2 >
int solid::ParityOperator< T1, T2 >::L
private

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