Search found 436 matches

by Johannes
06 Dec 2021, 19:03
Forum: HowTos and FAQ for TeNPy
Topic: How to Successfully Install TenPy on Windows
Replies: 3
Views: 3125

Re: How to Successfully Install TenPy on Windows

Welcome! It looks like conda is only looking in the win-32 channel, i.e. for a 32-bit package. However, we've only packaged/compiled a 64-bit version, since virtually all hardware (on which you'd like to run TeNPy) these days has 64-bit CPUs. Is your Windows 64 bit? Then you should also download the...
by Johannes
08 Nov 2021, 19:30
Forum: HowTos and FAQ for TeNPy
Topic: Periodic versus Open Boundary Conditions
Replies: 5
Views: 6094

Re: Periodic versus Open Boundary Conditions

I'm not too surprised that W_II fails for this. Intuitively, the W_I/W_II methods from the ExpMPOEvolution approximates e^{-iH dt} by taking into account non-overlapping terms of H; it is not designed for a long-range coupling going accross the whole system (which you get by using periodic BC for a ...
by Johannes
12 Oct 2021, 17:24
Forum: HowTos and FAQ for TeNPy
Topic: How to efficiently save and resume calculation
Replies: 3
Views: 4498

Re: How to efficiently save and resume calculation

Indeed, the tenpy.simulations.Simulation classes are built to support exactly this in a generic way for the various algorithms. The idea is that you start your simulation with `run_simulation`, it saves snapshot at certain checkpoints (e.g. during DMRG between sweeps), and you can resume from these ...
by Johannes
12 Oct 2021, 17:14
Forum: HowTos and FAQ for TeNPy
Topic: spin inversion & reflection symmetry
Replies: 1
Views: 3916

Re: spin inversion & reflection symmetry

1) You refer to H = ZZ - g_x X, where the spin flip symmetry is a product(X). TeNPy implements the TF Ising model as H = XX - g Z, such that the symmetry becomes product(Z), i.e. the parity of sum(Z) is conserved. This is implemented in tenpy.models.tf_ising.TFIChain , it will by default use conserv...
by Johannes
12 Oct 2021, 16:27
Forum: HowTos and FAQ for TeNPy
Topic: overhead of creating tvdp engines
Replies: 1
Views: 2110

Re: overhead of creating tvdp engines

Just initializing the two TDVP environments independently at the same time will not yield the correct result, since each engine has an MPOEnvironment for the partial contractions of <psi|H|psi>, and the one of engine1 will not get updated during the evolution of engine2. You could call engine1.envir...
by Johannes
12 Oct 2021, 16:11
Forum: HowTos and FAQ for TeNPy
Topic: TDVP for MPO which is not nearest-neighbor w.r.t. MPO index
Replies: 1
Views: 2169

Re: TDVP for MPO which is not nearest-neighbor w.r.t. MPO index

You chose an artificial test case of completely decoupled spins; the spin pairs 2-4 and 3-5 will just each propagate together. This is basically a product state, except that 2-4 and 3-5 are entangled. After a single time step with the ExpMPOEvolution, the MPS bond dimension grew to include the Schmi...
by Johannes
12 Oct 2021, 15:48
Forum: HowTos and FAQ for TeNPy
Topic: single honeycomb cell from the honeycomb lattice class
Replies: 1
Views: 2044

Re: single honeycomb cell from the honeycomb lattice class

Take a look at the irregular lattices; exactly this example can be found in the user guide.
Since the commit b49f0e0 that I just pushed, you can do that by adding the model parameter "irregular_remove".
by Johannes
11 Oct 2021, 22:16
Forum: HowTos and FAQ for TeNPy
Topic: MPS.expectation_value_term() not working for iDMRG
Replies: 1
Views: 2819

Re: MPS.expectation_value_term() not working for iDMRG

