VMPS++
Loading...
Searching...
No Matches
ParamCollection.h File Reference
#include <set>
#include <Eigen/Dense>
#include "ParamHandler.h"
#include "CuthillMcKeeCompressor.h"
#include <boost/rational.hpp>
#include "termcolor.hpp"
#include "DmrgTypedefs.h"
Include dependency graph for ParamCollection.h:

Go to the source code of this file.

Functions

ArrayXXd create_1D_OBC (size_t L, double lambda1=1., double lambda2=0.)
 
ArrayXXd create_1D_PBC (size_t L, double lambda1=1., double lambda2=0., bool COMPRESSED=false)
 
ArrayXXd extend_to_thermal (const ArrayXXd &tFull, double factor)
 
ArrayXXd create_1D_AB (size_t L, double lambda1A=1., double lambda1B=1., double lambda2A=0., double lambda2B=0.)
 
ArrayXXd create_1D_PBC_AB (size_t L, double lambda1A=1., double lambda1B=1., double lambda2A=0., double lambda2B=0., bool COMPRESSED=true)
 
ArrayXXd hopping_square (int Lx, int Ly, bool PBCx=false, bool PBCy=true, double lambda=1.)
 
void split_kagomeYC_AB (int Lx, int Ly, std::vector< std::vector< int > > &A, std::vector< std::vector< int > > &B)
 
void split_kagomeYC_BAB (int Lx, int Ly, std::vector< std::vector< int > > &A, std::vector< std::vector< int > > &B)
 
int find_x_kagomeYC (int index, int L, const std::vector< std::vector< int > > &A, const std::vector< std::vector< int > > &B)
 
ArrayXXd hopping_kagomeYC_AB (int Lx, int Ly, bool PBCx=false, bool PBCy=true, double lambda=1.)
 
ArrayXXd hopping_kagomeYC_BAB (int Lx, int Ly, bool PBCx=false, bool PBCy=true, double lambda=1., bool VERBOSE=false)
 
void split_kagomeXC (int Lx, int Ly, std::vector< std::vector< int > > &A, std::vector< std::vector< int > > &B, std::vector< std::vector< int > > &C, std::vector< std::vector< int > > &D)
 
ArrayXXd hopping_kagomeXC (int Lx, int Ly, bool PBCx=false, bool PBCy=true, double lambda=1., bool VERBOSE=false)
 
ArrayXXd hopping_triangularYC (int Lx, int Ly, bool PBCx=false, bool PBCy=true, double lambda=1.)
 
void add_triangle (int i, int j, int k, ArrayXXd &target, double lambda=1.)
 
ArrayXXd hopping_kagome36d (double lambda=1.)
 
ArrayXXd triangularFlake (int L, double lambda=1.)
 
ArrayXXd hexagonalFlake (int L, double lambda=1.)
 
ArrayXXd hopping_Archimedean (string vertex_conf, int VARIANT=0, double lambda1=1., double lambda2=1.)
 
ArrayXXd hopping_fullerene_C40Td (int VARIANT=0, double lambda1=1., double lambda2=1.)
 
ArrayXXd hopping_fullerene (int L=60, int VARIANT=0, double lambda1=1., double lambda2=1.)
 
ArrayXXd hopping_Platonic (int L, int VARIANT=0, double lambda1=1.)
 
ArrayXXd hopping_triangular (int L, int VARIANT=0, double lambda1=1.)
 
void add_tetrahedron (int i, int j, int k, int l, vector< pair< size_t, size_t > > &target)
 
void add_edge (int i, int j, vector< pair< size_t, size_t > > &target)
 
ArrayXXd hopping_sodaliteCage (int L=60, int VARIANT=0, double lambda1=1.)
 
ArrayXXd hopping_Mn32 (double lambda_cap=1., double lambda_corner=0., double lambda_edge=1., int VARIANT=0)
 
pair< ArrayXXd, vector< SUB_LATTICE > > hopping_PPV (int L, int VARIANT=0, double t0=1., double tsingle=1., double tdouble=1., string BC="")
 
pair< ArrayXXd, vector< SUB_LATTICE > > hopping_triangulene (int L, int VARIANT=0, double lambda=1., double lambda2=1., string BC="")
 
pair< ArrayXXd, vector< SUB_LATTICE > > hopping_triangulene_dimer (int VARIANT=0, double lambda=1., double lambda2=1., string BC="")
 
ArrayXXd hopping_coronene (int L, int VARIANT=0, double lambda=1.)
 
ArrayXXd hopping_corannulene (int L, int VARIANT=0, double lambda=1.)
 
ArrayXXd hopping_square_plaquette (int L, int VARIANT=0, double lambda=1.)
 
