I have written code which uses dmrg to find the ground state MPS of a Bose-Hubbard system.

Code: Select all

```
engine = dmrg.TwoSiteDMRGEngine(psi, model, dmrg_params)
E, psi = engine.run()
```

It is easy enough to extract the density distribution and correlators from this, using

Code: Select all

```
density = psi.expectation_value('N').reshape((Lx, Ly))
corrs = psi.correlation_function('N','N')
```

But I am interested in extracting the momentum distribution of the resulting state. I can use expectation_value('P') to get a site-by-site magnitude, however what I am really interested in is a full 2D resolved distribution of the momentum of the state. In particular, I am interested in seeing the coherent momentum peaks in a superfluid state.

I am curious if this is something which is possible, straightforward or not, in the MPS-style formalism, since my searches so far have come up fairly empty. I would welcome any advice, papers, or directions in which to look.