Skip to content

Move to TensorAlgebra 0.11#184

Merged
mtfishman merged 5 commits into
mainfrom
mf/tensoralgebra-0.11
Jun 24, 2026
Merged

Move to TensorAlgebra 0.11#184
mtfishman merged 5 commits into
mainfrom
mf/tensoralgebra-0.11

Conversation

@mtfishman

@mtfishman mtfishman commented Jun 24, 2026

Copy link
Copy Markdown
Member

Summary

Moves ITensorBase onto TensorAlgebra 0.11 (ITensor/TensorAlgebra.jl#181) and requires distinct dimension names when constructing an ITensor.

matricize_nameddims resolves its codomain and domain permutations through TensorAlgebra.biperm, the public group-locating helper from that release, in place of the removed blocked-permutation builders. The dead partial-fusion branch in matricize_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.

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

codecov Bot commented Jun 24, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 71.14%. Comparing base (3082ca2) to head (eca0b21).
⚠️ Report is 1 commits behind head on main.

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     
Flag Coverage Δ
docs 16.33% <50.00%> (+0.36%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

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

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@mtfishman mtfishman changed the title [WIP] Move to TensorAlgebra 0.11 Move to TensorAlgebra 0.11 Jun 24, 2026
@mtfishman mtfishman marked this pull request as ready for review June 24, 2026 21:18
@mtfishman mtfishman enabled auto-merge (squash) June 24, 2026 21:18
@mtfishman mtfishman merged commit 705dcc2 into main Jun 24, 2026
25 of 28 checks passed
@mtfishman mtfishman deleted the mf/tensoralgebra-0.11 branch June 24, 2026 21:34
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>
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.

1 participant