Initial product states
Posted: 22 May 2020, 11:31
Dear TeNPy members:
I am asking how to set the initial product state for the DMRG simulation. For example, if we consider the following spin-1/2 1D Fermi-Hubbard chain:
\(H = \sum_{i, \sigma} c_{i, \sigma}^\dagger c_{i+1, \sigma} + c_{i+1, \sigma}^\dagger c_{i, \sigma} + \sum_i n_{i,\uparrow} n_{i,\downarrow} \)
If we consider half-filling, we can set the initial product state as
1. But how we set the initial product state for the case of half-filling plus one spin up , i.e., \(N_{\uparrow} = L/2 + 1,~ N_{\downarrow} = L/2\) ?
2. How we set the initial product state where each site is the superposition of spin up and spin down ?
I am asking how to set the initial product state for the DMRG simulation. For example, if we consider the following spin-1/2 1D Fermi-Hubbard chain:
\(H = \sum_{i, \sigma} c_{i, \sigma}^\dagger c_{i+1, \sigma} + c_{i+1, \sigma}^\dagger c_{i, \sigma} + \sum_i n_{i,\uparrow} n_{i,\downarrow} \)
If we consider half-filling, we can set the initial product state as
Code: Select all
product_state = ["up", "down"] * (M.lat.N_sites//2)
psi = MPS.from_product_state(M.lat.mps_sites(), product_state, bc=M.lat.bc_MPS)
2. How we set the initial product state where each site is the superposition of spin up and spin down ?