Search found 429 matches
- 27 Jan 2023, 15:22
- Forum: Algorithms
- Topic: How are periodic boundary conditions implemented?
- Replies: 3
- Views: 17410
Re: How are periodic boundary conditions implemented?
Indeed, the MPS is always an open line where a cut of a single virtual leg always divides it into left and right parts - otherwise, the canonical form isometry conditions wouldn't go through e.g. for local expectation values or optimal truncation. When you use infinite MPS, the Model formally has &q...
- 26 Jan 2023, 18:25
- Forum: HowTos and FAQ for TeNPy
- Topic: norm attribute when doing compress_svd()
- Replies: 2
- Views: 3126
Re: norm attribute when doing compress_svd()
Sorry for the slow response. I've answered the 165 rather extensively, I hope that clarifies things. If the operator you apply is not exactly unitary, it is to be expected that it changes the norm, isn't it? But you can indeed manually reset psi.norm = 1 by hand if needed. The norm is only relevant ...
- 26 Jan 2023, 17:36
- Forum: HowTos and FAQ for TeNPy
- Topic: Expected speedups for Sz or parity conservation in qc simulations
- Replies: 2
- Views: 18504
Re: Expected speedups for Sz or parity conservation in qc simulations
In general yes, using Sz or parity conservation can speed up calculations. The actual speedup depends on the number and sizes of symmetry sectors in the tensors - it comes from the fact that the tensors have a block-diagonal form. Parity conservation divides a tensor into 2 subsectors, leading to a ...
- 08 Nov 2022, 09:35
- Forum: HowTos and FAQ for TeNPy
- Topic: Asking about how to calculate expectation values after TDVP evolution
- Replies: 6
- Views: 4306
Re: Asking about how to calculate expectation values after TDVP evolution
A Haar random state has (almost) maximal entanglement and can thus *not* be compressed into an MPS (for large system sizes without significant truncation). If you have a given Haar random state, you could try to convert it to a np_conserved Array and then into an MPS (without charge conservation, so...
- 07 Nov 2022, 16:30
- Forum: HowTos and FAQ for TeNPy
- Topic: Applying an iMPO to an iMPS
- Replies: 2
- Views: 2351
Re: Applying an iMPO to an iMPS
The issue lies in different scalings with system size and hence definitions for overlaps that are not what you expect naively. For infinite MPS, the overlap is formally 0, 1, or infinite, and as such not very usefull. Instead, MPS.overlap returns the "overlap per unit cell", to be precise ...
- 07 Nov 2022, 10:35
- Forum: HowTos and FAQ for TeNPy
- Topic: ExpMPOEvolution.run() vs. update()
- Replies: 2
- Views: 3328
Re: ExpMPOEvolution.run() vs. update()
The latter is the recommended way to do a time evolution. You can find the corresponding loop in the source code of the RealTimeEvolution Simulation class in the run_algorithm method.
- 07 Nov 2022, 10:26
- Forum: HowTos and FAQ for TeNPy
- Topic: Asking about how to calculate expectation values after TDVP evolution
- Replies: 6
- Views: 4306
Re: Asking about how to calculate expectation values after TDVP evolution
This is really standard arguments from quantum mechanics: You can use Sz conseration, if [H,S^z] = 0 , where S^z = \sum_i S^z_i . In that case, you *choose* to work in fixed magnetization sectors and write an initial state with S^z |\psi_0\rangle = m \hbar | \psi_0 \rangle , where m\in \mathbb{R} is...
- 04 Nov 2022, 17:22
- Forum: HowTos and FAQ for TeNPy
- Topic: How to add Jordan-Wigner strings on the left sites of an operator?
- Replies: 1
- Views: 2552
- 04 Nov 2022, 17:21
- Forum: HowTos and FAQ for TeNPy
- Topic: MPO-MPS contraction using apply
- Replies: 1
- Views: 2286
Re: MPO-MPS contraction using apply
Sorry that I couldn't answer earlier, I'd been swamped with other things to finish. You're on the right track, but had some convention issue along the way: First, in TeNPy, the convention is that Jordan Wigner strings extend to the left, not to the right. The MPO you wrote down generates \sum_i \alp...
- 04 Nov 2022, 17:03
- Forum: HowTos and FAQ for TeNPy
- Topic: Apply MPO to another MPO
- Replies: 1
- Views: 2068
Re: Apply MPO to another MPO
This is not supported at this point. It's also not quite trivial especially in the case of infinite MPS, since MPOs are often extensive (scaling with L), and multiplying them can give you something quadratic in L.
- 04 Nov 2022, 15:54
- Forum: HowTos and FAQ for TeNPy
- Topic: Bose-Hubbard Model Single Particle Excitation Gap
- Replies: 2
- Views: 3027
Re: Bose-Hubbard Model Single Particle Excitation Gap
Thanks for the suggestion, this is indeed the way to go here. See e.g. arXiv:cond-mat/9906019 for details.
- 04 Nov 2022, 15:45
- Forum: HowTos and FAQ for TeNPy
- Topic: Trouble installing tenpy
- Replies: 2
- Views: 2306
Re: Trouble installing tenpy
On personal laptops, I'd recommend to download anaconda and install the corresponding conda package, then you don't need any build tool yourself.
Note that the latest version 0.9 is by now over a year old, I'll release a new version either today or on Monday....
Note that the latest version 0.9 is by now over a year old, I'll release a new version either today or on Monday....
- 04 Nov 2022, 15:42
- Forum: HowTos and FAQ for TeNPy
- Topic: Asking about how to calculate expectation values after TDVP evolution
- Replies: 6
- Views: 4306
Re: Asking about how to calculate expectation values after TDVP evolution
The XXZ chain by default turns on Sz conservation. Hence, there is no operator 'Sx' or 'Sy', because they don't conserve the Sz charge. Due to Sz conservation, you immediately know that expectation values of Sx and Sy are zero. See also this FAQ question However, note that the correlations <Sx_i Sx_...
- 04 Nov 2022, 15:03
- Forum: HowTos and FAQ for TeNPy
- Topic: Comparing Wave Functions with Different Charge Infos
- Replies: 1
- Views: 2076
Re: Comparing Wave Functions with Different Charge Infos
The Array class has the methods drop_charge and change_charge . What's missing is functions to do this for each tensor in an MPS (or similarly, an MPO). You could do something along the following snippet: def MPS_drop_charge(psi, charge=None, chinfo=None, permute_p_leg=True): psi_c = psi.copy() psi_...
- 04 Nov 2022, 14:22
- Forum: HowTos and FAQ for TeNPy
- Topic: unable to change the model parameters from the command line
- Replies: 2
- Views: 2738
Re: unable to change the model parameters from the command line
This should be fixed in the latest github version. I'll release a new version 0.10 (that can be installed with pip/conda) shortly. (Sorry, I didn't update the official releases for over a year, so there have a few fixes accumulated....)
- 04 Nov 2022, 14:18
- Forum: HowTos and FAQ for TeNPy
- Topic: TDVP time evolution with interaction / onsite state probability
- Replies: 4
- Views: 17792
Re: TDVP time evolution with interaction / onsite state probability
It seems that you use Sz conservation, such that there is no operator 'Sx' or 'Sy', because they don't conserve the Sz charge. Since you model (and hence state) conserve Sz, you immediately know that expectation values of Sx and Sy are zero.
See also this FAQ question
See also this FAQ question
- 27 Oct 2022, 16:03
- Forum: Implementations
- Topic: Different time two point correlator at finite temperature.
- Replies: 2
- Views: 12722
Re: Different time two point correlator at finite temperature.
Yes, this looks correct. The line M_tebd = models.model.NearestNeighborModel.from_MPOModel(M) is not really necessary, the Model which you have already is a NearestNeighborModel defining H_bond, so there's no need to create a new model here. In fact, you don't need to define the XXZchainnew here at ...
- 22 Sep 2022, 09:09
- Forum: HowTos and FAQ for TeNPy
- Topic: 01_dmrg.ipynb but with periodic boundary conditions
- Replies: 2
- Views: 3327
Re: 01_dmrg.ipynb but with periodic boundary conditions
Indeed, the issue is that the periodic boundary conditions induce a long-range coupling in the model. (The MPS is still open, but I think you already got this.) You don't even need to define a custom model, since there is also the tenpy.models.tf_ising.TFIModel , which is the same as the TFIChain ex...
- 31 Aug 2022, 09:40
- Forum: HowTos and FAQ for TeNPy
- Topic: Linking MKL issue in window 11
- Replies: 1
- Views: 2195
Re: Linking MKL issue in window 11
Looks like it's installed correctly, even if HAVE_MKL was not set on compile time. It's able to load the compiled parts, so no need to worry, all good! If TeNPy is compiled without HAVE_MKL, it falls back to the BLAS functioncs of numpy and scipy, and as fas as I know, numpy+scipy on Windows actuall...
- 31 Aug 2022, 09:32
- Forum: HowTos and FAQ for TeNPy
- Topic: Varying Lattice Spacing
- Replies: 2
- Views: 2653
Re: Varying Lattice Spacing
If the "long range" coupling has a finite range, i.e. you put a cutoff of say 5 sites or so, and don't include any coupling afterwards, you can indeed just call add_exponentially_decaying_coupling a bunch of times with corresponding distances. If you want a "true" long range coup...
- 31 Aug 2022, 08:38
- Forum: HowTos and FAQ for TeNPy
- Topic: Why does my SSH model not working
- Replies: 1
- Views: 2387
Re: Why does my SSH model not working
You're using a FermionChain. As the name suggests, the FermionChain has as local sites the tenpy.networks.site.FermionSite . This site doesn't define "up" or "down" states, but only "full" and "empty" states. Try to adjust the initial product state to be e.g. ...
- 17 Aug 2022, 16:49
- Forum: Implementations
- Topic: Implementing TEBD of open quantum chain in TenPy.
- Replies: 2
- Views: 11952
Re: Implementing TEBD of open quantum chain in TenPy.
Hi Sourav, cool, great to hear that you want to implement this in TeNPy! There's different ways to implement Lindblad evolution, so before we discuss TeNPy, we should maybe discuss a bit which way you want to implement it, and it's probably much easier to do this over zoom. I'll contact you by email...
- 17 Aug 2022, 15:39
- Forum: HowTos and FAQ for TeNPy
- Topic: Converting MPS to State Vector
- Replies: 2
- Views: 3782
Re: Converting MPS to State Vector
Formally yes , you can do it by just contracting all the tensors of the MPS, leaving the physical legs open. Depending on your preferred form, you might want to combine the L physical legs of dimension d into a single, big leg of dimension dim(\mathcal{H})= d^L , but this is essentially just a resh...
- 10 Aug 2022, 16:30
- Forum: HowTos and FAQ for TeNPy
- Topic: Regarding Two point correlation function in TenPy
- Replies: 2
- Views: 3214
Re: Regarding Two point correlation function in TenPy
In general, you should probably do this for one j in the center of your chain only and write this as C(t) = \langle \psi_0 | e^{i H t} S^z_i e^{-iHt} S^z_j | \psi_0 \rangle = \langle \psi(t) | S^z_i | \phi(t) \rangle, \quad \text{where} \quad |\psi(t) \rangle = e^{-iHt} |\psi_0 \rangle \text{~and~} ...
- 10 Aug 2022, 16:08
- Forum: HowTos and FAQ for TeNPy
- Topic: UserWarnings differ for identical initializations when run several times
- Replies: 1
- Views: 2961
Re: UserWarnings differ for identical initializations when run several times
That's expected behaviour given the implmentation of these warnings. The engine does use the options, but only once you actually time evolve the state with eng.run() . This stems from the convention that options only need to be read out by the time when they are actually used: depending on previousl...