Skip to content

Remove the matricize axis-fusion sub-interface#188

Merged
mtfishman merged 4 commits into
mainfrom
mf/matricize-inline-axes
Jun 29, 2026
Merged

Remove the matricize axis-fusion sub-interface#188
mtfishman merged 4 commits into
mainfrom
mf/matricize-inline-axes

Conversation

@mtfishman

@mtfishman mtfishman commented Jun 28, 2026

Copy link
Copy Markdown
Member

Summary

The dense matricize (ReshapeFusion) now reshapes to the products of the codomain and domain dimension sizes inline, instead of routing through the generic matricize_axes/fused_axis/tensor_product_axis/trivial_axis sub-interface. That interface existed only to let fusion compose across array types, threaded with a Val{:codomain}/Val{:domain} side argument, and it no longer has a live consumer: the graded path was migrated to compute its axes directly in ITensor/GradedArrays.jl#188.

This removes matricize_axes, fused_axis, tensor_product_axis, trivial_axis, and tensor_product_fusionstyle. trivialrange stays, as a separate type-level identity range unrelated to the matricize fold. The removal is breaking: older GradedArrays releases extended the sub-interface, so this goes out as a minor release.

Also drops the deprecated consumers BlockSparseArrays, DiagonalArrays, FusionTensors, KroneckerArrays, and NamedDimsArrays from the integration test matrix, since they will not track this breaking change. The live consumers GradedArrays, ITensorBase, ITensorNetworksNext, and SparseArraysBase stay.

@codecov

codecov Bot commented Jun 28, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 82.39%. Comparing base (6180458) to head (77afc92).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #188      +/-   ##
==========================================
+ Coverage   79.52%   82.39%   +2.86%     
==========================================
  Files          22       22              
  Lines         669      619      -50     
==========================================
- Hits          532      510      -22     
+ Misses        137      109      -28     
Flag Coverage Δ
docs 29.24% <100.00%> (-0.27%) ⬇️

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.

mtfishman and others added 4 commits June 28, 2026 20:48
The dense `matricize` (`ReshapeFusion`) now computes its fused row and column axes inline from the bipartitioned axes, instead of routing through the generic `matricize_axes`/`fused_axis`/`tensor_product_axis`/`trivial_axis` sub-interface. That interface existed only to let fusion compose across array types, threaded with a `Val{:codomain}`/`Val{:domain}` side argument, and it no longer has a live consumer: the graded path was migrated to compute its axes directly in ITensor/GradedArrays.jl#188.

This removes `matricize_axes`, `fused_axis`, `tensor_product_axis`, `trivial_axis`, and `tensor_product_fusionstyle`. `trivialrange` stays, as a separate type-level identity range unrelated to the matricize fold. The removal is breaking: older GradedArrays releases extended the sub-interface, so this goes out as a minor release.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Read the codomain and domain extents straight off `size(a)` and reshape to their products, rather than folding lengths over the bipartitioned axes. `prod` of an empty group is 1, so the scalar codomain or domain case falls out without a guard.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The `test`, `docs`, and `examples` subprojects pin the in-repo `TensorAlgebra` through a path source, so their `[compat]` has to admit the new version. Move it from `0.12` to `0.13`.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
`BlockSparseArrays`, `DiagonalArrays`, `FusionTensors`, `KroneckerArrays`, and `NamedDimsArrays` are deprecated and will not track this breaking change, so testing against them no longer adds signal. Keep the live consumers `GradedArrays`, `ITensorBase`, `ITensorNetworksNext`, and `SparseArraysBase`.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@mtfishman mtfishman force-pushed the mf/matricize-inline-axes branch from cf5f492 to 77afc92 Compare June 29, 2026 00:50
@mtfishman mtfishman enabled auto-merge (squash) June 29, 2026 00:51
@mtfishman mtfishman merged commit 546fa59 into main Jun 29, 2026
22 checks passed
@mtfishman mtfishman deleted the mf/matricize-inline-axes branch June 29, 2026 01:13
mtfishman added a commit to ITensor/GradedArrays.jl that referenced this pull request Jun 29, 2026
Widens the `TensorAlgebra` compat to admit 0.13. GradedArrays computes its matricize axes inline and no longer uses the axis-fusion sub-interface that 0.13 removes (ITensor/TensorAlgebra.jl#188), so it works with both 0.12 and 0.13.

Also drops the deprecated `FusionTensors` from the integration test matrix.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
mtfishman added a commit to ITensor/ITensorBase.jl that referenced this pull request Jun 29, 2026
Widens the `TensorAlgebra` compat to admit 0.13. ITensorBase does not use the axis-fusion sub-interface that 0.13 removes (ITensor/TensorAlgebra.jl#188), so it works with both 0.12 and 0.13.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
mtfishman added a commit to ITensor/SparseArraysBase.jl that referenced this pull request Jun 29, 2026
## Summary

Widens the `TensorAlgebra` compat to admit 0.13. The
`SparseArraysBaseTensorAlgebraExt` does not use the axis-fusion
sub-interface that 0.13 removes
(ITensor/TensorAlgebra.jl#188), so admitting it
is a compat-only change.

Also drops the deprecated consumers `BlockSparseArrays`,
`DiagonalArrays`, and `FusionTensors` from the integration test matrix,
keeping `GradedArrays`.

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
mtfishman added a commit to ITensor/ITensorBase.jl that referenced this pull request Jun 29, 2026
## Summary

Widens the `TensorAlgebra` compat to admit 0.13. ITensorBase does not
use the axis-fusion sub-interface that 0.13 removes
(ITensor/TensorAlgebra.jl#188), so admitting it
is a compat-only change.

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
mtfishman added a commit to ITensor/GradedArrays.jl that referenced this pull request Jun 29, 2026
## Summary

Widens the `TensorAlgebra` compat to admit 0.13. GradedArrays computes
its matricize axes inline and does not use the axis-fusion sub-interface
that 0.13 removes
(ITensor/TensorAlgebra.jl#188), so admitting it
is a compat-only change.

Also drops the deprecated `FusionTensors` from the integration test
matrix.

---------

Co-authored-by: Claude Opus 4.8 (1M context) <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