ITensor / ITensor/ITensorMPS.jl

Make `apply` with single-site gate not change orthogonality

Open
#55 0 comments 0 reactions 1 assignee View on GitHub

@mtfishman is already working on this.

Since Feb 15, 2021.

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

Description

For apply with a single-site gate, i.e. apply(op("Sz", s, j), psi), currently it changes the orthogonality center with orthogonalize!(psi, j). However, for single-site gates this isn't necessary, since no truncation is needed and the orthogonality center can be changed later as needed.

Additionally, we could add a check in apply to see if a single-site gate is (approximately) unitary, which would be cheap. For multi-site gates you could do a similar check, but in general you want to truncate so the orthogonality center needs to be changed anyway. We could provide a user flag to specify the threshold that is desired for how approximately unitary a gate needs to be to be considered unitary.

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.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.