Search found 422 matches

by Johannes
09 Feb 2022, 07:19
Forum: Algorithms
Topic: Question about the Hamiltonian MPO
Replies: 1
Views: 6015

Re: Question about the Hamiltonian MPO

MPOs are extensive sums of local terms; thus they take a Jordan block form W = \begin{pmatrix} 1 & C & D \\ 0 & A & B \\ 0 & 0 & 1 \end{pmatrix} = \text{e.g. for transverse field ising} \begin{pmatrix} 1 & X & - Z \\ 0 & 0 & X \\ 0 & 0 & 1 \end{pmatrix...
by Johannes
09 Feb 2022, 06:48
Forum: HowTos and FAQ for TeNPy
Topic: How to convert iMPS to finite MPS?
Replies: 2
Views: 12016

Re: How to convert iMPS to finite MPS?

Why? What do you want to do with the state afterwards? Yes, of course, you can just insert a projector onto the index with maximal singualar value at the boundary, i.e. bond dimension 1, and formally declare it a finite MPS. But this truncation is likely not the "optimal" state of maximal ...
by Johannes
27 Jan 2022, 19:58
Forum: HowTos and FAQ for TeNPy
Topic: Problems with segment boundaries for TDVP
Replies: 1
Views: 2174

Re: Problems with segment boundaries for TDVP

I'm sorry that this wasn't clear, but TeNPy's TDVP isn't intended to be used with segment boundary conditions; as of now, TeNPy only supports segment MPS for DMRG. There, the idea is to just keep the state outside of the segment (or "window" in the literature) fixed during the optimization...
by Johannes
11 Jan 2022, 10:45
Forum: HowTos and FAQ for TeNPy
Topic: How to use random MPS to acess all ground states
Replies: 2
Views: 2386

Re: How to use random MPS to acess all ground states

Since you apply 6 steps of randomizing, it might still have some "memory" of the initial state. This function takes an initlal MPS, I guess you take an initial product state. Did you try using another one? It's not completely clear to me what initial states the authors of 1208.2623 took, j...
by Johannes
11 Jan 2022, 10:26
Forum: HowTos and FAQ for TeNPy
Topic: Periodic versus Open Boundary Conditions
Replies: 5
Views: 4721

Re: Periodic versus Open Boundary Conditions

For two dimensional systems, there can be separate boundary conditions in x and y, hence the bc_x and bc_y, which really are just the two values for the bc=[bc_x, bc_y] of the lattice.
So yes, for a 1D lattice, just putting bc='periodic' is the correct thing to get periodic boundary conditions.
by Johannes
11 Jan 2022, 09:55
Forum: HowTos and FAQ for TeNPy
Topic: DMRG of Two Component Bose-Hubbard Model
Replies: 1
Views: 3234

Re: DMRG of Two Component Bose-Hubbard Model

Welcome to TenPy, happy new year, and sorry for the long delay in the answer, I had a few things I needed to finish before Christmas..... I think the issue here is that the mixer is disabled, just try setting 'mixer': True . The reason why you need the mixer is that you always just optimize two site...
by Johannes
10 Jan 2022, 13:52
Forum: HowTos and FAQ for TeNPy
Topic: If/How to avoid: "final DMRG state not in canonical form..."
Replies: 4
Views: 4593

Re: If/How to avoid: "final DMRG state not in canonical form..."

Hi Pablo, I hope you also had some nice holidays and wish you a happy new year! The log files should report the "norm_error" - is it close to zero in your case? You can also explicitly check the output of norm_test to check whether the state is in in canonical form. (To be clear, psi.test_...
by Johannes
10 Jan 2022, 13:38
Forum: HowTos and FAQ for TeNPy
Topic: Questions Regarding Implementation of a 1D Lattice of Bosons
Replies: 1
Views: 1910

Re: Questions Regarding Implementation of a 1D Lattice of Bosons

Question 1: It's a dense matrix representation of the N (=particle number) operator. If you truncate to nmax=10, you have 11 local basis states |n>, where n=0,...,10 is the boson number. Hence, N is 11x11 matrix, with n on the diagonal. Question 2/3/4: The cutoff nmax for the Site is the maximal bos...
by Johannes
09 Dec 2021, 20:30
Forum: HowTos and FAQ for TeNPy
Topic: Periodic versus Open Boundary Conditions
Replies: 5
Views: 4721

Re: Periodic versus Open Boundary Conditions

It's a bit unconvenient: you need to override the ordering method of the lattice to support that.
I've quickly pushed an update 087beba that does that.
You can do similar things for other lattice classes as well.
by Johannes
06 Dec 2021, 20:11
Forum: HowTos and FAQ for TeNPy
Topic: M.H_MPO and SWAP gate in SpinChain model
Replies: 2
Views: 2265

Re: M.H_MPO and SWAP gate in SpinChain model

To be honest, I'm quite surprised by 2102.10188 that it actually seems to work with MPS. They simulate eq. 2, with all-to-all couplings H=\sum_{i<j} S_i \cdot S_j . Naively, I would have expected much more entanglement than only ~log(N) to build up with the time evolution. On the other hand, it kind...
by Johannes
06 Dec 2021, 19:03
Forum: HowTos and FAQ for TeNPy
Topic: How to Successfully Install TenPy on Windows
Replies: 3
Views: 2654

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

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

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

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

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

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

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

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

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

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

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

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

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

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