GQCP
|
#include <HoppingMatrix.hpp>
Public Types | |
using | Scalar = _Scalar |
Public Member Functions | |
HoppingMatrix (const SquareMatrix< Scalar > &H) | |
size_t | numberOfLatticeSites () const |
const SquareMatrix< Scalar > & | matrix () const |
SquareMatrix< Scalar > & | matrix () |
Static Public Member Functions | |
template<typename Z = Scalar> | |
static enable_if_t< std::is_same< Z, double >::value, HoppingMatrix< double > > | Dense (std::vector< double > &triagonal_data) |
template<typename Z = Scalar> | |
static enable_if_t< std::is_same< Z, double >::value, HoppingMatrix< double > > | Homogeneous (const AdjacencyMatrix &A, const double t) |
template<typename Z = Scalar> | |
static enable_if_t< std::is_same< Z, double >::value, HoppingMatrix< double > > | FromLinkVector (const AdjacencyMatrix &A, std::vector< double > &link_vector) |
The Hubbard hopping matrix.
_Scalar | The scalar type of the elements of the hopping matrix. |
using GQCP::HoppingMatrix< _Scalar >::Scalar = _Scalar |
|
inline |
Create a hopping matrix from its representation as a SquareMatrix
.
H | The Hubbard hopping matrix, represented as a SquareMatrix . |
|
inlinestatic |
Create a hopping matrix from a vector containing the upper triangle.
csline | A vector that contains the upper triangle (in column-major ordering) of the Hubbard hopping matrix. |
|
inlinestatic |
Generate the Hubbard hopping matrix from an adjacency matrix and link vector containing values for different parameters t.
A | The adjacency matrix specifying the connectivity of the Hubbard lattice. |
link_vector | A vector that contains the values of the links, in a given adjacency matrix. |
|
inlinestatic |
Generate the Hubbard hopping matrix from an adjacency matrix and Hubbard model parameter t.
A | The adjacency matrix specifying the connectivity of the Hubbard lattice. |
t | The Hubbard parameter t. Note that a positive value for t means a negative neighbour hopping term. |
|
inline |
|
inline |
|
inline |