Search found 422 matches

by Johannes
15 May 2019, 13:47
Forum: Releases
Topic: Release v0.4.0
Replies: 0
Views: 13666

Release v0.4.0

Version 0.4.0 has been released. Before updating , please read the release notes . It is now supported to install TeNPy with pip via pip install --upgrade physics-tenpy # for 'stable' versions I'd recommend an installation with pip if you do not intend to modify the source files of TeNPy at any poin...
by Johannes
07 May 2019, 13:28
Forum: HowTos and FAQ for TeNPy
Topic: add_coupling in SpinModel
Replies: 4
Views: 4379

Re: add_coupling in SpinModel

These operators do not commute here because they are acting on the same site. \sigma_i and \tau_i certianly do commute, which is obvious if you don't think in the grouped-site picture. In other terms, your hamiltonian is \begin{align} H &= J \sum_{<i,j>} (\sigma^x_i \sigma^x_j + \sigma^y_i \sig...
by Johannes
06 May 2019, 13:52
Forum: HowTos and FAQ for TeNPy
Topic: add_coupling in SpinModel
Replies: 4
Views: 4379

Re: add_coupling in SpinModel

Writing this with Hermitian conjugates, I get: J_x S^x_i S^x_j + J_y S^y_i S^y_j = \left( \frac{J_x + J_y}{4} \right)(S^+_i S^-_j + (S^+_j S^-_i)^\dagger) + \left( \frac{J_x - J_y}{4} \right)(S^+_i S^+_j + (S^+_j S^+_i)^\dagger) Sorry, but I disagree. Using h.c. it reads: J_x S^x_i S^x_j + J_y S^y_...
by Johannes
03 May 2019, 14:54
Forum: HowTos and FAQ for TeNPy
Topic: How to get the data of NPC arrays
Replies: 1
Views: 2626

Re: How to get the data of NPC arrays

The _data attribute of an tenpy.linalg.np_conserved.Array is a list with individual blocks of the tensor. Even without charges, there can be subblocks defined. this is the case for an MPO to exploit the sparseness of an MPO - if you write the Matrix, there are usually lot's of zeros, e.g. in your ca...
by Johannes
29 Apr 2019, 16:14
Forum: HowTos and FAQ for TeNPy
Topic: Cython compilation error
Replies: 5
Views: 6275

Re: Cython compilation error

Qottmann wrote: 29 Apr 2019, 15:03 ... but at least it is running now.
Glad to hear that :D
by Johannes
29 Apr 2019, 13:54
Forum: HowTos and FAQ for TeNPy
Topic: Cython compilation error
Replies: 5
Views: 6275

Re: Cython compilation error

Did you do the sudo apt-get install build-essential?
Or in other words, do you have a working C++ compiler?
by Johannes
29 Apr 2019, 09:27
Forum: HowTos and FAQ for TeNPy
Topic: Cython compilation error
Replies: 5
Views: 6275

Re: Cython compilation error

This looks like a linking error. What OS are you using? Can you compile the first minimal example from http://docs.cython.org/en/latest/src/quickstart/build.html? Another minimal example with numpy: save this code as "a.pyx". cimport numpy as cnp import numpy as np cnp.import_array() def m...
by Johannes
23 Apr 2019, 08:47
Forum: Implementations
Topic: Triangular Lattice
Replies: 4
Views: 12073

Re: Triangular Lattice

Implemented ;)
by Johannes
19 Apr 2019, 09:34
Forum: HowTos and FAQ for TeNPy
Topic: Memory saving options in dmrg
Replies: 2
Views: 3352

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...
by Johannes
18 Apr 2019, 15:55
Forum: HowTos and FAQ for TeNPy
Topic: Interpenetrating Lattices
Replies: 2
Views: 2971

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...
by Johannes
18 Apr 2019, 13:02
Forum: Implementations
Topic: Triangular Lattice
Replies: 4
Views: 12073

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...
by Johannes
17 Apr 2019, 14:21
Forum: HowTos and FAQ for TeNPy
Topic: Performing TEBD for NNN interactions
Replies: 1
Views: 2764

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: 2953

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: 2541

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: 3857

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: 3336

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: 35384

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: 13695

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: 4485

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: 4485

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: 96367

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: 2857

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: 96367

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: 96367

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: 4432

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" ...