ArrayXXi calc_distanceMatrix (ArrayXXd adjacencyMatrix)
 
ArrayXXi hopping_MnRing (int Ncells, double J1, double J2, double J3, double J4=0., double J5=0., double J6=0., double J7=0.)
 
void push_back_KondoUnpacked (vector< Param > &params, size_t L, double J, double t, size_t D, bool START_WITH_SPIN=true)
 
vector< Param > Tinf_params_fermions (size_t L, size_t Ly, size_t maxPower=1ul)
 
vector< Param > Tinf_params_spins (size_t L, size_t Ly, size_t maxPower=1ul, size_t DA=2ul, size_t DB=2ul, bool SOFT=false)
 
double conjIfImag (double x)
 
std::complex< double > conjIfImag (std::complex< double > x)
 
template<typename Scalar >
Array< Scalar, Dynamic, Dynamic > hopping_PAM (int L, Scalar tfc, Scalar tcc, Scalar tff, Scalar tx, Scalar ty, bool PBC=false)
 
template<typename Scalar >
Array< Scalar, Dynamic, Dynamic > hopping_PAM_T (int L, Scalar tfc, Scalar tcc, Scalar tff, Scalar tx, Scalar ty, bool ANCILLA_HOPPING=false, double bugfix=1e-7)
 
ArrayXXd hopping_spinChain (int L, double JA, double JB, double JpA, double JpB, bool ANCILLA_HOPPING=false, bool PBC=false)
 
ArrayXXd hopping_spinChain_T (int L, double JA, double JB, double JpA, double JpB, bool ANCILLA_HOPPING=false, double bugfix=1e-7, bool PBC=false)
 
ArrayXXd hopping_ladder (int L, double tPara=1., double tPerp=1., double tPrime=0., double tPPrime=0., bool PBC=false, bool BABA=false)
 
tuple< double, double, double > params_bilineraBiquadratic_beta (double beta, double J_input=1.)
 
tuple< double, double, double > params_bilineraBiquadratic_beta (boost::rational< int > beta_rational=boost::rational< int >(-1, 3), double J_input=1.)
 
tuple< double, double, double > params_bilineraBiquadratic_theta (double theta)
 

Function Documentation

◆ add_edge()

void add_edge ( int  i,
int  j,
vector< pair< size_t, size_t > > &  target 
)

Definition at line 2248 of file ParamCollection.h.

◆ add_tetrahedron()

void add_tetrahedron ( int  i,
int  j,
int  k,
int  l,
vector< pair< size_t, size_t > > &  target 
)

Definition at line 2230 of file ParamCollection.h.

◆ add_triangle()

void add_triangle ( int  i,
int  j,
int  k,
ArrayXXd &  target,
double  lambda = 1. 
)

Definition at line 723 of file ParamCollection.h.

◆ calc_distanceMatrix()

ArrayXXi calc_distanceMatrix ( ArrayXXd  adjacencyMatrix)

Definition at line 3000 of file ParamCollection.h.

◆ conjIfImag() [1/2]

double conjIfImag ( double  x)
inline

Definition at line 3312 of file ParamCollection.h.

◆ conjIfImag() [2/2]

std::complex< double > conjIfImag ( std::complex< double >  x)
inline

Definition at line 3313 of file ParamCollection.h.

◆ create_1D_AB()

ArrayXXd create_1D_AB ( size_t  L,
double  lambda1A = 1.,
double  lambda1B = 1.,
double  lambda2A = 0.,
double  lambda2B = 0. 
)

Definition at line 82 of file ParamCollection.h.

◆ create_1D_OBC()

ArrayXXd create_1D_OBC ( size_t  L,
double  lambda1 = 1.,
double  lambda2 = 0. 
)

Definition at line 15 of file ParamCollection.h.

◆ create_1D_PBC()

ArrayXXd create_1D_PBC ( size_t  L,
double  lambda1 = 1.,
double  lambda2 = 0.,
bool  COMPRESSED = false 
)

Definition at line 30 of file ParamCollection.h.

◆ create_1D_PBC_AB()

ArrayXXd create_1D_PBC_AB ( size_t  L,
double  lambda1A = 1.,
double  lambda1B = 1.,
double  lambda2A = 0.,
double  lambda2B = 0.,
bool  COMPRESSED = true 
)

Definition at line 104 of file ParamCollection.h.

◆ extend_to_thermal()

ArrayXXd extend_to_thermal ( const ArrayXXd &  tFull,
double  factor 
)

Definition at line 65 of file ParamCollection.h.

◆ find_x_kagomeYC()

int find_x_kagomeYC ( int  index,
int  L,
const std::vector< std::vector< int > > &  A,
const std::vector< std::vector< int > > &  B 
)

Definition at line 245 of file ParamCollection.h.

