Currently I am facing a problem which relates to the conserved quantities in DMRG. I use old-fashioned DMRG (Steven White approach) to compute the ground state of certain models. However, the ground state does not have the correct conserved charges. Therefore, I am curious on in which steps of traditional DMRG, I can impose some constraints such that the ground state always has the correct charges and the symmetry is always preserve at each run. For instance, let's consider the XXZ model(Part B of this hyper link): \begin{equation} H = \sum_{i} J_{x} ( S^{x}_{i}S^{x}_{i+1} + S^{y}_{i}S^{y}_{i+1}) + J_{z} S^{z}_{i}S^{z}_{i+1} \end{equation} The Hamiltonian of XXZ model has global U(1) symmetry regarding the rotation about z-axis. This symmetry leads to the conservation of total $S^{z}$ of XXZ model. This implies the Hamiltonian commutes with total $S^{z}$ ($ [H,\sum_{i} S^{z}_{i}] =0 $). If we set the parameters $J_{x}, J_{z}$ appropriately, the ground state of XXZ model is the anti-ferromagnetic, where the total $S^{z}$ should be zero. Suppose I use my DMRG code to find out the ground state of the system, how can I ensure that the ground state I found does have total $S^{z}$ to be zero?
Attempt: I have tried to use my DMRG code to find out the correct ground state of XXZ model. My flow is the following: Similar to traditional DMRG, I define all the operators for the system and environment blocks. Then I calculate the Hamiltonian of each blocks and then combine the system and environment blocks together to form the superblock. The Hamiltonian of superblock Hamiltonian has the following form: \begin{equation} H_{super} = H_{sys} + H_{\cdot \cdot} + H_{env} \end{equation} Where the $ \cdot \cdot$ denotes the 2 newly inserted sites between system and environment. Having the superblock Hamiltonian $H_{super}$, we can diagonalize it to find out the ground state of XXZ model. Then I use the ground state to construct the reduced density matrices for system and environment. Since the reduce density matrix of system/environment commutes with the total $S^{z}$ of the system/environment(e.g $[\rho_{sys}, S^{z}_{tot,sys}] = 0$), implying that they both share the simultaneous eigenstates, denoted it as $ |w, s^{z}_{tot,sys} \rangle$. $w$ and $s^{z}_{tot,sys}$ are the Schdmit values and the eigenvalues of total $S^{z}_{sys}$. Suppose the ground states is anti-ferromagnetic, then I need to aims at the states having high Schdmit values $w$ while $s^{z}_{tot,sys} = 0$. Finally, suppose I choose $\chi$ states having highest Schdmit values( but some of the states the $s^{z}_{total} \neq 0$), I define a basis transformation such that to project all the operators to the subspace spanned bay these $\chi$ states. This is the usual truncation of traditional DMRG. For instance: \begin{equation} H_{sys, truncated} = U^{\dagger}_{\chi} H_{sys} U_{\chi}. \end{equation} However, I found that the ground state doesn't have the correct $S^{z}_{tot}$ and the U(1) symmetry loses during the run of DMRG $[H,S^{z}_{tot}] \neq 0$. I truly appreciate any comment.