Search found 407 matches

by Johannes
18 Apr 2022, 17:18
Forum: HowTos and FAQ for TeNPy
Topic: iDMRG sweep schedule
Replies: 3
Views: 3181

Re: iDMRG sweep schedule

1) These additional sweeps are meant to (i) bring the MPS into canonical form and (ii) converge the environments. Effectively, it's mostly SVDs and environment updates, and usually cheap compared to the Lanczos optimization, so it should be "cheap" to converge things a bit better, even if ...
by Johannes
18 Apr 2022, 17:02
Forum: HowTos and FAQ for TeNPy
Topic: parallel computing
Replies: 4
Views: 3250

Re: parallel computing

The export OMP_NUM_THREADS=1 is a bash command. You should have a slurm/sge/bash script which you submit to the cluster, include this line there. For example, if you use the setup of the TeNPy project repository , you can explicitly add the corresponding line in the file cluster_templates/slurm.sh (...
by Johannes
04 Apr 2022, 17:43
Forum: HowTos and FAQ for TeNPy
Topic: TDVP time evolution with interaction / onsite state probability
Replies: 4
Views: 15771

Re: TDVP time evolution with interaction / onsite state probability

Indeed, the get_probability is not working; it even gives you wrong dimensions of the array when you go beyond 2 sites. Using the onsite reduced density matrix is as pointed out in the post you linked to is indeed one way. Another and maybe even clearer solution would be to define projection operato...
by Johannes
01 Apr 2022, 01:39
Forum: HowTos and FAQ for TeNPy
Topic: MPS winding for 'new' lattice
Replies: 2
Views: 1807

Re: MPS winding for 'new' lattice

I think you're on the right track. I presume your PhtantasticLattice is derived from the base lattice class. What you should do is override the ordering method, similar as is done in the the tenpy.models.lattice.Honeycomb lattice - take a look at the source there. You want the structure def ordering...
by Johannes
22 Mar 2022, 01:55
Forum: HowTos and FAQ for TeNPy
Topic: How Does Block Absorption Work in MPS DMRG
Replies: 1
Views: 1726

Re: How Does Block Absorption Work in MPS DMRG

Yes, the main idea is that you *never* have the Schmidt states as whole, but only as (partial) MPS, recursivley adding tensors to get the Schmidt states on the next bond; see also Figure 4 c) of our paper 1805.00055 . Indeed, the formula you wrote gives the Schmidt states |a_l> in the basis of |a_{l...
by Johannes
22 Mar 2022, 01:22
Forum: HowTos and FAQ for TeNPy
Topic: iDMRG sweep schedule
Replies: 3
Views: 3181

Re: iDMRG sweep schedule

You're referring to the update_LP_RP defined in get_sweep_schedule for n=2 , i.e. a two-site update. As you can see from the i0s, move_right variables, we do 2L updates in total, each updating 2 sites, in the order (0, 1), ..., (L-2, L-1), (L-1, L), (L, L+1), (L-1, L), ..., (1, 2) . Note that this i...
by Johannes
22 Mar 2022, 00:52
Forum: HowTos and FAQ for TeNPy
Topic: Disentangler
Replies: 1
Views: 1875

Re: Disentangler

The disentangling of purified states indeed currently only works for 1D chains where you can do TEBD. In practice, we found in 1711.01288 that only the "backwards" disentangler leads to a speed-up - while we were able to reduce the entanglement further with the other disentanglers, they di...
by Johannes
22 Mar 2022, 00:06
Forum: HowTos and FAQ for TeNPy
Topic: parallel computing
Replies: 4
Views: 3250

Re: parallel computing

Hi Ling, sorry for the late reply!
Indeed, with your question I realized that we probably don't document this sufficiently.
I've just added a corresponding section in the simulation introduction.
Does that answer your questions?
by Johannes
21 Mar 2022, 22:26
Forum: HowTos and FAQ for TeNPy
Topic: How Do I Define New Operators in TenPy
Replies: 4
Views: 2829

Re: How Do I Define New Operators in TenPy

Thanks for the reply Jirawat! Your answer nicely explains how to add an onsite operator (given as a matrix) to a local site. Expanding on this, let me just mention that for a CouplingMPOModel it should often be enough to overwrite the init_sites method. A non-trivial example adding an operator P0 pr...
by Johannes
09 Feb 2022, 08:39
Forum: Algorithms
Topic: Problems with add_local_term and H.c
Replies: 1
Views: 7520

Re: Problems with add_local_term and H.c

This case wasn't tested properly, so a bug could sneak in... I've just fixed it in 72f79cce1f7dd04607027322763db2a6b80466e3 and added proper tests. The index error indicates that you didn't actually set the option explicit_plus_hc=True , otherwise it would not have occured... You need to do that as ...
by Johannes
09 Feb 2022, 07:19
Forum: Algorithms
Topic: Question about the Hamiltonian MPO
Replies: 1
Views: 5800

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

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

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

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

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

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

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

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

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

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

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

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

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

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