◆ hexagonalFlake()

ArrayXXd hexagonalFlake ( int  L,
double  lambda = 1. 
)

Definition at line 911 of file ParamCollection.h.

◆ hopping_Archimedean()

ArrayXXd hopping_Archimedean ( string  vertex_conf,
int  VARIANT = 0,
double  lambda1 = 1.,
double  lambda2 = 1. 
)

Definition at line 1006 of file ParamCollection.h.

◆ hopping_corannulene()

ArrayXXd hopping_corannulene ( int  L,
int  VARIANT = 0,
double  lambda = 1. 
)

Definition at line 2907 of file ParamCollection.h.

◆ hopping_coronene()

ArrayXXd hopping_coronene ( int  L,
int  VARIANT = 0,
double  lambda = 1. 
)

Definition at line 2858 of file ParamCollection.h.

◆ hopping_fullerene()

ArrayXXd hopping_fullerene ( int  L = 60,
int  VARIANT = 0,
double  lambda1 = 1.,
double  lambda2 = 1. 
)

Definition at line 1540 of file ParamCollection.h.

◆ hopping_fullerene_C40Td()

ArrayXXd hopping_fullerene_C40Td ( int  VARIANT = 0,
double  lambda1 = 1.,
double  lambda2 = 1. 
)

Definition at line 1462 of file ParamCollection.h.

◆ hopping_kagome36d()

ArrayXXd hopping_kagome36d ( double  lambda = 1.)

Definition at line 732 of file ParamCollection.h.

◆ hopping_kagomeXC()

ArrayXXd hopping_kagomeXC ( int  Lx,
int  Ly,
bool  PBCx = false,
bool  PBCy = true,
double  lambda = 1.,
bool  VERBOSE = false 
)

Definition at line 552 of file ParamCollection.h.

◆ hopping_kagomeYC_AB()

ArrayXXd hopping_kagomeYC_AB ( int  Lx,
int  Ly,
bool  PBCx = false,
bool  PBCy = true,
double  lambda = 1. 
)

Definition at line 287 of file ParamCollection.h.

◆ hopping_kagomeYC_BAB()

ArrayXXd hopping_kagomeYC_BAB ( int  Lx,
int  Ly,
bool  PBCx = false,
bool  PBCy = true,
double  lambda = 1.,
bool  VERBOSE = false 
)

Definition at line 381 of file ParamCollection.h.

◆ hopping_ladder()

ArrayXXd hopping_ladder ( int  L,
double  tPara = 1.,
double  tPerp = 1.,
double  tPrime = 0.,
double  tPPrime = 0.,
bool  PBC = false,
bool  BABA = false 
)

Definition at line 3453 of file ParamCollection.h.

◆ hopping_Mn32()

ArrayXXd hopping_Mn32 ( double  lambda_cap = 1.,
double  lambda_corner = 0.,
double  lambda_edge = 1.,
int  VARIANT = 0 
)

Definition at line 2456 of file ParamCollection.h.

◆ hopping_MnRing()

ArrayXXi hopping_MnRing ( int  Ncells,
double  J1,
double  J2,
double  J3,
double  J4 = 0.,
double  J5 = 0.,
double  J6 = 0.,
double  J7 = 0. 
)

Definition at line 3043 of file ParamCollection.h.

◆ hopping_PAM()

template<typename Scalar >
Array< Scalar, Dynamic, Dynamic > hopping_PAM ( int  L,
Scalar  tfc,
Scalar  tcc,
Scalar  tff,
Scalar  tx,
Scalar  ty,
bool  PBC = false 
)

Definition at line 3316 of file ParamCollection.h.

◆ hopping_PAM_T()

template<typename Scalar >
Array< Scalar, Dynamic, Dynamic > hopping_PAM_T ( int  L,
Scalar  tfc,
Scalar  tcc,
Scalar  tff,
Scalar  tx,
Scalar  ty,
bool  ANCILLA_HOPPING = false,
double  bugfix = 1e-7 
)

Definition at line 3371 of file ParamCollection.h.

◆ hopping_Platonic()

ArrayXXd hopping_Platonic ( int  L,
int  VARIANT = 0,
double  lambda1 = 1. 
)

Definition at line 2013 of file ParamCollection.h.

◆ hopping_PPV()

pair< ArrayXXd, vector< SUB_LATTICE > > hopping_PPV ( int  L,
int  VARIANT = 0,
double  t0 = 1.,
double  tsingle = 1.,
double  tdouble = 1.,
string  BC = "" 
)

Definition at line 2528 of file ParamCollection.h.

◆ hopping_sodaliteCage()

ArrayXXd hopping_sodaliteCage ( int  L = 60,
int  VARIANT = 0,
double  lambda1 = 1. 
)

