ITensor / ITensor/ITensorNetworks.jl

Wish list for `alternating_update`

Open
#115 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Julia
Stars
128
Forks
23
Avg merge
4d 7h
Merged PRs (30d)
7

Description

Algorithms we want to be able to implement with the alternating_update and BP code:

  • TNS addition (direct sum, density matrix, fitting, gauging)
  • TNS contraction (density matrix, fitting, gauging)
  • TNS compression (density matrix, fitting, gauging)
  • TNS eigensolving
  • TNS linear solving
  • TNS evolution with TDVP and gates
  • TNS METTS
  • TCI
  • Quantics optima
  • Non-quadratic optimization
  • Infinite TNS
  • Subspace expansion
  • Parallelization over regions

An initial goal will be to either implement these, or make it easy to implement these, through callback functions or function overloading, and have them work for MPS, TTN, and general tensor networks (at first using the BP approximation though allow an interface for customizing that). See also #112.

@emstoudenmire @JoeyT1994

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 alternating_update and BP interfaces, then read the related discussion in #112. The checklist spans many tensor-network algorithms and targets MPS, TTN, and general tensor networks, so first determine the intended callback or overloading design. Done means the requested algorithms are implemented or made straightforward to implement with a customizable BP interface.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.