1. No, it is not possible to use two different symmetry groups at the same time.
2. The model is actually coded as a spinless fermions model. In that definition the number P will be something like the particle number. The DMRG framework with Z2 symmetry will then just look if the number is even or odd.
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 26, 2015, at 6:46 AM, Chun Chen chen2698@umn.edu wrote:
Hi Michele:
Sorry, I really should post my question onto the mailing list. It is just convenient to send an email. I promise that I will post my questions into the mailing list in the future.
Thanks very much for your prompt reply. Yes, it would be very useful if you could describe in some detail how to enable and how to use these symmetries somewhere else.
Many thanks for your instruction. It is the semicolon... Now, It works!!!
When I look into the code for Kitaev model, I notice two questions:
Would it be possible to impose two symmetries in one code (namely in one parameter file, could I define one conserved quantum number which obeying NU1 symmetry, while at the same time define another differing conserved quantum number which satisfying the Z2 symmetry)?
In your supplemental "Kitaev.py" code and the "tsc.xml" file, why the value of operator "P" gets changed by "+1" for annihilation operator "c", while the value of "P" gets reduced by "-1" for creation operator "c^{\dagger}"? It seems to me that under Z2 symmetry, the operator "P" is just the number operator for the spinless fermions.
Thanks again for your patience and great help. Have a nice weekend. See you next time in the mailing list.
With Best Regards,
Chun Chen
On Wed, Jun 24, 2015 at 2:58 AM, Michele Dolfi <dolfim@phys.ethz.ch mailto:dolfim@phys.ethz.ch> wrote: 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 mailto:dolfim@phys.ethz.ch www.itp.phys.ethz.ch http://www.itp.phys.ethz.ch/
+41 44 633 78 56 tel:%2B41%2044%20633%2078%2056 phone +41 44 633 11 15 tel:%2B41%2044%20633%2011%2015 fax
On Jun 24, 2015, at 7:07 AM, Chun Chen <chen2698@umn.edu mailto: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