joselado / dmrgpy

DMRGPy is a Python library to compute quasi-one-dimensional spin chains and fermionic systems using matrix product states with DMRG as implemented in ITensor. Most of the computations can be performed both with DMRG and exact diagonalization for small systems, which allows one to benchmark the results.
GNU General Public License v3.0
84 stars 20 forks source link

Specify half-filling #4

Closed keyi-ray-liu closed 3 years ago

keyi-ray-liu commented 4 years ago

Hi Jose!

I'm trying to write a simulation following the "Generic interacting fermionic Hamiltonian" example.

I notice the fermionchain.Fermionic_Chain(n) only take the number of sites as argument, so I'm wondering if I am to simulate a 1-D Hubbard-like system, say with 20 atomic sites and 10 spinless electrons, is there a way to do that with your code?

joselado commented 4 years ago

Hi keyi-ray-liu,

thank you for your message. The code works in the full Fock space, i.e. it considers wavefunctions with an arbitrary of electrons. In the case of the Hubbard like model, since there is number conservation, you can control the number of electrons using a chemical potential, do that for a certain chemical potential your ground state will have a well defined (integer) number of electrons. Let me know if this answers your question.

Best, Jose

HamidArianZad commented 1 year ago

Hi Jose,

Imposing a chemical potential nicely works to control the total number of particles. But, what about the controlling number of up and down particles? For example if I want to investigate the magnetization in site Mz = [fc.vev(Szi) for Szi in fc.Sz] for a particular ground state |S, SzT> = |1, +1> of a N sites chain with half-filling, what should I do? S is the total spin. I imposed a chemical potential as h = h + mu * fc.N[i] and also I tried the option : h = h + a * (fc.Nup[i]) ; h = h - b * (fc.Ndn[i]) where, a and b are small numbers. But the code does not fix the number of up and down particles to have state |S, SzT> = |1, +1>.

Thanks for your guidance