Search found 450 matches

by Johannes
30 Sep 2024, 07:17
Forum: HowTos and FAQ for TeNPy
Topic: problem about installing tenpy
Replies: 2
Views: 158

Re: problem about installing tenpy

The python ecosystem is a bit confusing with the different ways you can have "virtual environments" in which you can install packages - see this famous xkcd comic , and the situation has not really become better since the comic came out - now you additionally have conda envrionments, and s...
by Johannes
25 Sep 2024, 16:23
Forum: HowTos and FAQ for TeNPy
Topic: controlling particle number of independent species
Replies: 1
Views: 411

Re: controlling particle number of independent species

I'm not sure what your Hamiltonian is, here - do you have boson hopping between the upper and lower part where you set \mu_{up} and \mu_{down} , respectively, or is there only a density-density interaction? You can only use charge conservation to preserve the respective fillings if H commutes with N...
by Johannes
25 Sep 2024, 16:07
Forum: HowTos and FAQ for TeNPy
Topic: controlling particle number of independent species
Replies: 1
Views: 411

controlling particle number of independent species

I got the following question by email: I encountered some difficulties when setting conserved quantities. I filled two types of bosons in a two-dimensional bosonsite, and I want to control the filling numbers for each boson. Usually, I control the filling number by controlling their chemical potenti...
by Johannes
25 Sep 2024, 16:03
Forum: HowTos and FAQ for TeNPy
Topic: How to plot spin structure?
Replies: 1
Views: 1476

Re: How to plot spin structure?

AFM, FM, 120°AFM mean that the system spontaneously breaks the symmetry, i.e. you have degenerate ground states. It's important to distinguish between continous and discrete symmetries, which you break here. If you enforce charge conservation, this might indeed force DMRG to write a superposition of...
by Johannes
25 Sep 2024, 15:39
Forum: HowTos and FAQ for TeNPy
Topic: Units of exchange coupling and DMI/anisotropic J
Replies: 1
Views: 1643

Re: Units of exchange coupling and DMI/anisotropic J

1.) Hmm, good question. I never tried, but I'm afraid it wouldn't go well, and strongly advise against it. In theory, I agree that you can choose arbitary units and scale all terms in the hamiltonian accordingly. In practice, we have several points where we discard everything on the order of machine...
by Johannes
25 Sep 2024, 15:19
Forum: HowTos and FAQ for TeNPy
Topic: Strategies to run large-memory calculations?
Replies: 1
Views: 1233

Re: Strategies to run large-memory calculations?

I guess I'm late for you to solve the problem, but maybe as a hint for people trying to solve it in the future: The #SBATCH --nodes=2 asks SLURM for 2 nodes with MPI paralellization. TeNPy can not utilize that (unless you're working in the mpi_parallel branch, which is for very specific use cases on...
by Johannes
25 Sep 2024, 14:44
Forum: HowTos and FAQ for TeNPy
Topic: Why is finite DMRG running so slowly?
Replies: 1
Views: 123

Re: Why is finite DMRG running so slowly?

TeNPy has comparable speed with other libraries like ITensor , if you fix parameters for a fair comparison. One big difference is the default dmrg_params['lanczos_params']['N_max'] , the maximum number of lanczos iterations for finding the "ground state" before moving on to the next site. ...
by Johannes
25 Sep 2024, 14:30
Forum: HowTos and FAQ for TeNPy
Topic: Variance of purified MPS state
Replies: 2
Views: 150

Re: Variance of purified MPS state

It's not hard to generalize and adjust the source of that variance function to work with purificationMPS - all you need to do is to initially check whether you have the additional q leg (at the top of the function), and if so, in addition contract the additional ['q'] with ['q*'] leg in the tensordo...
by Johannes
25 Sep 2024, 14:17
Forum: HowTos and FAQ for TeNPy
Topic: Momentum Distribution from MPS
Replies: 1
Views: 111

Re: Momentum Distribution from MPS

