11 #ifndef GEOMETRY_RING_HPP
12 #define GEOMETRY_RING_HPP
15 #include "../Misc/Symmatgen.hpp"
51 arma::SpMat<T> ret(L, L);
52 for (
int i = 0; i < L; i++)
53 ret(i, (i + 1) % L) = value;
64 void Create(
int L, std::string key, T value)
override
66 arma::SpMat<T> tmp(L, L);
70 for (
int i = 0; i < L; i++)
100 for (
auto const &[key, value] : param)
112 for (
auto const &[key, value] : param)
Geometry parrent class.
Definition: Geometry.hpp:55
arma::SpMat< T > RingAdjacency(int L, T value)
Ring Adjacency function for Nonlocal Terms.
Definition: Ring.hpp:49
Ring(int L, initList< T > param)
Construct a new Ring object.
Definition: Ring.hpp:98
void Symmatgen(arma::SpMat< T > &mat)
Symmetrize the matrix by adding transpose to it .
Definition: Symmatgen.hpp:19
std::initializer_list< std::pair< const std::string, T >> initList
typedef for initializer_list
Definition: Geometry.hpp:28
void Create(int L, std::string key, T value) override
Create Ring (IGeometry) object.
Definition: Ring.hpp:64
Parameters< T > parameters
Definition: Geometry.hpp:59
Ring(int L, uniformParameters< T > ¶m)
Construct a new Ring object.
Definition: Ring.hpp:110
static std::map< std::string, TermsTypeEnum > dict
Dict which contains std::map between label and TermsTypeEnum.
Definition: TermsTypeConverter.hpp:42
Ring (IGeometry implementation) class.
Definition: Ring.hpp:37
Interface for Geometry class.
Definition: Geometry.hpp:44
std::map< std::string, T > uniformParameters
typedef for map<std::string, T>
Definition: Geometry.hpp:36