Search found 436 matches

by Johannes
17 Apr 2019, 14:21
Forum: HowTos and FAQ for TeNPy
Topic: Performing TEBD for NNN interactions
Replies: 1
Views: 2929

Re: Performing TEBD for NNN interactions

Currently, the swapping for TEBD is not supported, although it should not be too difficult to implement, following the way you have outlined. There are a few things to be careful about, though: You need to adjust the existing model code to get the exponentials of the NNN terms. avoid onsite terms ap...
by Johannes
17 Apr 2019, 13:43
Forum: HowTos and FAQ for TeNPy
Topic: Suggestions for computing entanglement eigenvectors
Replies: 2
Views: 3076

Re: Suggestions for computing entanglement eigenvectors

What exactly do you mean by computing the entanglement eigenvectors? The eigenvectors of which matrix? For a finite system, I could imagine to look at individual Schmidt vectors (=singular vectors) on the left or right of a given cut in the form of an MPS. You can obtain them by just the part of the...
by Johannes
17 Apr 2019, 13:35
Forum: HowTos and FAQ for TeNPy
Topic: correlation length and charge sector
Replies: 1
Views: 2650

Re: correlation length and charge sector

Good question, thanks for pointing that out. The dominant eigenvector with eigenvalue 1 should always be in 0 charge sector: in canonical form the dominant eigenvector is just the identity, which has no charge. But I agree that it is not clear a priori (at least not to me) in which sector the next t...
by Johannes
28 Mar 2019, 11:07
Forum: HowTos and FAQ for TeNPy
Topic: TF Ising Magnetization issues
Replies: 2
Views: 4221

Re: TF Ising Magnetization issues

Short answer : Try measuring correlation functions, or expectation values of |M| or M^2 instead of M=\sum_i X_i ;) Reason : You try to observe spontaneous symmetry breaking. By definition, spontaneous symmetry meaking means that you have a degenerate ground state (in the thermodynamic limit): the s...
by Johannes
22 Mar 2019, 10:02
Forum: HowTos and FAQ for TeNPy
Topic: How to implement boundary pinning field in iDMRG appropriately?
Replies: 2
Views: 3676

Re: How to implement boundary pinning field in iDMRG appropriately?

In iDMRG, the iMPS unit cell is the central part of a growing environment on the left and right. The idea of the Engine.init_env() is to re-use the environment (and state) from a previous run. If the state has a sufficiently large correlation length, the environmnet "pins" DMRG to find the...
by Johannes
14 Mar 2019, 15:10
Forum: Other News
Topic: Serious bug in models
Replies: 0
Views: 59733

Serious bug in models

Another serious bug, this time in the models.
The problem is/was that adding the hermitian conjugate with was not done correctly.
Further details at issue #23.

:!: If you have implemented your own model, check that you do it correctly in your case :!:
by Johannes
13 Mar 2019, 13:54
Forum: Other News
Topic: Serious bug in npc.inner
Replies: 0
Views: 20376

Serious bug in npc.inner

I found a serious bug in npc.inner . This bug could result in wrong expecation values and Lanczos/DMRG giving completely wrong results. Luckily, the bug was only on the github master branch for two weeks (since March 02), so I hope it didn't cause too many problems yet. In case you did a "git p...
by Johannes
13 Mar 2019, 09:23
Forum: HowTos and FAQ for TeNPy
Topic: Finite DMRG not working after update to new version
Replies: 4
Views: 5508

Re: Finite DMRG not working after update to new version

Sorry, that's indeed true. The bug only appeared if you use a mixer and have a model without onsite terms.
Should be fine now ;)

PS: You can also report problems like that as github issues.
by Johannes
12 Mar 2019, 17:29
Forum: HowTos and FAQ for TeNPy
Topic: Finite DMRG not working after update to new version
Replies: 4
Views: 5508

Re: Finite DMRG not working after update to new version

I recently changed the order of axes in DMRG from (vR.p1) to (p1.vR) to avoid unnecessary transposes. However, the newest version should consistently use "(p1.vR)". Did you actually store some MPS (e.g. with pickle) and load it again? Or do you restart the whole simulation/initialization o...
by Johannes
06 Mar 2019, 10:18
Forum: HowTos and FAQ for TeNPy
Topic: Exponentiation of operator / String order parameter
Replies: 11
Views: 107655

Re: Exponentiation of operator / String order parameter

I just noticed an error in my last post above, see the edit. I hope that was clear anyways...
by Johannes
26 Feb 2019, 11:01
Forum: HowTos and FAQ for TeNPy
Topic: Error drawing Lattice in Tenpy
Replies: 2
Views: 3271

Re: Error drawing Lattice in Tenpy

Thanks for pointing that out.
Luckily, both problems were just a problem of the Lattice.plot_coupling(ax) function, and not the actual couplings of the model.
I just fixed the bug in the most recent version on github.
by Johannes
22 Feb 2019, 09:35
Forum: HowTos and FAQ for TeNPy
Topic: Exponentiation of operator / String order parameter
Replies: 11
Views: 107655

Re: Exponentiation of operator

The np_conserved.expm() expects a np_conserved Array, not a numpy array or string (it doesn't know anything about what you might mean with "Sz"). Therefore, you should get the Sz-operator as an np_conserved.Array, preferably out of your "Site" classes. Assuming that you have a un...
by Johannes
22 Feb 2019, 09:05
Forum: HowTos and FAQ for TeNPy
Topic: Exponentiation of operator / String order parameter
Replies: 11
Views: 107655

Re: Exponentiation of operator

Oh, sorry, I had the Pauli Sz in mind, and the factor 1/2 of course matters. My bad ;)
by Johannes
21 Feb 2019, 16:25
Forum: HowTos and FAQ for TeNPy
Topic: Twisted Boundary Conditions for a CouplingMPOModel
Replies: 3
Views: 5276