I'm not quite sure what you mean with "momentum distribution". What you can do is measure the correlation function corrs=psi.correlation_function('bd', b') to get \bra{\psi} b^\dagger_i b_{j} \ket{\psi} in real space, and then perform a fourier trafo on both axes, which gives you something...
by Johannes
25 Sep 2024, 14:06
Forum: HowTos and FAQ for TeNPy
Topic: DMRG Calculation for Large Systems
Replies: 1
Views: 113

Re: DMRG Calculation for Large Systems

to put this a bit into perspective, 30 minutes of runtime is often still considered very moderate, state-of-the-art DMRG calculations for publications in journals often run several days to weeks on high-performance-computing cluster nodes with >30 cores (more powerfull than a laptop...) Also, it's i...
by Johannes
25 Sep 2024, 13:39
Forum: HowTos and FAQ for TeNPy
Topic: Gap in open spin chain :
Replies: 1
Views: 101

Re: Gap in open spin chain :

The Warning is very relevant here: since version 0.9.0 , the `orthogonal_to` should not be an entry in the `dmrg_params`, but should be a direct keyword argument to the dmrg.run() function, i.e. somthing like dmrg.run(psi, M, dmrg_params, orthogonal_to=states) . As an alternative, you might want to ...
by Johannes
25 Sep 2024, 13:18
Forum: HowTos and FAQ for TeNPy
Topic: How to model anisotropic exchange J, single-ion anisotropy and DMI for DMRG?
Replies: 5
Views: 25872

Re: How to model anisotropic exchange J, single-ion anisotropy and DMI for DMRG?

1) If you look at the imange of the tenpy.models.lattice.Triangular lattice, you'll see that it's 30 degrees rotatet compared to your image - that's the pi/6 offsett here. 2) If you explicitly have Jxy, Jyx etc, then these will contribute to the very same "terms" Sx_i Sy_j etc that the DMI...
by Johannes
25 Sep 2024, 13:04
Forum: HowTos and FAQ for TeNPy
Topic: Custom Hamiltonian with multiple fermions and conserved charges
Replies: 1
Views: 103

Re: Custom Hamiltonian with multiple fermions and conserved charges

Not sure if this is still relevant or solved by now, but anyways: the issue here is that the tenpy.models.lattice.Chain expects that it has a single-site unit cell only. Try using a more general lattice that allows for multiple sites in the MPS unit cell. The "correct" or recommend way in ...
by Johannes
25 Sep 2024, 12:35
Forum: HowTos and FAQ for TeNPy
Topic: Different coupling terms on different sites
Replies: 7
Views: 12120

Re: Different coupling terms on different sites

As documented, the strength argumente of add_coupling can be a numpy array - for a square lattice with Lx by Ly sites, for nearest-neighbor hopping/interaction in y -direction, it could be of shape (Lx, Ly-1), or for the one in x-direction (Lx-1, Ly), respectively.
by Johannes
27 May 2024, 16:08
Forum: HowTos and FAQ for TeNPy
Topic: How to evolve an infinite temperature state in a long range Hamiltonian system?
Replies: 1
Views: 1034

Re: How to evolve an infinite temperature state in a long range Hamiltonian system?

At the moment, you should use tenpy.algorithms.purification.PurificationApplyMPO for models with long range. (Or alternatively group sites and use the PurificationTEBD as you suggested.) TDVP doesn't work with purification at the moment. Really, we should refactor the purification code a bit such th...
by Johannes
27 May 2024, 15:51
Forum: HowTos and FAQ for TeNPy
Topic: Calculating Purity of PurificationMPS
Replies: 1
Views: 949

Re: Calculating Purity of PurificationMPS

The best idea I can come up with on the spot would be to contract Tr(rho^2) as a tensor network from left to right. There's no function for that in TeNPy ritght now, but it shouldn't be hard to implement that. Doing this is O(chi^5), though, so it's quite expensive compared to the usual O(chi^3) sca...
by Johannes
27 May 2024, 10:34
Forum: HowTos and FAQ for TeNPy
Topic: Purification for Finite Temperature Simulations
Replies: 2
Views: 1543

