Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incorrect reverse bool value after the InfiniteMPS copy function #87

Open
tingyu-gao opened this issue Jul 29, 2024 · 4 comments
Open

Comments

@tingyu-gao
Copy link

Description of bug

copy produces a wrong reverse value for an infinite MPS.

Minimal code demonstrating the bug or unexpected behavior

using ITensorInfiniteMPS

initstate(n) = isodd(n) ? "" : ""
s = infsiteinds("S=1/2", 2; initstate)
ψ = InfMPS(s, initstate)

Cᴿ = reverse.C)
println("Is reversed? ", Cᴿ.reverse)
println("Is reversed after copy? ", copy(Cᴿ).reverse)

Expected output or behavior

Two true output lines.

Actual output or behavior

Is reversed? true
Is reversed after copy? false

Version information

  • Output from versioninfo():
julia> versioninfo()
Julia Version 1.7.1
Commit ac5cc99908 (2021-12-22 19:35 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: AMD EPYC 9634 84-Core Processor
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-12.0.1 (ORCJIT, znver3)
Environment:
  JULIA_NUM_THREADS = 4
  • Output from using Pkg; Pkg.status("ITensors"):
julia> using Pkg; Pkg.status("ITensors")
      Status `~/.julia/environments/v1.7/Project.toml`
  [9136182c] ITensors v0.3.68
      Status `~/.julia/environments/v1.7/Project.toml`
  [1dc1fb26] ITensorInfiniteMPS v0.1.0 `https://github.com/mtfishman/ITensorInfiniteMPS.jl.git#main`
@LHerviou
Copy link
Contributor

Sorry for the long delay of response.
This package is in a bit of hiatus as I am (and others also) waiting for the rewriting of the core of ITensors before putting back more work into it.

Thanks for the bug report.

@mtfishman
Copy link
Member

mtfishman commented Sep 24, 2024

@LHerviou I don't think any rewrites going on in ITensors.jl/NDTensors.jl would affect the design of this package. Some of the unit cell tag logic may get incorporated more generally/systematically into ITensors.jl/ITensorNetworks.jl but that is more speculative and longer term, i.e. not under active development right now (for example see this issue: ITensor/ITensors.jl#1524, which can be implemented in a non-breaking way). Additionally, some of the subspace expansion/null space logic will get moved to ITensors.jl/ITensorNetworks.jl but that would just act to simplify this package. Most of the changes we are planning are non-breaking, and we will put off breaking changes as much as possible. Just clarifying in case there was some confusion about development plans of the ITensor ecosystem and how it relates to the design of this package.

@LHerviou
Copy link
Contributor

LHerviou commented Sep 24, 2024

@mtfishman Thanks for the precision! I am also justifying my procrastination (and my working on other projects for now) tbh.
Good to hear it in any case, I was planning to go back to the package as soon as my current non-Abelian projects are done (depending on some fundings).

The issue you mention is also interesting.

@mtfishman
Copy link
Member

mtfishman commented Sep 24, 2024

No worries, I also haven't had time to work on this package recently, as I'm sure you've noticed. I just wanted to make sure there weren't any misconceptions about our broader development plans in the ITensor ecosystem.

EDIT: Also, interesting to hear that you are working on projects involving non-Abelian symmetries, you may already know but we are working on supporting that in ITensor, though I don't know the exact timeline for when it will be ready.

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

No branches or pull requests

3 participants