Search found 436 matches
- 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: 941
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...
- 27 May 2024, 15:51
- Forum: HowTos and FAQ for TeNPy
- Topic: Calculating Purity of PurificationMPS
- Replies: 1
- Views: 848
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...
- 27 May 2024, 10:34
- Forum: HowTos and FAQ for TeNPy
- Topic: Purification for Finite Temperature Simulations
- Replies: 2
- Views: 958
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...
- 27 May 2024, 10:33
- Forum: HowTos and FAQ for TeNPy
- Topic: How to define a infiniteT MPS under canonical ensemble
- Replies: 5
- Views: 9493
Re: How to define a infiniteT MPS under canonical ensemble
The fix is here: PR #414
- 27 May 2024, 09:16
- Forum: HowTos and FAQ for TeNPy
- Topic: How to define a infiniteT MPS under canonical ensemble
- Replies: 5
- Views: 9493
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...
- 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: 922
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...
- 27 May 2024, 08:39
- Forum: HowTos and FAQ for TeNPy
- Topic: How to use MPS.from_Bflat
- Replies: 3
- Views: 984
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.
If you want to compare 1:1, you need to compare finite MPS on PBC to ED on PBC, as I explained above.
- 13 May 2024, 05:25
- Forum: HowTos and FAQ for TeNPy
- Topic: How to use MPS.from_Bflat
- Replies: 3
- Views: 984
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 ...
- 08 May 2024, 14:15
- Forum: HowTos and FAQ for TeNPy
- Topic: Implementing iDMRG for ladder lattices
- Replies: 2
- Views: 1703
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...
- 08 May 2024, 14:04
- Forum: HowTos and FAQ for TeNPy
- Topic: Implementing iDMRG for ladder lattices
- Replies: 2
- Views: 1703
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 ...
- 07 May 2024, 09:53
- Forum: Algorithms
- Topic: Gate-based TEBD
- Replies: 1
- Views: 2446
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...
- 07 May 2024, 08:11
- Forum: HowTos and FAQ for TeNPy
- Topic: Issue with Missing Subscripts on Fermionic Operators in all_coupling_terms().to_TermList() Output
- Replies: 4
- Views: 1867
Re: Issue with Missing Subscripts on Fermionic Operators in all_coupling_terms().to_TermList() Output
I've quickly fixed that formatting to include brackets in 9739ac3a4e26cbbfada009ec6bef6c3d7286a0a8
- 07 May 2024, 07:57
- Forum: HowTos and FAQ for TeNPy
- Topic: Issue with Missing Subscripts on Fermionic Operators in all_coupling_terms().to_TermList() Output
- Replies: 4
- Views: 1867
Re: Issue with Missing Subscripts on Fermionic Operators in all_coupling_terms().to_TermList() Output
The subscript notation is a bit misleading here, because it suggests that it only applies to the next operator. Really, you should read those operators to be grouped like this: 1.00000 * (Cdd Cu)_0 (Cdu Cd)_1 + 1.00000 * (Cdd Cu)_1 (Cdu Cd)_2 + 1.00000 * (Cdd Cu)_2 (Cdu Cd)_3 + 1.00000 * (Cdd Cu)_3 ...
- 07 May 2024, 07:43
- Forum: HowTos and FAQ for TeNPy
- Topic: Applying different time evolution to different subsystems with TEBD
- Replies: 2
- Views: 30083
Re: Applying different time evolution to different subsystems with TEBD
Jakob is totally right, of course. Let me just mention that it wouldn't be too hard to extend TEBD to work with this. Define a new LadderTEBDEngine, which takes the two models as input, and define 2 separate TEBD engines for them. Then overwrite: def evolve(...): # start with site order # A0 B0 A1 B...
- 16 Apr 2024, 10:15
- Forum: HowTos and FAQ for TeNPy
- Topic: Transfer matrix is incorrect without imposing canonical form
- Replies: 1
- Views: 17053
Re: Transfer matrix is incorrect without imposing canonical form
If you need to_matrix, why don't you implement that function directly on the existing transfer matrix? To get a consistent result, all tensor which you extract *need* to be in the same canonical form, e.g. all right-canonical 'B' form. After a plain DMRG run (without a call of psi.canonical_form() i...
- 10 Apr 2024, 17:42
- Forum: HowTos and FAQ for TeNPy
- Topic: How can I construct a canonical infinite-temperature state with fixed total number of fermions ?
- Replies: 1
- Views: 53802
Re: How can I construct a canonical infinite-temperature state with fixed total number of fermions ?
I guess the answer is a bit late, but for those finding this in the future: it should just work like this: In [10]: M = tenpy.FermiHubbardModel(dict(L=10, cons_Sz='Sz', cons_N='N')) In [11]: M.lat.unit_cell[0].leg.chinfo Out[11]: ChargeInfo([1, 1], ['N', '2*Sz']) In [12]: psi = tenpy.PurificationMPS...
- 10 Apr 2024, 17:29
- Forum: HowTos and FAQ for TeNPy
- Topic: Three-site fermionic operator in systems of spinless fermions
- Replies: 1
- Views: 12879
Re: Three-site fermionic operator in systems of spinless fermions
The error comes because you try to add a term with 3 fermionic operators - this would require an open Jordan wigner string when mapping to spins, and thus be a non-local operator. More generally, you can't write physical Hamiltonians with an odd number of fermionic operators, because they violate lo...
- 10 Apr 2024, 17:04
- Forum: HowTos and FAQ for TeNPy
- Topic: The EE is different for different initial setup
- Replies: 1
- Views: 52463
Re: The EE is different for different initial setup
This is equivalent to the Su-Schrieffer-Heger (SSH) chain, which has a topolgical phase with edge modes. Given that your filename starts with ssh_, I assume you're familiar with that. the XXZChan has Sz conservation by default. That means if you fix the initial state to be in a particular Sz charge ...
- 10 Apr 2024, 16:50
- Forum: HowTos and FAQ for TeNPy
- Topic: Asimmetry in trivial 2D expansion using TDVP
- Replies: 2
- Views: 42015
Re: Asimmetry in trivial 2D expansion using TDVP
This reminds me of one of my first work on tensor networks, 1509.00696 - using back then new W_II method that we now have in the ExpMPOEvolution in TeNPy :-) While the Hamiltonian is symmetric under exchange of x/y, the MPS snaking through the square lattice explicitly breaks it - hopping in y-direc...
- 10 Apr 2024, 16:16
- Forum: HowTos and FAQ for TeNPy
- Topic: Strange timing data for DMRG applied to Fermi-Hubbard model
- Replies: 1
- Views: 12845
Re: Strange timing data for DMRG applied to Fermi-Hubbard model
To reliably benchmark DMRG, I recommend to pin the number of sweeps by setting min_sweeps=max_sweeps to some fixed number - the total run time is just proportional to the number of sweeps, and how many sweeps it does can sometimes depend on subtle differences in convergence thresholds. Indeed, your ...
- 10 Apr 2024, 15:42
- Forum: HowTos and FAQ for TeNPy
- Topic: How to improve calculation accuracy in real time evolution ?
- Replies: 1
- Views: 12772
Re: How to improve calculation accuracy in real time evolution ?
Tenpy also tries to solve the schrlödinger equation... I guess you compared to exact evolution for a non-interacting system, or exact diagonalization? TDVP does the time evolution with the effective Hamiltonian, i.e. H projected onto the local single-site/two-site MPO. If you have only bond dimensio...
- 10 Apr 2024, 15:17
- Forum: HowTos and FAQ for TeNPy
- Topic: Compressing an MPO
- Replies: 1
- Views: 12881
Re: Compressing an MPO
At the moment, we don't have this implemented in TeNPy. For finite MPS and small enough systems, you can indeed do this with a simple SVD compression. But for larger and in particular infinite MPS/MPOs, there's some subtleties in doing this, because the MPO is in a Jordan-block form. See 1909.06341 ...
- 10 Apr 2024, 15:11
- Forum: HowTos and FAQ for TeNPy
- Topic: Correlators using iDMRG
- Replies: 1
- Views: 12521
Re: Correlators using iDMRG
Yes, even if the MPS unit cell is 2, you can have correlations in the MPS way beyond those 2 sites. You can for example call correlation_function with sites2=range(50) to calculate correlations up to site 50, or term_correlation_function_right . And yes, you can also extract the central charge by a ...
- 10 Apr 2024, 15:00
- Forum: HowTos and FAQ for TeNPy
- Topic: Tensor network implementations for transformers and LLMs
- Replies: 1
- Views: 12653
Re: Tensor network implementations for transformers and LLMs
No. TeNPy is focusing on the simulation of condensed matter physics.
- 10 Apr 2024, 14:58
- Forum: HowTos and FAQ for TeNPy
- Topic: How to add couplings correctly for iDMRG?
- Replies: 1
- Views: 12793
Re: How to add couplings correctly for iDMRG?
First of all, let me clarify, also for those finding this question later: The system purely 1D / we ignore the y direction, right? I.e. when we talk about periodic boundary conditions, we don't talk about wrapping things on a cylinder or torus or plane, but about a chain (open boundary conditions, O...