Re: Purification for Finite Temperature Simulations

1) these `d` are the time steps for the time evolution that give you a second-order instead of first-order precision by canceling the error terms of O(dt^2). 2) The the new post in that topic. As I said there, it's fixed if you call psi.canonical_form() once more (at least for finite systems). Fix i...
by Johannes
27 May 2024, 09:16
Forum: HowTos and FAQ for TeNPy
Topic: How to define a infiniteT MPS under canonical ensemble
Replies: 5
Views: 9656

Re: How to define a infiniteT MPS under canonical ensemble

Since there was another question coming back to this: I do understand this now. The error comes from the fact that the imaginary TEBD algorithm applies non-unitary 2-site gates, which change the state and in general also singular values on other bonds. After one update sweep, we end with A S B B B B...
by Johannes
27 May 2024, 08:50
Forum: HowTos and FAQ for TeNPy
Topic: Can I use tenpy to calculate boson t-J model ?
Replies: 1
Views: 1016

Re: Can I use tenpy to calculate boson t-J model ?

Indeed, there's no predefined model for that, but it shouldn't be too difficult to write a new model class for that. Basically, you want to adjust the exisiting tenpy.models.tj_model.TJModel , but use a new bosonic version of the tenpy.networks.site.SpinHalfHoleSite as the local site. Try starting t...
by Johannes
27 May 2024, 08:39
Forum: HowTos and FAQ for TeNPy
Topic: How to use MPS.from_Bflat
Replies: 3
Views: 1095

Re: How to use MPS.from_Bflat

I'm confused. ED should give you an MPS on a finite system, possibly with PBC (?). How did you map that to the infinite system for comparison?

If you want to compare 1:1, you need to compare finite MPS on PBC to ED on PBC, as I explained above.
by Johannes
13 May 2024, 05:25
Forum: HowTos and FAQ for TeNPy
Topic: How to use MPS.from_Bflat
Replies: 3
Views: 1095

Re: How to use MPS.from_Bflat

The finite mps in Tenpy always has open boundary conditions. In other words, in finite systems, the vL on the first tensor should be trivial of dimension 1, and so should be the vR leg of the last tensor. Closing the loop on the virtual legs with a trace is nasty for numerical simulations, since it ...
by Johannes
08 May 2024, 14:15
Forum: HowTos and FAQ for TeNPy
Topic: Implementing iDMRG for ladder lattices
Replies: 2
Views: 1811

Re: Implementing iDMRG for ladder lattices

Let me be a bit more explicit: in the simple case of the Ladder, the following lines in init_couplings are equivalent: add_coupling(-t, 0, 'Cdu', 0, 'Cu', dx=1, plus_hc=True) add_coupling(-tv, 0, 'Cdu', 1, 'Cu', dx=1, plus_hc=True) add_coupling(-t, 1, 'Cdu', 1, 'Cu', dx=1, plus_hc=True) for x in ran...
by Johannes
08 May 2024, 14:04
Forum: HowTos and FAQ for TeNPy
Topic: Implementing iDMRG for ladder lattices
Replies: 2
Views: 1811

Re: Implementing iDMRG for ladder lattices

Hi Fabio, whether you call add_coupling or explicitly loop over add_local_term doesn't matter for the final DMRG run, if you get the same couplings in the MPO of the hamiltonian - but with the latter, you need to iterate over the starting point of the couplings in real space, so you are responsible ...
by Johannes
07 May 2024, 09:53
Forum: Algorithms
Topic: Gate-based TEBD
Replies: 1
Views: 2638

Re: Gate-based TEBD

It doesn't allow this out of the box, but you can easily write your own subclass of the TEBD Engine which just plugs in the corresponding Us. Essentially, you want to re-use the `update_step` function for the evolution (and maybe the first order suzuki trotter decomposition, depending on how you wan...