NanoStructures  1.0
DMFT solver for layered, strongly correlated nanostructures
nrg::HilbertSubSpace Class Reference

HilbertSubSpace: Hilbert subspace for charge quantum number Q and spin Sz. This class contains the eigenenergies, matrix elements and reduced density matrix for a Hilbert subspace with charge quantum number Q and spin S. More...

#include <hilbertsubspace.h>

Public Member Functions

 HilbertSubSpace (int Q, int Sz)
 constructs a subspace with quantum numbers Q and Sz More...
 
int getQ ()
 returns the charge quantum number Q of the subspace More...
 
int getSz ()
 returns the spin quantum number Sz of the subspace More...
 
int getKeptStates ()
 returns the numer of kept states for the subspace More...
 
void setKeptStates (int keptStates)
 sets the number of kept states for the subspace More...
 
math::MatrixgetHamiltonian ()
 returns reference to the Hamiltonian/unitary transformation After diagonalization Lapack turns this Hamiltonian matrix H into the diagonalizing unitary transformation U. So beware! More...
 
void setHamiltonian (math::Matrix &H)
 set the Hamiltonian H More...
 
math::VectorgetEnergies ()
 returns a reference to the vector of eigenenergies More...
 
void setR (int i, int r)
 sets the # of kept states for ith hilbert space of the prev. iteration More...
 
int getR (int i)
 retrieves the # of kept states for ith hilbert space of the prev. iteration More...
 
math::MatrixgetChainElementsUp ()
 retrieves a reference to chain matrix elements for spin up electrons More...
 
math::MatrixgetChainElementsDown ()
 retrieves a reference to chain matrix elements for spin down electrons More...
 
math::MatrixgetDensityMatrixEigenBasis ()
 
math::MatrixgetDensityMatrix ()
 
math::MatrixgetLocalMatrixElementUp ()
 retrieves a reference to impurity matrix elements for spin down electrons Take a look at the "self-energy trick" by R. Bulla More...
 
math::MatrixgetLocalMatrixElementDown ()
 retrieves a reference to impurity matrix elements for spin down electrons Take a look at the "self-energy trick" by R. Bulla More...
 
math::MatrixgetLocalMatrixElementUp2 ()
 retrieves a reference to other impurity matrix elements for spin down electrons Take a look at the "self-energy trick" by R. Bulla More...
 
math::MatrixgetLocalMatrixElementDown2 ()
 retrieves a reference to other impurity matrix elements for spin down electrons Take a look at the "self-energy trick" by R. Bulla More...
 

Protected Attributes

int m_Q
 
int m_Sz
 
int m_r [4]
 
int m_nKeptStates
 
math::Matrix m_H
 
math::Vector m_E
 
math::Matrix m_chainOperatorElementsUp
 
math::Matrix m_chainOperatorElementsDown
 
math::Matrix m_densityMatrix
 
math::Matrix m_densityMatrixEigenBasis
 
math::Matrix m_fUp
 
math::Matrix m_fDown
 
math::Matrix m_fffUp
 
math::Matrix m_fffDown
 

Detailed Description

HilbertSubSpace: Hilbert subspace for charge quantum number Q and spin Sz. This class contains the eigenenergies, matrix elements and reduced density matrix for a Hilbert subspace with charge quantum number Q and spin S.

Constructor & Destructor Documentation

nrg::HilbertSubSpace::HilbertSubSpace ( int  Q,
int  Sz 
)

constructs a subspace with quantum numbers Q and Sz

Parameters
[in]Qcharge quantum number
[in]Szspin quantum number

Member Function Documentation

math::Matrix& nrg::HilbertSubSpace::getChainElementsDown ( )
inline

retrieves a reference to chain matrix elements for spin down electrons

Returns
chain matrix elements for spin down
math::Matrix& nrg::HilbertSubSpace::getChainElementsUp ( )
inline

retrieves a reference to chain matrix elements for spin up electrons

Returns
chain matrix elements for spin up
math::Vector& nrg::HilbertSubSpace::getEnergies ( )
inline

returns a reference to the vector of eigenenergies

Returns
eigenenergies
math::Matrix& nrg::HilbertSubSpace::getHamiltonian ( )
inline

returns reference to the Hamiltonian/unitary transformation After diagonalization Lapack turns this Hamiltonian matrix H into the diagonalizing unitary transformation U. So beware!

Returns
reference to matrix H/U
int nrg::HilbertSubSpace::getKeptStates ( )
inline

returns the numer of kept states for the subspace

Returns
# of kept states
math::Matrix& nrg::HilbertSubSpace::getLocalMatrixElementDown ( )
inline

retrieves a reference to impurity matrix elements for spin down electrons Take a look at the "self-energy trick" by R. Bulla

Returns
impurity matrix elements for spin down
math::Matrix& nrg::HilbertSubSpace::getLocalMatrixElementDown2 ( )
inline

retrieves a reference to other impurity matrix elements for spin down electrons Take a look at the "self-energy trick" by R. Bulla

Returns
other impurity matrix elements for spin down
math::Matrix& nrg::HilbertSubSpace::getLocalMatrixElementUp ( )
inline

retrieves a reference to impurity matrix elements for spin down electrons Take a look at the "self-energy trick" by R. Bulla

Returns
impurity matrix elements for spin down
math::Matrix& nrg::HilbertSubSpace::getLocalMatrixElementUp2 ( )
inline

retrieves a reference to other impurity matrix elements for spin down electrons Take a look at the "self-energy trick" by R. Bulla

Returns
other impurity matrix elements for spin down
int nrg::HilbertSubSpace::getQ ( )
inline

returns the charge quantum number Q of the subspace

Returns
charge quantum number
int nrg::HilbertSubSpace::getR ( int  i)
inline

retrieves the # of kept states for ith hilbert space of the prev. iteration

Parameters
[in]i0,1,2,3
Returns
# of states
int nrg::HilbertSubSpace::getSz ( )
inline

returns the spin quantum number Sz of the subspace

Returns
spin quantum number
void nrg::HilbertSubSpace::setHamiltonian ( math::Matrix H)
inline

set the Hamiltonian H

Parameters
[in]HHamiltonian matrix
void nrg::HilbertSubSpace::setKeptStates ( int  keptStates)
inline

sets the number of kept states for the subspace

Parameters
[in]keptStates# of kept states
void nrg::HilbertSubSpace::setR ( int  i,
int  r 
)
inline

sets the # of kept states for ith hilbert space of the prev. iteration

Parameters
[in]i0,1,2,3
[in]r# of kept states

The documentation for this class was generated from the following files:
  • /home/chris/Development/Release/NanoStructures/nrg/hilbertsubspace.h
  • /home/chris/Development/Release/NanoStructures/nrg/hilbertsubspace.cpp