Search found 422 matches
- 25 Oct 2023, 10:31
- Forum: HowTos and FAQ for TeNPy
- Topic: purification method for Fermi Hubbard model
- Replies: 1
- Views: 13883
Re: purification method for Fermi Hubbard model
I'm not sure why you say this. The from_infiniteT method should already work with other sites, including FermionSite or SpinHalfFermionSite. It's straightforward to adjust the purification.py example to use another model like e.g. the tenpy.models.fermions.FermionChain and measure N instead of Sz. T...
- 25 Oct 2023, 10:05
- Forum: HowTos and FAQ for TeNPy
- Topic: Fermion Sites From Two Samples
- Replies: 1
- Views: 13907
Re: Fermion Sites From Two Samples
You can still use the tenpy.networks.site.set_common_charges (the multi_sites_combine_charges is deprecated) to do that. If you specify new_charges='independent' , it does exactly what you're asking for: it conserves the total charge on the f1 sites separate from the one of the f2 site. I'm not sure...
- 25 Oct 2023, 09:24
- Forum: HowTos and FAQ for TeNPy
- Topic: How to model anisotropic exchange J, single-ion anisotropy and DMI for DMRG?
- Replies: 3
- Views: 18545
Re: How to model anisotropic exchange J, single-ion anisotropy and DMI for DMRG?
Not sure what your question is - you already have a loop over the coupling_axis , that you didn't include in your sample code. Just read out different model_params and explicitly use those instead of the plain J1/J2 for the various terms, e.g. def init_terms(self, model_params): Jxx = model_params.g...
- 25 Oct 2023, 09:08
- Forum: HowTos and FAQ for TeNPy
- Topic: Problemm calculating H bonds
- Replies: 3
- Views: 16090
Re: Problemm calculating H bonds
Indeed, by adding the extra spin site on the center, you get a next-nearest neighbor hopping, so you can't use a NearestNeighborModel anymore. There's two ways to proceed: 1) Drop the inheritance from the NearestNeighborModel to not generate the H_bond. This means you can't use TEBD anymore, but the...
- 23 Aug 2023, 15:32
- Forum: HowTos and FAQ for TeNPy
- Topic: Product of Operators
- Replies: 3
- Views: 17430
Re: Product of Operators
very naively, you can multiply out all the products such that you're left with a sum of terms, many of which are long-range. Less naively, you'd try to rewrite it in the nearest-neighbor version O_k = \prod_{\langle i, k\rangle} (1-n_i n_k ) B_k mentioned above, and multiply that out to get sums of...
- 22 Aug 2023, 07:14
- Forum: HowTos and FAQ for TeNPy
- Topic: Expectation value of an operator
- Replies: 1
- Views: 13202
Re: Expectation value of an operator
Ho did you get O(t)? Currently, I don't think there is TEBD code to Heisenberg-Evolve an operator - did you write that yourself? I presume you have O in the form of an MPO then? For a TeNPy MPO, it's simply expectation_value , e.g. E = H.expectation_value(psi) , or for finite systems MPOEnvironment(...
- 21 Aug 2023, 14:00
- Forum: HowTos and FAQ for TeNPy
- Topic: Product of Operators
- Replies: 3
- Views: 17430
Re: Product of Operators
At a glimplse, this looks horrible for DMRG, because each term is non-local, giving you an immense MPO bond dimension if you implement it naively. Do you have only those terms, i.e. is H=\left(\prod_{\langle i, j \rangle} (1-n_i n_j) \right) H^0 with a "usual" H^0 ? It looks like you're tr...
- 21 Aug 2023, 13:12
- Forum: HowTos and FAQ for TeNPy
- Topic: imaginary time evolution with TDVP
- Replies: 1
- Views: 5160
Re: imaginary time evolution with TDVP
That's currently not supported at the moment, as imaginary time evolution is generally much slower than variational methods like DMRG.
Why would you prefer TDVP over DMRG?
Why would you prefer TDVP over DMRG?
- 02 Aug 2023, 16:26
- Forum: HowTos and FAQ for TeNPy
- Topic: Particle Number Conservation in tJ model
- Replies: 1
- Views: 9130
Re: Particle Number Conservation in tJ model
The tenpy.models.tj_model.tJModel defines the options cons_N and cons_Sz - just set them as you need them, and make sure your initial state is in the charge sector you want - for the initial product state you wrote, you get average density of 2/4 = 1/2 and spin Sz=0. You can also easily define a cus...
- 02 Aug 2023, 15:30
- Forum: HowTos and FAQ for TeNPy
- Topic: How to use the 'sort_mpo_legs' feature
- Replies: 1
- Views: 5603
Re: How to use the 'sort_mpo_legs' feature
The MPO tensors in W are sparse, and without the 'sort_mpo_legs': True, we try to capture that, resulting in fewer small blocks for tensordots involving a H.get_W(i) rather than bigger blocks (as dictated by charge conservation). For this benchmark comparison, we wanted to compare "apples to ap...
- 02 Aug 2023, 15:15
- Forum: Algorithms
- Topic: How are periodic boundary conditions implemented?
- Replies: 3
- Views: 13476
Re: How are periodic boundary conditions implemented?
I learned the trick in private communications from Ian McCulloch several years back, but I'm also not sure who was the first to suggest/use it, sor I can't provide a reference...
- 17 Jul 2023, 16:57
- Forum: HowTos and FAQ for TeNPy
- Topic: Calculating Time Evolution Only Once
- Replies: 4
- Views: 8431
Re: Calculating Time Evolution Only Once
I'd always try to exploit "trivial" parallelization first, where you can just distribute jobs (say for different Hamiltonian parameters, or in your case different initial states) to different nodes on a cluster. If you can't do that because you're working on a local machine, keep it as ind...
- 17 Jul 2023, 16:31
- Forum: HowTos and FAQ for TeNPy
- Topic: DMRG on 2D triangular lattice for J1-J2 spin-1/2 model
- Replies: 1
- Views: 5341
Re: DMRG on 2D triangular lattice for J1-J2 spin-1/2 model
You need to be aware of symmetries in your system. The SU(2)-symmetric heisenberg interactions in particular preserve the total Sz spin, and the ferromagnetic all-up state (a) in your picture is an exact eigenstate. Hence, when you start from this state, DMRG just doens't update it - that's why your...
- 17 Jul 2023, 10:14
- Forum: HowTos and FAQ for TeNPy
- Topic: Calculating Time Evolution Only Once
- Replies: 4
- Views: 8431
Re: Calculating Time Evolution Only Once
I'm not sure if I understand your question correctly - do you suggest to write U(t) as an MPO? Unfortunately, it doesn't work that way. Writing down the full time evolution operator (say as an MPO) for large t is much more expensive than just applying it to a given state: it requires exponentiating ...
- 17 Jul 2023, 08:41
- Forum: Implementations
- Topic: Defining a New Operator when Inheriting CouplingMPOModel
- Replies: 1
- Views: 9345
Re: Defining a New Operator when Inheriting CouplingMPOModel
The issue here is that you directly pass the full Ladder instance in the model_params, which already has the site defined - hence the model doesn't call init_sites anymore. Try to use model_params = dict( lattice='Ladder', L=20, U=1., bc_MPS='finite' ) and overwrite init_lattice if you need to adjus...
- 20 Jun 2023, 18:26
- Forum: HowTos and FAQ for TeNPy
- Topic: Save evolution with hdf5
- Replies: 1
- Views: 1585
Re: Save evolution with hdf5
First of all, I would in general advise you to think about the extra amount of storage you need for this, and whether this is sensible, of whether it's easier to re-run the time evolution when you decide that you really need extra measurements. At least think about whether you want to save it at *ev...
- 20 Jun 2023, 10:09
- Forum: HowTos and FAQ for TeNPy
- Topic: state overlap(probability)
- Replies: 11
- Views: 8376
Re: state overlap(probability)
Just 'up'. I forgot to copy over corresponding line in the example, see the edit above
You can also put the index directly, if you know it - but be aware of the sorting of charges....
You can also put the index directly, if you know it - but be aware of the sorting of charges....
- 20 Jun 2023, 10:07
- Forum: HowTos and FAQ for TeNPy
- Topic: Infinite DMRG with conserved charges
- Replies: 2
- Views: 2281
Re: Infinite DMRG with conserved charges
Just to make sure I understand: when you say [b_i,b^\dagger_j]=i\delta_{ij} , was the i supposed to be there??? I guess not, correct? In the Hamiltonians you wrote, each b is acting on the same site j - I think you mean j, j+1 and j+2 (for 3 sites), correct? That said, in your models, you don't coup...
- 20 Jun 2023, 09:09
- Forum: HowTos and FAQ for TeNPy
- Topic: Question about poorly conditioned H matrix in KrylovBased
- Replies: 6
- Views: 2176
Re: Question about poorly conditioned H matrix in KrylovBased
1) What model are you actually using? The site you define has Sz conservation, which you can't use in the Toric code. 2) What intitial state are you using? Is H psi = 0 on that initial state? 3) What's the log output during the DMRG run? 4) Again, are your individual entanglement entropies larger th...
- 20 Jun 2023, 08:48
- Forum: HowTos and FAQ for TeNPy
- Topic: state overlap(probability)
- Replies: 11
- Views: 8376
Re: state overlap(probability)
at a single site only? Then I would suggest to just use apply_local_op with a local operator |x><x|, where x is the state you want to project on. def project_local(psi, i, state): site = psi.sites[i] P = np.zeros(site.dim) P[site.state_index(state)] = 1. proj = npc.diag(P, site.leg, labels=['p', 'p*...
- 16 Jun 2023, 09:04
- Forum: HowTos and FAQ for TeNPy
- Topic: How to add the resume from checkpoint in yaml file
- Replies: 2
- Views: 1307
Re: How to add the resume from checkpoint in yaml file
At the moment, you need to directly call the tenpy.resume_from_checkpoint function with the filename from where you want to resume the simulation. You can do this from the command line e.g. with python -c 'import tenpy; tenpy.resume_from_run("path_to_file.h5")' . See 269 for ToDo / progres...
- 16 Jun 2023, 08:37
- Forum: HowTos and FAQ for TeNPy
- Topic: How to obtain a more accurate charge-pumping in tenpy
- Replies: 1
- Views: 1676
Re: How to obtain a more accurate charge-pumping in tenpy
The chi_list forces DMRG to project to small bond dimension initially and the increase chi as specified with increasing number of sweeps. The idea is to gradually get close to the true ground state. When doing the charge pump, you want to adiabatically follow the ground state with as little change a...
- 16 Jun 2023, 08:16
- Forum: HowTos and FAQ for TeNPy
- Topic: Question about poorly conditioned H matrix in KrylovBased
- Replies: 6
- Views: 2176
Re: Question about poorly conditioned H matrix in KrylovBased
For you model: double-check that your hamiltonian is indeed hermitian assert model.H_MPO.is_equal(model.H_MPO.dagger()) - if you mess up adding the couplings, it might not be. To fully avoid the warning, you might need to start from a different initial state. In particular, I'd assume you start from...
- 01 Jun 2023, 15:20
- Forum: HowTos and FAQ for TeNPy
- Topic: How to adjust the 'N_sweeps_check' and 'update_env' parameters in Tenpy's idmrg calculation
- Replies: 2
- Views: 2082
Re: How to adjust the 'N_sweeps_check' and 'update_env' parameters in Tenpy's idmrg calculation
the N_sweeps_check defines how often you check for convergence and print the status output to the log. Many iDMRG runs need >100 sweeps to converge, but every sweep is much faster than comparable finite-size DMRG runs (since L_x_infinite ~1-2 << L_x_fininte ~ 50=200 for typical runs). Assuming that ...
- 31 May 2023, 09:20
- Forum: HowTos and FAQ for TeNPy
- Topic: Question about poorly conditioned H matrix in KrylovBased
- Replies: 6
- Views: 2176
Re: Question about poorly conditioned H matrix in KrylovBased
The "poorly conditioned H" is not an error message, it's a warning - telling you that there might be something wrong in your setup. The poorly conditioned H is often a hint for 1) your Hamiltonian not being hermitian or 2) the initial state/ some intermediate state being such that H |psi> ...