Move to TensorAlgebra 0.11#184
Merged
Merged
Conversation
Bumps the TensorAlgebra compat bound to 0.11 (ITensor/TensorAlgebra.jl#181). ITensorBase uses none of the blocked-tuple types that release removes, so no code changes are needed.
matricize_nameddims now resolves its codomain/domain permutations through a local nameperm built on a local tuple_indexin, rather than the removed blockedperm_nameddims and TensorAlgebra's internal helpers. Drops the dead partial-fusion branch in matricize_nameddims, which only ever worked for the all-dims-specified case.
The ITensor inner constructor now collects the dimension names into a Vector{DimName} and checks that they are all distinct, throwing an ArgumentError otherwise. Duplicate dimension names leave operations like contraction and matricization ambiguous, so rejecting them at construction turns a confusing downstream failure into a clear one at the source. This is a breaking change, hence the minor bump.
The test and docs projects still pinned 0.10, which empties the workspace resolution against the 0.11 bound in the root project.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #184 +/- ##
=======================================
Coverage 71.14% 71.14%
=======================================
Files 28 28
Lines 1438 1428 -10
=======================================
- Hits 1023 1016 -7
+ Misses 415 412 -3
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
mtfishman
added a commit
to ITensor/ITensorNetworksNext.jl
that referenced
this pull request
Jun 24, 2026
## Summary Moves ITensorNetworksNext onto the TensorAlgebra 0.11 stack: bumps the TensorAlgebra compat bound to 0.11 (ITensor/TensorAlgebra.jl#181) and the ITensorBase compat bound to 0.8 (ITensor/ITensorBase.jl#184), the release that moves onto it. ITensorNetworksNext uses none of the removed blocked-tuple types and constructs no duplicate-named tensors, so no code changes are needed. This also supersedes #120, the CompatHelper bump for ITensorBase. --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Moves ITensorBase onto TensorAlgebra 0.11 (ITensor/TensorAlgebra.jl#181) and requires distinct dimension names when constructing an ITensor.
matricize_nameddimsresolves its codomain and domain permutations throughTensorAlgebra.biperm, the public group-locating helper from that release, in place of the removed blocked-permutation builders. The dead partial-fusion branch inmatricize_nameddims, which only ever worked when every dimension was assigned to a group, is dropped.The ITensor inner constructor now collects the dimension names into a
Vector{DimName}and requires them to be distinct, throwing otherwise. Duplicate dimension names leave contraction and matricization ambiguous, so rejecting them at construction surfaces the problem at the source rather than deep in a later operation. This behavior change is breaking, hence the minor bump to 0.8.0.