To-Do list¶
Primary goals for the coming release¶
finish documentation and tests on existing stuff
Concrete things to be fixed in different files¶
The MPO class has no function for expectation value with MPS
Since we switched to python 3 completely, there’s no need to subclass ‘object’ anymore.
npc.Array: comparison with ==, pickle, hashable?
MPS class: group_sites, split_sites, pad
MPS class: probability_per_charge, charge_variance
MPS class: string correlation function
To be done at some point for the next releases¶
remove this file: use GitHub issues instead
overview and usage introduction to the overall library
trace: allow multiple axes to be traced over; optimize
Summary of defined classes/functions at the beginning of a module in the reference
Inconsistency: NearestNeighborModel.H_bond with
bc_MPS='infinite'
has bonds[(L, 0), (0, 1), ...]
, butexpectation_value()
takes two-site operators on bonds[(0, 1), (1, 2), ...(L,0)]
.
Wish-list¶
logging mechanism?
Johannes Motruk: extend simulation class: save standard variables like entropy, energy, etc?
Ruben: extend MPS TransferMatrix class
Jakob: function for Arrays: Perfrom trace over multiple pairs of legs at once. Tracing one after the other calculates unnecessary “off-diagonal” elements.
Auto-generated To-Do list¶
The following list is auto-generated by sphinx, extracting .. todo ::
blocks from doc-strings of the code.
Todo
Write UserGuide!!!
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/tenpy/checkouts/v0.5.0/tenpy/algorithms/dmrg.py:docstring of tenpy.algorithms.dmrg, line 30.)
Todo
Rebuild TDVP engine as subclasses of sweep Do testing
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/tenpy/checkouts/v0.5.0/tenpy/algorithms/mps_sweeps.py:docstring of tenpy.algorithms.mps_sweeps, line 18.)
Todo
- implement or wrap netcon.m, a function to find optimal contractionn sequences
improve helpfulness of Warnings
_do_trace: trace over all pairs of legs at once. need the corresponding npc function first.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/tenpy/checkouts/v0.5.0/tenpy/algorithms/network_contractor.py:docstring of tenpy.algorithms.network_contractor, line 8.)
Todo
This is still a beta version, use with care. The interface might still change.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/tenpy/checkouts/v0.5.0/tenpy/algorithms/tdvp.py:docstring of tenpy.algorithms.tdvp, line 12.)
Todo
long-term: Much of the code is similar as in DMRG. To avoid too much duplicated code, we should have a general way to sweep through an MPS and updated one or two sites, used in both cases.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/tenpy/checkouts/v0.5.0/tenpy/algorithms/tdvp.py:docstring of tenpy.algorithms.tdvp, line 16.)
Todo
-add further terms (e.g. c^dagger c^dagger + h.c.) to the Hamiltonian.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/tenpy/checkouts/v0.5.0/tenpy/models/fermions_spinless.py:docstring of tenpy.models.fermions_spinless, line 3.)
Todo
WARNING: These models are still under development and not yet tested for correctness. Use at your own risk! Replicate known results to confirm models work correctly. Long term: implement different lattices. Long term: implement variable hopping strengths Jx, Jy.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/tenpy/checkouts/v0.5.0/tenpy/models/hofstadter.py:docstring of tenpy.models.hofstadter, line 3.)
Todo
make sure this function is used for expectation values…
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/tenpy/checkouts/v0.5.0/tenpy/models/lattice.py:docstring of tenpy.models.lattice.Honeycomb.mps2lat_values, line 69.)
Todo
this doesn’t fully work yet…
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/tenpy/checkouts/v0.5.0/tenpy/models/lattice.py:docstring of tenpy.models.lattice.IrregularLattice, line 4.)
Todo
make sure this function is used for expectation values…
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/tenpy/checkouts/v0.5.0/tenpy/models/lattice.py:docstring of tenpy.models.lattice.IrregularLattice.mps2lat_values, line 69.)
Todo
make sure this function is used for expectation values…
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/tenpy/checkouts/v0.5.0/tenpy/models/lattice.py:docstring of tenpy.models.lattice.Kagome.mps2lat_values, line 69.)
Todo
make sure this function is used for expectation values…
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/tenpy/checkouts/v0.5.0/tenpy/models/lattice.py:docstring of tenpy.models.lattice.Ladder.mps2lat_values, line 69.)
Todo
make sure this function is used for expectation values…
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/tenpy/checkouts/v0.5.0/tenpy/models/lattice.py:docstring of tenpy.models.lattice.Lattice.mps2lat_values, line 69.)
Todo
make sure this function is used for expectation values…
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/tenpy/checkouts/v0.5.0/tenpy/models/lattice.py:docstring of tenpy.models.lattice.TrivialLattice.mps2lat_values, line 69.)
Todo
implement MPO for time evolution…
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/tenpy/checkouts/v0.5.0/tenpy/models/model.py:docstring of tenpy.models.model.MPOModel, line 8.)
Todo
make sure this function is used for expectation values…
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/tenpy/checkouts/v0.5.0/tenpy/models/toric_code.py:docstring of tenpy.models.toric_code.DualSquare.mps2lat_values, line 69.)
Todo
might be useful to add a “cleanup” function which removes operators cancelling each other and/or unused states. Or better use a ‘compress’ of the MPO?
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/tenpy/checkouts/v0.5.0/tenpy/networks/mpo.py:docstring of tenpy.networks.mpo.MPOGraph, line 18.)
Todo
Make more general: it should be possible to specify states as strings.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/tenpy/checkouts/v0.5.0/tenpy/networks/mps.py:docstring of tenpy.networks.mps.build_initial_state, line 14.)
Todo
One can also look at the canonical ensembles by defining the conserved quantities differently, see Barthel (2016), arXiv:1607.01696 for details. Idea: usual charges on p, trivial charges on q; fix total charge to desired value. I think it should suffice to implement another from_infiniteT.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/tenpy/checkouts/v0.5.0/tenpy/networks/purification_mps.py:docstring of tenpy.networks.purification_mps, line 104.)
Todo
Check if Jordan-Wigner strings for 4x4 operators are correct.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/tenpy/checkouts/v0.5.0/tenpy/networks/site.py:docstring of tenpy.networks.site.SpinHalfFermionSite, line 62.)