I'm not sure if I understand what you're doing with which boundary conditions. Indeed, "segment" boundary conditions yield a finite DMRG, because the "segment" is a finite region extracted from an infinite MPS, and you only optimize that region keeping the environments fixed. The...
by Johannes
11 Oct 2021, 20:18
Forum: HowTos and FAQ for TeNPy
Topic: Different ways to run DMRG on a finite cylinder geometry
Replies: 2
Views: 3042

Re: Different ways to run DMRG on a finite cylinder geometry

Whatch out! The model parameters bc_MPS, bc_x, bc_y are only used if you don't specify the lattice instance directly, since the lattice instance already has the boundary conditions! model_params = { "S": 0.5, "conserve": "Sz", "lattice": 'Honeycomb', "Lx&...
by Johannes
10 Oct 2021, 08:38
Forum: Algorithms
Topic: Heisenberg XXZ chain with stagger interaction
Replies: 3
Views: 15125

Re: Heisenberg XXZ chain with stagger interaction

What you see here is a symmetry breaking transition; I think it's physic and not a bug in TeNPy. For large Jz, the ground state is an anti-ferromagnet forming an Neel state |up down up down ...> , but by symmetry (product of X on each site), the |down up down up ...> has the same energy. Which one i...
by Johannes
03 Sep 2021, 04:52
Forum: HowTos and FAQ for TeNPy
Topic: M1 compatibily
Replies: 1
Views: 2654

Re: M1 compatibily

Since I don't own any Apple products, I can hardly test this and have no idea what's required to get it to work. However, the kind folks from conda-forge apparently have a working CI bot system that should help us: see the conda-forge docs If you want support for the M1, you'll have to get active: s...
by Johannes
01 Sep 2021, 23:17
Forum: HowTos and FAQ for TeNPy
Topic: Eigenvalues for the transfer matrix and unit cells
Replies: 4
Views: 3770

Re: Eigenvalues for the transfer matrix and unit cells

I think you should just look at the Transfermatrix with the smallest possible number of sites. This would be 2 sites for a Neel state, 1 for a completely translation invariant state. Sadly, we don't have an algorithm for the last case at the moment -even single site DMRG requires a two-site MPS unit...
by Johannes
31 Aug 2021, 21:31
Forum: HowTos and FAQ for TeNPy
Topic: Eigenvalues for the transfer matrix and unit cells
Replies: 4
Views: 3770

Re: Eigenvalues for the transfer matrix and unit cells

Hi Pablo, which TeNPy function are you referring to? TransferMatrix. eigenvectors () returns the eigenvalues \lambda of the full transfer matrix, there's no ambiguity there. correlation_length returns the xi in your definition, to make sure it's independent of L; it's basically just changing the uni...
by Johannes
30 Aug 2021, 03:15
Forum: HowTos and FAQ for TeNPy
Topic: Excited states using tenpy
Replies: 13
Views: 11087

Re: Excited states using tenpy

You can use algorithm_params: diag_method: lanczos lanczos_params: E_shift: -10 # choose small enough such that E + E_shift < 0 (also for excitations!) It basically does the same trick as you suggested - it just replaces H -> H + E_shift[inline], but the [inline]E_shift is automatically subtracted a...
by Johannes
11 Aug 2021, 23:59
Forum: HowTos and FAQ for TeNPy
Topic: about initial MPS canonical form
Replies: 1
Views: 3058

Re: about initial MPS canonical form

When you just call the MPS.__init__() function, it will just assume that it is in right-canonical form. In most cases, people will in some way intialize the MPS from a product state with bond dimension 1 (using MPS.from_product_state or MPS.from_lat_product_state), which is trivially in both left- a...
by Johannes
11 Aug 2021, 23:46
Forum: HowTos and FAQ for TeNPy
Topic: Implementation of t-J model
Replies: 3
Views: 3179

Re: Implementation of t-J model

Hi Leandro, apologies for not replying earlier! Just to check: Did this work out, did you manage it in the end? Or do you still need help? I hope you didn't give up! The t-J model is definitely sufficiently important/generic that it would be a good idea to include it into TeNPy itself. Would you lik...
by Johannes
11 Aug 2021, 23:28
Forum: HowTos and FAQ for TeNPy
Topic: Random UserWarning: unused option ['P_tol']
Replies: 1
Views: 2488

