ITensor / ITensor/ITensorMPS.jl

Reuse Projected Hamiltonian Tensors

Open
#34 9 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Julia
Stars
85
Forks
27
Avg merge
22m
Merged PRs (30d)
1

Description

It occurs to me the current setup of using TDVP has a major inefficiency: after calling the tdvp function on a given timestep, for the next timestep the exact same MPS that was returned is often reused as the starting state for the next timestep. This means that many of the "environment" tensors representing the Hamiltonian projected into the MPS basis are being recomputed two times when they could be computed just once.

Some solutions could be:

  • enable saving the projection tensors and passing them back to the algorithm each time
  • making a second, higher-level interface where one specifies the total time value and then that code runs TDVP where a certain amount of time evolution is done each nsweeps sweeps

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the tdvp function and trace how the projected Hamiltonian environment tensors are built across successive timesteps. Compare the two proposed approaches in the issue, and consider the work complete when a returned MPS can be reused without recomputing identical projection tensors.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
performance
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.