https://github.com/ITensor/ITensor
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).
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)