
Search found 465 matches
- 23 Apr 2019, 08:47
- Forum: Implementations
- Topic: Triangular Lattice
- Replies: 4
- Views: 62450
Re: Triangular Lattice
Implemented 

- 19 Apr 2019, 09:34
- Forum: HowTos and FAQ for TeNPy
- Topic: Memory saving options in dmrg
- Replies: 2
- Views: 8599
Re: Memory saving options in dmrg
unfortunately, this is currently not implemented in TeNPy :( What you need to do is to write a custom tenpy.networks.mpo.MPOEnvironment which stores the tensors to disk instead of keeping them in the _LP and _RP lists. It should suffice to overwrite the get_LP, get_RP, set_LP, set_RP , del_LP, del_R...
- 18 Apr 2019, 15:55
- Forum: HowTos and FAQ for TeNPy
- Topic: Interpenetrating Lattices
- Replies: 2
- Views: 6724
Re: Interpenetrating Lattices
Currently, there is nothing to directly support this in TeNPy. What you need to do is implement your own lattice (as a subclass of tenpy.models.lattice.Lattice ). Example: import numpy as np from tenpy.models import lattice from tenpy.networks import site class MyLattice(lattice.Lattice): def __init...
- 18 Apr 2019, 13:02
- Forum: Implementations
- Topic: Triangular Lattice
- Replies: 4
- Views: 62450
Re: Triangular Lattice
Agreed. The Triangular lattice is basically just a simple square lattice with one of the basis vectors rotated by 30 degrees towards the other. I'd suggest to use basis = np.array([[0.5 *np.sqrt(3), 0.5], # first basis vector [0., 1.]]) # second basis vector: y-direction If you quickly write down th...
- 17 Apr 2019, 14:21
- Forum: HowTos and FAQ for TeNPy
- Topic: Performing TEBD for NNN interactions
- Replies: 1
- Views: 5794
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...
- 17 Apr 2019, 13:43
- Forum: HowTos and FAQ for TeNPy
- Topic: Suggestions for computing entanglement eigenvectors
- Replies: 2
- Views: 6679
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...
- 17 Apr 2019, 13:35
- Forum: HowTos and FAQ for TeNPy
- Topic: correlation length and charge sector
- Replies: 1
- Views: 6171
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...
- 28 Mar 2019, 11:07
- Forum: HowTos and FAQ for TeNPy
- Topic: TF Ising Magnetization issues
- Replies: 2
- Views: 9642
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...
- 22 Mar 2019, 10:02
- Forum: HowTos and FAQ for TeNPy
- Topic: How to implement boundary pinning field in iDMRG appropriately?
- Replies: 2
- Views: 8102
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...
- 14 Mar 2019, 15:10
- Forum: Other News
- Topic: Serious bug in models
- Replies: 0
- Views: 134208
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 
The problem is/was that adding the hermitian conjugate with was not done correctly.
Further details at issue #23.


- 13 Mar 2019, 13:54
- Forum: Other News
- Topic: Serious bug in npc.inner
- Replies: 0
- Views: 39595
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...
- 13 Mar 2019, 09:23
- Forum: HowTos and FAQ for TeNPy
- Topic: Finite DMRG not working after update to new version
- Replies: 4
- Views: 11647
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.
Should be fine now

PS: You can also report problems like that as github issues.
- 12 Mar 2019, 17:29
- Forum: HowTos and FAQ for TeNPy
- Topic: Finite DMRG not working after update to new version
- Replies: 4
- Views: 11647
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...
- 06 Mar 2019, 10:18
- Forum: HowTos and FAQ for TeNPy
- Topic: Exponentiation of operator / String order parameter
- Replies: 11
- Views: 143094
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...
- 26 Feb 2019, 11:01
- Forum: HowTos and FAQ for TeNPy
- Topic: Error drawing Lattice in Tenpy
- Replies: 2
- Views: 7162
Re: Error drawing Lattice in Tenpy
Thanks for pointing that out.
Luckily, both problems were just a problem of the
I just fixed the bug in the most recent version on github.
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.
- 22 Feb 2019, 09:35
- Forum: HowTos and FAQ for TeNPy
- Topic: Exponentiation of operator / String order parameter
- Replies: 11
- Views: 143094
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...
- 22 Feb 2019, 09:05
- Forum: HowTos and FAQ for TeNPy
- Topic: Exponentiation of operator / String order parameter
- Replies: 11
- Views: 143094
Re: Exponentiation of operator
Oh, sorry, I had the Pauli Sz in mind, and the factor 1/2 of course matters. My bad 

- 21 Feb 2019, 16:25
- Forum: HowTos and FAQ for TeNPy
- Topic: Twisted Boundary Conditions for a CouplingMPOModel
- Replies: 3
- Views: 11549
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" ...
- 21 Feb 2019, 13:43
- Forum: HowTos and FAQ for TeNPy
- Topic: Exponentiation of operator / String order parameter
- Replies: 11
- Views: 143094
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 ...
- 18 Feb 2019, 09:34
- Forum: HowTos and FAQ for TeNPy
- Topic: Interpretation of qnumber>1 for Entanglement Spectra
- Replies: 3
- Views: 10161
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 ...
- 06 Feb 2019, 23:44
- Forum: HowTos and FAQ for TeNPy
- Topic: Investigations of the Hubbard model
- Replies: 2
- Views: 10305
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 ...
- 05 Feb 2019, 15:53
- Forum: HowTos and FAQ for TeNPy
- Topic: perm parameter in compute_K function
- Replies: 2
- Views: 18358
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...
- 05 Feb 2019, 15:42
- Forum: HowTos and FAQ for TeNPy
- Topic: How to generate a random MPS in tenpy
- Replies: 5
- Views: 17381
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...
- 01 Feb 2019, 14:40
- Forum: HowTos and FAQ for TeNPy
- Topic: Implementing quantum gates
- Replies: 2
- Views: 7326
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.
- 31 Jan 2019, 10:20
- Forum: Algorithms
- Topic: Some questions about DMRG
- Replies: 2
- Views: 46689
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...