SyTen
configuration.h File Reference

Compile-time configuration. More...

+ This graph shows which files directly or indirectly include this file:

Macros

#define SYTEN_COMPLEX_SCALAR   1
 If true and SYTEN_SDEF_TYPE is not defined by hand, it will be defined as the complex version of SYTEN_SRDEF_TYPE. More...
 
#define SYTEN_MAX_DEG   2
 maximal degree of a group in the system, change by passing -DSYTEN_MAX_DEG=2 More...
 
#define SYTEN_MAX_SYM   3
 maximal number of symmetries allowed in the system, change by passing -DSYTEN_MAX_SYM=1 More...
 
#define SYTEN_RDEF_BASE_TYPE   std::int16_t
 The default backend storage for HalfInteger quantum numbers is a 16-bit integer. More...
 
#define SYTEN_SDEF_TYPE   std::complex<SYTEN_SRDEF_TYPE>
 Type to use as syten::SDef. More...
 
#define SYTEN_SRDEF_TYPE   double
 Type to use as syten::SRDef. More...
 
#define SYTEN_STENSOR
 If defined, the STensor class and friends are enabled and compiled. More...
 
#define SYTEN_STENSOR_MAX_RANK   5
 By default, the maximal STensor rank is 5. More...
 
#define SYTEN_STENSOR_RANKS   0, 1, 2, 3, 4, 5
 By default, the supported STensor ranks are 1, 2, 3, 4, 5. More...
 

Detailed Description

Compile-time configuration.

Macro Definition Documentation

◆ SYTEN_COMPLEX_SCALAR

#define SYTEN_COMPLEX_SCALAR   1

If true and SYTEN_SDEF_TYPE is not defined by hand, it will be defined as the complex version of SYTEN_SRDEF_TYPE.

If false and SYTEN_SDEF_TYPE is not defined by hand, it will be defined the same as SYTEN_SRDEF_TYPE.

Referenced by syten::MPS::SwappableTEBD::exponentiate_and_multiply(), syten::serialise_configuration(), and syten::Krylov::Evolution::Evolver< Solver >::wrapupstep().

◆ SYTEN_MAX_DEG

#define SYTEN_MAX_DEG   2

maximal degree of a group in the system, change by passing -DSYTEN_MAX_DEG=2

Referenced by syten::serialise_configuration().

◆ SYTEN_MAX_SYM

#define SYTEN_MAX_SYM   3

maximal number of symmetries allowed in the system, change by passing -DSYTEN_MAX_SYM=1

Referenced by syten::serialise_configuration().

◆ SYTEN_RDEF_BASE_TYPE

#define SYTEN_RDEF_BASE_TYPE   std::int16_t

The default backend storage for HalfInteger quantum numbers is a 16-bit integer.

◆ SYTEN_SDEF_TYPE

#define SYTEN_SDEF_TYPE   std::complex<SYTEN_SRDEF_TYPE>

Type to use as syten::SDef.

Do not use directly, only use this define to overwrite the type using the preprocessor command line argument, e.g. -DSYTEN_SDEF_TYPE=float.

◆ SYTEN_SRDEF_TYPE

#define SYTEN_SRDEF_TYPE   double

Type to use as syten::SRDef.

Do not use directly, only use this define to overwrite the type using the preprocessor command line argument, e.g. -DSYTEN_SRDEF_TYPE=float.

Referenced by syten::operator*(), syten::operator+(), syten::operator-(), syten::operator/(), syten::operator<<(), and syten::operator>>().

◆ SYTEN_STENSOR

#define SYTEN_STENSOR

If defined, the STensor class and friends are enabled and compiled.

◆ SYTEN_STENSOR_MAX_RANK

#define SYTEN_STENSOR_MAX_RANK   5

◆ SYTEN_STENSOR_RANKS

#define SYTEN_STENSOR_RANKS   0, 1, 2, 3, 4, 5

By default, the supported STensor ranks are 1, 2, 3, 4, 5.

Referenced by syten::STensorImpl::STensor::init(), and syten::STensorImpl::prod().