Re: Random UserWarning: unused option ['P_tol']

By default, the option `P_tol_to_trunc` causes DMRG to set the P_tol parameter in the lanczos_params, which causes this warning in case DMRG actually does not use lanczos to diagonalize the effective Hamiltonian (it does exact diagonalizaiton for small enough chi where this is actually faster). I've...
by Johannes
11 Aug 2021, 18:35
Forum: HowTos and FAQ for TeNPy
Topic: About long-range interaction
Replies: 1
Views: 2609

Re: About long-range interaction

1.) The simplest/naive thing is to just use the usual add_coupling with increasingly longer range interaction |i-j| up to some finite cutoff. Alternatively, the more clever/state of the art way would be to fit the powerlaw by a sum of exponentials, and then use `add_exponentially_decaying_interactio...
by Johannes
11 Aug 2021, 18:21
Forum: HowTos and FAQ for TeNPy
Topic: Chain with N site unit-cell
Replies: 2
Views: 2608

Re: Chain with N site unit-cell

Yes, that's the general way to go about this: just define your lattice with the correct number of sites per unit sell, and add the corresponding couplings. Some inspiration might be given by the Hofstadter models in TeNPy. I guess it would also be useful to re-implement the FermionicHubbardModel wit...
by Johannes
11 Aug 2021, 17:41
Forum: HowTos and FAQ for TeNPy
Topic: Singular Values as np_conserved
Replies: 1
Views: 2491

Re: Singular Values as np_conserved

Hi Nick, not sure if you already solved this. If you want, you can create a diagonal np_conserved tensor from that with the following snippet, but it is numerically inenfficient to actually do that (because tensordot is more expensive than just scaling an axis, which is what we usually do. # assumin...
by Johannes
11 Aug 2021, 17:34
Forum: Algorithms
Topic: Heisenberg XXZ chain with stagger interaction
Replies: 3
Views: 15125

Re: Heisenberg XXZ chain with stagger interaction

What error do you get? Can you please include the error traceback? Otherwise I can only guess what the problem might be.... It seems strange that it works for smaller J_z, but not for larger one. By the way, you can actually do this without implementing a custom lattice/model, just based on the tenp...
by Johannes
11 Aug 2021, 17:24
Forum: Algorithms
Topic: Question about iTDVP
Replies: 1
Views: 11448

Re: Question about iTDVP

Yes, I think you need to recreate the environments from scratch.
Not completely sure, but I think you could try using the old ones as an initial guess for the new environments.
by Johannes
11 Aug 2021, 17:17
Forum: Algorithms
Topic: Disentangler for long-range model or for local 2-d lattice model
Replies: 1
Views: 10848

Re: Disentangler for long-range model or for local 2-d lattice model

The disentanglers implemented in TeNPy act on two or more consecutive sites in the MPS language, but of course you can try to apply a bunch of them one after the other. It also has code that tries to bring a few sites next to each other and then disentangle them, but in my experience that didn't wor...
by Johannes
11 Aug 2021, 17:14
Forum: HowTos and FAQ for TeNPy
Topic: How to use self-defined model in Simulation's yml file?
Replies: 2
Views: 2915

Re: How to use self-defined model in Simulation's yml file?

You just need to import the file in python, which contains the model definition; then you can just use the "name" of the model in the simulation parameters. To import that file with the definition, you have two options: Either you use the command line option -1 of tenpy-run or python -m te...
by Johannes
11 Aug 2021, 16:53
Forum: HowTos and FAQ for TeNPy
Topic: Question about convergence statistics in (i)DMRG
Replies: 2
Views: 2229

Re: Question about convergence statistics in (i)DMRG

To be clear, the actual convergence of DMRG is much faster than just 1/(#sweeps performed), as you see on the right - there's a log-scale on the yaxis :)