To-Do list
You can check https://github.com/tenpy/tenpy/issues for things to be done.
The following list is auto-generated by sphinx, extracting .. todo ::
blocks from doc-strings of the code.
Todo
This is still under development and lacks rigorous tests.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/tenpy/checkouts/v1.0.4/tenpy/algorithms/algorithm.py:docstring of tenpy.algorithms.algorithm.TimeDependentHAlgorithm, line 19.)
Todo
- implement or wrap netcon.m, a function to find optimal contraction sequences
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/tenpy/checkouts/v1.0.4/tenpy/algorithms/network_contractor.py:docstring of tenpy.algorithms.network_contractor, line 8.)
Todo
extend code to infinite MPS
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/tenpy/checkouts/v1.0.4/tenpy/algorithms/tdvp.py:docstring of tenpy.algorithms.tdvp, line 27.)
Todo
allow for increasing bond dimension in SingleSiteTDVPEngine, similar to DMRG Mixer
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/tenpy/checkouts/v1.0.4/tenpy/algorithms/tdvp.py:docstring of tenpy.algorithms.tdvp, line 30.)
Todo
To use use_eig_based_svd == True, which makes sense on GPU only, we need to implement the _eig_based_svd for “non-square” matrices. This means that \(M^{\dagger} M\) and \(M M^{\dagger}\) dont have the same size, and we need to disregard those eigenvectors of the larger one, that have eigenvalue zero, since we dont have corresponding eigenvalues of the smaller one.
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/tenpy/checkouts/v1.0.4/tenpy/algorithms/tebd.py:docstring of tenpy.algorithms.tebd.QRBasedTEBDEngine, line 5.)
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/v1.0.4/tenpy/models/fermions_spinless.py:docstring of tenpy.models.fermions_spinless, line 3.)
Todo
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/v1.0.4/tenpy/models/hofstadter.py:docstring of tenpy.models.hofstadter, line 3.)
Todo
This is a naive, expensive implementation contracting the full network. Try to follow arXiv:1711.01104 for a better estimate; would that even work in the infinite limit?
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/tenpy/checkouts/v1.0.4/tenpy/networks/mpo.py:docstring of tenpy.networks.mpo.MPO.variance, line 5.)
Todo
Right now, for infinite/long range it just limits the number of iterations. In general, we could calculate the exact $X = C + CA + CAA +…$ with the geometric series by solving the set of linear equation $ X(1-A) = C$ for X, (and analogously $(1-A)X = B$ for the right environment RP).
(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/tenpy/checkouts/v1.0.4/tenpy/networks/mpo.py:docstring of tenpy.networks.mpo.MPOEnvironment.init_LP, line 22.)
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/v1.0.4/tenpy/networks/mpo.py:docstring of tenpy.networks.mpo.MPOGraph, line 17.)
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/v1.0.4/tenpy/networks/mps.py:docstring of tenpy.networks.mps.build_initial_state, line 14.)