Skip to content

Remove explicit call to InfiniteMPS in VUMPS#396

Merged
lkdvos merged 12 commits intoQuantumKitHub:mainfrom
AFeuerpfeil:pr-styles-vumps
Mar 20, 2026
Merged

Remove explicit call to InfiniteMPS in VUMPS#396
lkdvos merged 12 commits intoQuantumKitHub:mainfrom
AFeuerpfeil:pr-styles-vumps

Conversation

@AFeuerpfeil
Copy link
Contributor

@AFeuerpfeil AFeuerpfeil commented Feb 28, 2026

I remove the explicit call to InfiniteMPS in VUMPS and instead use gaugefix! in the gauge_stetp!.

Copy link
Member

@lkdvos lkdvos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While I left a small comment on the implementation here, I think I would be happier with a more fundamental change where instead of the uniform gauge happening in the InfiniteMPS constructor, we actually use the dedicated function:
Something along the lines of:

gaugefix!(similar(it.state.mps), copy(it.state.AR), ...; kwargs...)

@AFeuerpfeil
Copy link
Contributor Author

Thanks for the recommendation!

@github-actions
Copy link
Contributor

github-actions bot commented Mar 2, 2026

Your PR no longer requires formatting changes. Thank you for your contribution!

@lkdvos
Copy link
Member

lkdvos commented Mar 2, 2026

Looks like the similar call is actually not sufficient as that does not allocate any of the tensors, I think copy is probably enough to fix this

@lkdvos lkdvos enabled auto-merge (squash) March 2, 2026 14:02
auto-merge was automatically disabled March 2, 2026 18:12

Head branch was pushed to by a user without write access

@lkdvos
Copy link
Member

lkdvos commented Mar 3, 2026

Just looked at this a bit more - the IDMRG2 failures are most likely because the spaces of the MPS are changing, so my proposed solution in terms of an in-place function doesn't work that straightforwardly, since gaugefix! really does assume all tensors are the correct sizes. I'm not entirely sure if there is an easy way around this, as we were using the constructor as a trick to bring the MPS tensors back into a compatible form after the IDMRG which is allowed to change it...

@AFeuerpfeil AFeuerpfeil changed the title Remove explicit call to InfiniteMPS in VUMPS and IDMRG Remove explicit call to InfiniteMPS in VUMPS Mar 4, 2026
@AFeuerpfeil
Copy link
Contributor Author

@lkdvos: I don't see a good solution right now for IDMRG. For the sake of pushing this through to do some tests with VUMPS I have reverted the changes to IDMRG.

@lkdvos
Copy link
Member

lkdvos commented Mar 4, 2026

(OK for me, though it seems like you haven't pushed that 😉 )

@AFeuerpfeil
Copy link
Contributor Author

I did push the IDMRG change, just messed up the commit message text with another commit. Therefore, it is called "format".
The test errors are due to VUMPS not converging for some reason. I do not really understand why.

@lkdvos
Copy link
Member

lkdvos commented Mar 20, 2026

I think I found the issue, let's see if this now works!

@codecov
Copy link

codecov bot commented Mar 20, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

Files with missing lines Coverage Δ
src/algorithms/groundstate/idmrg.jl 100.00% <100.00%> (ø)
src/algorithms/groundstate/vumps.jl 86.30% <100.00%> (+0.58%) ⬆️

... and 1 file with indirect coverage changes

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

@lkdvos lkdvos merged commit c44c556 into QuantumKitHub:main Mar 20, 2026
34 of 35 checks passed
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.

2 participants