Skip to content

[WIP] Support lazily conjugated graded arrays - #295

Draft
mtfishman wants to merge 11 commits into
mainfrom
mf/conjarray-contract
Draft

mtfishman wants to merge 11 commits into
mainfrom
mf/conjarray-contract

Conversation

@mtfishman

@mtfishman mtfishman commented Nov 4, 2026 •

Copy link
Copy Markdown
Member

Summary

Supports lazily conjugated graded arrays (conjed, from ITensor/TensorAlgebra.jl#245), so a conjugated operand contracts, broadcasts and allocates like the eager conjugate, fermion signs included.

TODO

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ts squared norm

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@codecov

codecov Bot commented Nov 4, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 81.81818% with 4 lines in your changes missing coverage. Please review.
✅ Project coverage is 80.28%. Comparing base (eceb349) to head (e8cbe2a).

Files with missing lines Patch % Lines
src/conjgradedarray.jl 77.77% 4 Missing ⚠️

❗ There is a different number of reports uploaded between BASE (eceb349) and HEAD (e8cbe2a). Click for more details.

HEAD has 13 uploads less than BASE
Flag BASE (eceb349) HEAD (e8cbe2a)
docs 4 1
11 1
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #295      +/-   ##
==========================================
- Coverage   85.80%   80.28%   -5.53%     
==========================================
  Files          40       40              
  Lines        2847     2841       -6     
==========================================
- Hits         2443     2281     -162     
- Misses        404      560     +156     
Flag Coverage Δ
docs 16.51% <0.00%> (-0.10%) ⬇️

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 5.5 <noreply@anthropic.com>
@mtfishman mtfishman changed the title [WIP] Support lazily conjugated operands in graded contraction [WIP] Support lazily conjugated graded arrays Nov 4, 2026
mtfishman and others added 8 commits November 4, 2026 17:44
A lazily conjugated right operand reaches the kernel as its parent with op2 = conj, whose axes have the opposite duality, so the twist decision has to look at the conjugated axes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The conjugate of a fermionic graded array carries per-block signs, which a plain fill of the parent would drop.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…jugate

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
An elementwise reduction of a graded array depends on the basis, so it errors instead of dropping the fermion signs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A lazy conjugate forwards its reductions to its parent, so this covers it as well.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…njugate

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
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