Hi Chun,
Let me reply to the mailing list such that others might also profit form it.
Basically you were very close, in CMake you can set a list of entries by separating them with a semicolon. DMRG_BUILD_SYMMETRIES:STRING="NU1;Z2"
Note that the option can also be changed with the ccmake gui instead of tuning the CMakeCache file.
Best regards, Michele
-- ETH Zurich Michele Dolfi Institute for Theoretical Physics HIT G 32.4 Wolfgang-Pauli-Str. 27 8093 Zurich Switzerland
dolfim@phys.ethz.ch www.itp.phys.ethz.ch
+41 44 633 78 56 phone +41 44 633 11 15 fax
On Jun 24, 2015, at 7:07 AM, Chun Chen chen2698@umn.edu wrote:
Dear Michele:
I am studying the supplemental codes of Kitaev model in your recent paper "Matrix product state applications for the ALPS project".
However, I can only find the brief description on how to enable the Z2 symmetry. In the Appendix of your paper, you mentioned that the Z2 symmetry can be enabled at compile-time using the CMake option DMRG_BUILD_SYMMETRIES.
I tried to implement your instruction by doing the following steps (I have gotten the latest version of ALPS package by executing $ svn co https://alps.comp-phys.org/svn/alps1/trunk/alps https://alps.comp-phys.org/svn/alps1/trunk/alps):
- First I finish the steps up to "# Compile and install":
# Configuration $ cd build $ cmake ../alps
- Then I cd into the file "build";
Find and open "CMakeCache.txt"; Find the following CMake option:
//List of symmetry to include in the build objects. U1, TwoU1, // NU1, Z2 and NONE are currently available. DMRG_BUILD_SYMMETRIES:STRING=NU1
- Change it to the following:
//List of symmetry to include in the build objects. U1, TwoU1, // NU1, Z2 and NONE are currently available. DMRG_BUILD_SYMMETRIES:STRING=NU1 DMRG_BUILD_SYMMETRIES:STRING=Z2
Then save the "CMakeCache.txt" file.
- Next I go ahead to finish the "# Compile and install" by executing the following:
# Compile and install $ make # -j 4 for compilation in parallel using 4 processes $ sudo make install
However, once I successfully install the ALPS_MPS, I find that even though I can successfully employ the Z2 symmetry, the original NU1 symmetry gets disabled.
My question is how to keep both the Z2 and the NU1 symmetries during the installation?
Also, would it be possible to give some more details on how to enable various existing symmetries?
Thanks very much for your suggestions. Have a good day.
Best,
Chun Chen
comp-phys-alps-users@lists.phys.ethz.ch