https://github.com/ITensor/ITensor
Raw File
Tip revision: 67429198df59c9bc01f8ef98afe13d64e960c1da authored by Miles Stoudenmire on 28 May 2014, 18:56:39 UTC
Changed name of method `conj` to `dag`. Added conj methods for ITensor and IQTensor which only take complex conjugate and do not reverse index arrows (really only applies for IQTensor case).
Tip revision: 6742919
options.mk.sample
### User Configurable Options

## To set up, follow the steps [1], [2], [3], [4] below

###################################
## [1]
## Set equal to yes if your compiler supports C++11.
## (Also make sure to add a flag like -std=c++11 to the CCCOM variable below.)
USE_CPP11=no
###################################

#########
## [2]
##
## Set which compiler to use by defining CCCOM:
##GNU GCC compiler, consider adding flag -std=c++11 to enable newer C++11 features
CCCOM=g++ -m64 #-std=c++11
##Clang compiler (good to use on Mac OS), consider adding flag -std=c++1y to enable newer C++14 features
#CCCOM=clang++ #-std=c++1y
##Intel C++ compiler (good to use with Intel MKL if available), consider adding -std=c++11
#CCCOM=icpc #-std=c++11
#########

#########
## [3]
## 
## BLAS/LAPACK Related Options
## 
## o The variable PLATFORM can be set to macos,lapack,mkl, or acml.
##   This tells ITensor which style of BLAS/Lapack library to expect.
## 
## o BLAS_LAPACK_INCLUDEFLAGS should be set to -I/path/to/lapack/include
##   where "include" is a folder full of .h header files in the source code 
##   of your BLAS/Lapack library (see examples below).
##
## o BLAS_LAPACK_LIBFLAGS should be something like 
##   -L/path/to/lapack/lib -llapack -lblas
##   though the names of the static libraries (the files referred
##   to by the -l flags) can be highly variable - see examples below.

##
## Mac OSX system (include flags intentionally left blank)
##

PLATFORM=macos
BLAS_LAPACK_LIBFLAGS=-framework Accelerate
BLAS_LAPACK_INCLUDEFLAGS=

##
## Example using a C interface to LAPACK on GNU/LINUX systems
## make sure to install LAPACKE development header needed by lapack_wrap.h
##

#PLATFORM=lapack
#BLAS_LAPACK_INCLUDEFLAGS=-I/usr/include
#BLAS_LAPACK_LIBFLAGS=-L/usr/lib -lblas -llapack 

##
## Example using the Intel MKL library
##

#PLATFORM=mkl
## MKL example for GNU/Linux systems (recommended with Intel C++ compiler icpc for performance on Intel CPUs)
#BLAS_LAPACK_INCLUDEFLAGS=-I/opt/intel/composer_xe_2013_sp1.1.106/mkl/include
#BLAS_LAPACK_LIBFLAGS=-L/opt/intel/composer_xe_2013_sp1.1.106/mkl/lib/intel64 -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_rt -lmkl_core -liomp5 -lpthread
## MKL example for other UNIX flavours
#BLAS_LAPACK_INCLUDEFLAGS=-I/sopt/intel/mkl/10.1.0.015/include
#BLAS_LAPACK_LIBFLAGS=-L/sopt/intel/mkl/10.1.0.015/lib/em64t -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 -lgfortran -lpthread

##
## Example using the AMD ACML library
##

#PLATFORM=acml
#BLAS_LAPACK_INCLUDEFLAGS=-I/opt/acml5.1.0/gfortran64/include
#BLAS_LAPACK_LIBFLAGS=-L/opt/acml5.1.0/gfortran64/lib -lacml -lgfortran -lpthread


#########
## [4]
##
## This step is optional, but if you wish to customize the flags
## used to compile optimized and debug code, you can do so here.

## Flags to give the compiler for "release mode"
OPTIMIZATIONS=-O2 -DNDEBUG -Wall

## Flags to give the compiler for "debug mode"
DEBUGFLAGS=-DDEBUG -DMATRIXBOUNDS -DITENSOR_USE_AT -DBOUNDS -g -Wall


###
### Other Makefile variables defined for convenience.
### Not necessary to modify these for most cases.
###


## Use this variable to set the location of the boost 
## headers on your machine (this folder should have another one called 'boost' inside it).
## If USE_CPP11=yes, this variable will not be used.
BOOST_DIR=$(THIS_DIR)/boost_minimal

PREFIX=$(THIS_DIR)

ITENSOR_LIBDIR=$(PREFIX)/lib
ITENSOR_INCLUDEDIR=$(PREFIX)/include

ITENSOR_LIBNAMES=itensor matrix utilities
ITENSOR_LIBFLAGS=$(patsubst %,-l%, $(ITENSOR_LIBNAMES))
ITENSOR_LIBFLAGS+= $(BLAS_LAPACK_LIBFLAGS)
ITENSOR_LIBGFLAGS=$(patsubst %,-l%-g, $(ITENSOR_LIBNAMES))
ITENSOR_LIBGFLAGS+= $(BLAS_LAPACK_LIBFLAGS)
ITENSOR_LIBS=$(patsubst %,$(ITENSOR_LIBDIR)/lib%.a, $(ITENSOR_LIBNAMES))
ITENSOR_GLIBS=$(patsubst %,$(ITENSOR_LIBDIR)/lib%-g.a, $(ITENSOR_LIBNAMES))

ITENSOR_INCLUDEFLAGS=-I$(ITENSOR_INCLUDEDIR) $(BLAS_LAPACK_INCLUDEFLAGS)

ifndef CCCOM
$(error Makefile variable CCCOM not defined in options.mk; please define it.)
endif

ifeq ($(USE_CPP11),yes)
CCCOM += -DUSE_CPP11
else
ifdef BOOST_DIR 
ITENSOR_INCLUDEFLAGS += -I$(BOOST_DIR)
endif
OPTIMIZATIONS += -DBOOST_DISABLE_ASSERTS
endif

CCFLAGS=-I. $(ITENSOR_INCLUDEFLAGS) $(OPTIMIZATIONS) -Wno-unused-variable
CCGFLAGS=-I. $(ITENSOR_INCLUDEFLAGS) $(DEBUGFLAGS)
LIBFLAGS=-L$(ITENSOR_LIBDIR) $(ITENSOR_LIBFLAGS)
LIBGFLAGS=-L$(ITENSOR_LIBDIR) $(ITENSOR_LIBGFLAGS)
back to top