Skip to content

Add Neighborhood Tensor Update (NTU)#144

Open
Yue-Zhengyuan wants to merge 9 commits intoQuantumKitHub:masterfrom
Yue-Zhengyuan:bondenv-ntu
Open

Add Neighborhood Tensor Update (NTU)#144
Yue-Zhengyuan wants to merge 9 commits intoQuantumKitHub:masterfrom
Yue-Zhengyuan:bondenv-ntu

Conversation

@Yue-Zhengyuan
Copy link
Copy Markdown
Member

@Yue-Zhengyuan Yue-Zhengyuan commented Feb 27, 2025

(Finally, after being delayed for over a year)


This PR adds the Neighborhood Tensor Update (NTU, arXiv 2107.06635), which works for both iPEPS and iPEPO, and supports nearest neighbor 2-site gates and arbitrary MPO gates (in particular, the next-nearest neighbor 3-site MPO).

When truncating a bond after applying a time evolution gate, the NTU uses some neighboring tensors as the bond environment, instead of using only a few bond weights (simple update) of the full iPEPS approximated by CTM (full update), "interpolating" between the two extremes. Currently the NN, NN+ and NNN bond environments (see description in the YASTN package) are implemented.

Here I do not provide a version of time_evolve for ground state search. Since the state virtual space may change during the evolution, it is a bit tricky to keep track of it and reconverge the CTMRG environment for energy measurement.

@codecov
Copy link
Copy Markdown

codecov bot commented Feb 27, 2025

Codecov Report

❌ Patch coverage is 91.66667% with 31 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/algorithms/time_evolution/ntupdate.jl 77.21% 18 Missing ⚠️
src/operators/localcircuit.jl 84.72% 11 Missing ⚠️
src/algorithms/contractions/bondenv/benv_tools.jl 95.00% 2 Missing ⚠️
Files with missing lines Coverage Δ
src/PEPSKit.jl 100.00% <ø> (ø)
src/algorithms/contractions/bondenv/als_solve.jl 100.00% <100.00%> (ø)
src/algorithms/contractions/bondenv/benv_ctm.jl 100.00% <100.00%> (ø)
src/algorithms/contractions/bondenv/benv_ntu.jl 100.00% <100.00%> (ø)
src/algorithms/contractions/bondenv/gaugefix.jl 100.00% <100.00%> (ø)
src/algorithms/time_evolution/apply_mpo.jl 100.00% <100.00%> (ø)
src/algorithms/time_evolution/ntupdate3site.jl 100.00% <100.00%> (ø)
src/algorithms/time_evolution/simpleupdate.jl 95.93% <100.00%> (+0.73%) ⬆️
src/algorithms/time_evolution/trotter_gate.jl 100.00% <ø> (+12.06%) ⬆️
src/algorithms/truncation/bond_truncation.jl 97.26% <100.00%> (+2.52%) ⬆️
... and 5 more

... and 5 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@Yue-Zhengyuan Yue-Zhengyuan marked this pull request as ready for review May 7, 2025 02:58
@Yue-Zhengyuan Yue-Zhengyuan marked this pull request as draft May 26, 2025 03:37
@lkdvos lkdvos force-pushed the master branch 2 times, most recently from ad4945f to 37ace4c Compare June 13, 2025 12:14
@Yue-Zhengyuan Yue-Zhengyuan changed the title Add NTU bond environments Add Neighborhood Tensor Update (NTU) Oct 24, 2025
@Yue-Zhengyuan Yue-Zhengyuan self-assigned this Nov 12, 2025
@Yue-Zhengyuan Yue-Zhengyuan force-pushed the bondenv-ntu branch 2 times, most recently from 85d2c44 to ecbbee4 Compare November 30, 2025 01:56
@Yue-Zhengyuan Yue-Zhengyuan reopened this Apr 8, 2026
@Yue-Zhengyuan Yue-Zhengyuan marked this pull request as ready for review April 8, 2026 08:39
@Yue-Zhengyuan
Copy link
Copy Markdown
Member Author

Some commits are based on #348, #349.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant