ITensor / ITensor/ITensorNetworks.jl

Verify consistency of implementation of `ProjOuterProdTTN` with `ProjTTN`

Open
#134 0 comments 0 reactions 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

In #132, the functionality of representing an operator of the format O=A|v><v|A^dag is introduced with ProjOuterProdTTN, which should behave consistent with ProjTTN for a general operator W. This type supersedes ProjTTNApply which was designed to give access to environments of A|b>, with A::AbstractTTN,B::AbstractTTN projected into the n-site tangent-space of another psi:AbstractTTN (the latter being the one which is usually optimized, e.g. in the case of variational compression of A|b>). The original functionality of ProjTTNApply is available for ProjOuterProdTTN via contract_ket instead of the usual contract.
Going forward, it should be checked whether the definitions and functions of ProjOuterProdTTN are designed transparently, or whether there are logical inconsistencies inherited from the design of ProjTTNApply. Furthermore, tests should be added as to whether complex arguments are handled properly (current tests are performed on real-valued AbstractTTN as input).
It would make sense to adress this together with #133.

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 by comparing the definitions and functions of ProjOuterProdTTN with ProjTTN, then review ProjTTNApply and the contract_ket path for inherited inconsistencies. Add coverage for complex-valued AbstractTTN inputs and verify behavior against the existing real-valued tests, coordinating scope with issue #133.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
backend
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.