Definition at line 2253 of file ParamCollection.h.

◆ hopping_spinChain()

ArrayXXd hopping_spinChain ( int  L,
double  JA,
double  JB,
double  JpA,
double  JpB,
bool  ANCILLA_HOPPING = false,
bool  PBC = false 
)

Definition at line 3398 of file ParamCollection.h.

◆ hopping_spinChain_T()

ArrayXXd hopping_spinChain_T ( int  L,
double  JA,
double  JB,
double  JpA,
double  JpB,
bool  ANCILLA_HOPPING = false,
double  bugfix = 1e-7,
bool  PBC = false 
)

Definition at line 3419 of file ParamCollection.h.

◆ hopping_square()

ArrayXXd hopping_square ( int  Lx,
int  Ly,
bool  PBCx = false,
bool  PBCy = true,
double  lambda = 1. 
)

Definition at line 134 of file ParamCollection.h.

◆ hopping_square_plaquette()

ArrayXXd hopping_square_plaquette ( int  L,
int  VARIANT = 0,
double  lambda = 1. 
)

Definition at line 2937 of file ParamCollection.h.

◆ hopping_triangular()

ArrayXXd hopping_triangular ( int  L,
int  VARIANT = 0,
double  lambda1 = 1. 
)

Definition at line 2183 of file ParamCollection.h.

◆ hopping_triangularYC()

ArrayXXd hopping_triangularYC ( int  Lx,
int  Ly,
bool  PBCx = false,
bool  PBCy = true,
double  lambda = 1. 
)

Definition at line 695 of file ParamCollection.h.

◆ hopping_triangulene()

pair< ArrayXXd, vector< SUB_LATTICE > > hopping_triangulene ( int  L,
int  VARIANT = 0,
double  lambda = 1.,
double  lambda2 = 1.,
string  BC = "" 
)

Definition at line 2596 of file ParamCollection.h.

◆ hopping_triangulene_dimer()

pair< ArrayXXd, vector< SUB_LATTICE > > hopping_triangulene_dimer ( int  VARIANT = 0,
double  lambda = 1.,
double  lambda2 = 1.,
string  BC = "" 
)

Definition at line 2809 of file ParamCollection.h.

◆ params_bilineraBiquadratic_beta() [1/2]

tuple< double, double, double > params_bilineraBiquadratic_beta ( boost::rational< int >  beta_rational = boost::rational<int>(-1,3),
double  J_input = 1. 
)

Definition at line 3518 of file ParamCollection.h.

◆ params_bilineraBiquadratic_beta() [2/2]

tuple< double, double, double > params_bilineraBiquadratic_beta ( double  beta,
double  J_input = 1. 
)

Definition at line 3507 of file ParamCollection.h.

◆ params_bilineraBiquadratic_theta()

tuple< double, double, double > params_bilineraBiquadratic_theta ( double  theta)

Definition at line 3529 of file ParamCollection.h.

◆ push_back_KondoUnpacked()

void push_back_KondoUnpacked ( vector< Param > &  params,
size_t  L,
double  J,
double  t,
size_t  D,
bool  START_WITH_SPIN = true 
)

Definition at line 3086 of file ParamCollection.h.

◆ split_kagomeXC()

void split_kagomeXC ( int  Lx,
int  Ly,
std::vector< std::vector< int > > &  A,
std::vector< std::vector< int > > &  B,
std::vector< std::vector< int > > &  C,
std::vector< std::vector< int > > &  D 
)

Definition at line 476 of file ParamCollection.h.

◆ split_kagomeYC_AB()

void split_kagomeYC_AB ( int  Lx,
int  Ly,
std::vector< std::vector< int > > &  A,
std::vector< std::vector< int > > &  B 
)

Definition at line 170 of file ParamCollection.h.

◆ split_kagomeYC_BAB()

void split_kagomeYC_BAB ( int  Lx,
int  Ly,
std::vector< std::vector< int > > &  A,
std::vector< std::vector< int > > &  B 
)

Definition at line 207 of file ParamCollection.h.

◆ Tinf_params_fermions()

vector< Param > Tinf_params_fermions ( size_t  L,
size_t  Ly,
size_t  maxPower = 1ul 
)

Definition at line 3219 of file ParamCollection.h.

◆ Tinf_params_spins()

vector< Param > Tinf_params_spins ( size_t  L,
size_t  Ly,
size_t  maxPower = 1ul,
size_t  DA = 2ul,
size_t  DB = 2ul,
bool  SOFT = false 
)

Definition at line 3249 of file ParamCollection.h.

◆ triangularFlake()

ArrayXXd triangularFlake ( int  L,
double  lambda = 1. 
)

Definition at line 770 of file ParamCollection.h.