Re: Twisted Boundary Conditions for a CouplingMPOModel

Yes, as Leon pointed out, you need to modify the prefactor for the hopping constants, such that an electron picks up a phase when going around the cylinder. This can be done by providing a (numpy) array instead of just a scalar as parameter. Another very important thing here is to "reuse" ...
by Johannes
21 Feb 2019, 13:43
Forum: HowTos and FAQ for TeNPy
Topic: Exponentiation of operator / String order parameter
Replies: 11
Views: 107655

Re: Exponentiation of operator

Since exponentiating a matrix is often needed for tensor networks, the scipy.linalg.expm function is also implemented for np_conserved Arrays . When you talk about string order parameters, do you really want to calculate that? What you wrote suggests that you try to calculate something like \langle ...
by Johannes
18 Feb 2019, 09:34
Forum: HowTos and FAQ for TeNPy
Topic: Interpretation of qnumber>1 for Entanglement Spectra
Replies: 3
Views: 4340

Re: Interpretation of qnumber>1 for Entanglement Spectra

The "charges" you get are the "quantum numbers" you conserved. Of course, it depends on the model which "quantum numbers" you can actually preserve. For example, for a spin-model, you can preserve the Magnetization (e.g. Heisenberg XXZ chain), or just the parity of the ...
by Johannes
06 Feb 2019, 23:44
Forum: HowTos and FAQ for TeNPy
Topic: Investigations of the Hubbard model
Replies: 2
Views: 4455

Re: Investigations of the Hubbard model

The general setup looks fine. Regarding the bond dimension, you need to carefully check if larger \chi leads to different results. I would be very surprised if 30 is enough for convergence. To check that it works you need to compare results you have with existing results in the literature ;) Finite ...
by Johannes
05 Feb 2019, 15:53
Forum: HowTos and FAQ for TeNPy
Topic: perm parameter in compute_K function
Replies: 2
Views: 11734

Re: perm parameter in compute_K function

The correct permutation depends on the lattice you choose, and possibly on the "order" argument of that lattice. Yes, you should simply call it like psi.compute_K(perm=M.lat) # where M is your model to automatically figure out the "correct" permuation. This permutation will corre...
by Johannes
05 Feb 2019, 15:42
Forum: HowTos and FAQ for TeNPy
Topic: How to generate a random MPS in tenpy
Replies: 5
Views: 8266

Re: How to generate a random MPS in tenpy

Sorry for not coming back to this earlier. The real question is: what do you mean with "random" when talking about an MPS? When you draw a "random" state uniformly from the Hilbert space, it has a volume law entanglement; in fact it is almost maximally entangled! Therefore, it wo...
by Johannes
01 Feb 2019, 14:40
Forum: HowTos and FAQ for TeNPy
Topic: Implementing quantum gates
Replies: 2
Views: 3249

Re: Implementing quantum gates

What kind of "gate" do you have in mind? The usual TEBD where the "gates" are U=exp(i H_bond dt) is implemented in TeNPy.
by Johannes
31 Jan 2019, 10:20
Forum: Algorithms
Topic: Some questions about DMRG
Replies: 2
Views: 15157

Re: Some questions about DMRG

On general grounds: DMRG is a variational method which looks for the best approximation of the ground state in the space of MPS with a given maximal bond dimension (assuming you put a "chi_max" in the DMRG_parameters). This class of MPS can only represent states with a entanglement entropy...
by Johannes
25 Jan 2019, 15:12
Forum: HowTos and FAQ for TeNPy
Topic: xxz_corrlength.py example gives error 'out of the box'
Replies: 2
Views: 3663

Re: xxz_corrlength.py example gives error 'out of the box'

The problem was just that pickle needs the files to be opened in "binary" mode since Python 3, and the example stems from a time where TeNPy was still running with Python 2 :D
Anyways, I fixed it (and some other issue it had), it should now work again in the newest version.
by Johannes
21 Jan 2019, 09:32
Forum: HowTos and FAQ for TeNPy
Topic: Expectation values using GroupedSite
Replies: 2
Views: 3399

Re: Expectation values using GroupedSite

psi.expectation_value("Sx") tries to evaluate the expectation value \langle S^x_i\rangle on each site i of the MPS. If you called psi.group_sites(k) beforehand, the local sites i refer to GroupedSite , each containing k of the previous sites, and the "Sx" is no longer defined (o...
by Johannes
17 Jan 2019, 15:26
Forum: HowTos and FAQ for TeNPy
Topic: the truncation in dmrg
Replies: 5
Views: 7357

Re: the truncation in dmrg

That's the point: if your result is not unique (due to the degeneracy), any (small) change of the setup can change the result - it's basically random, what you get. Your results should usually still be reproducable, when you run the same code on the same machine with the same python version, but cha...
by Johannes
17 Jan 2019, 11:26
Forum: HowTos and FAQ for TeNPy
Topic: the truncation in dmrg
Replies: 5
Views: 7357

Re: the truncation in dmrg

The problem you have met comes from the degeneracy of the states - you have a bunch of correct, possible solutions, and which one is returned depends on numerical round off errors. I don't get the comment on truncation. Let me clarify: The truncation respects all the parameters chi_max, svd_min and ...