Skip to content

Use accelerative_smith_iteration! in eig_trunc_pullback! - #294

Merged
leburgel merged 2 commits into
mainfrom
lb/eig_trunc_pullback_smith
Oct 3, 2026
Merged

leburgel merged 2 commits into
mainfrom
lb/eig_trunc_pullback_smith

Conversation

@leburgel

@leburgel leburgel commented Oct 2, 2026 •

Copy link
Copy Markdown
Member

Stacked on #287, which introduces a dedicated helper for the doubling-iteration Sylvester solve.

Changes:

  • Replace the inline doubling loop with the shared _smith_iteration! helper, as already done for eigh_trunc_pullback! and svd_trunc_pullback! in Sum only one Neumann series in svd_trunc_pullback! #287.
  • Build APᴴ = A' - ViG * (V * D)' directly rather than AP, so the helper receives a plain matrix instead of an Adjoint, which avoids generic fallbacks on GPU.

Behavioural note: as for eigh_trunc_pullback! in #287, the first term APᴴ X₀ D̄⁻¹ is now also subject to the degeneracy_atol stopping test instead of always being added.

@leburgel
leburgel added this pull request to stack #295 October 2, 2026 07:01
@leburgel leburgel changed the title lb/eig trunc pullback smith Normalize eig_trunc_pullback! iteration by the smallest eigenvalue and use _smith_iteration! Oct 2, 2026
@leburgel
leburgel force-pushed the lb/eig_trunc_pullback_smith branch 2 times, most recently from d4fcb97 to ed6deee Compare October 2, 2026 17:04
@leburgel leburgel changed the title Normalize eig_trunc_pullback! iteration by the smallest eigenvalue and use _smith_iteration! Use accelerative_smith_iteration! in eig_trunc_pullback! Oct 2, 2026
@leburgel
leburgel marked this pull request as ready for review October 2, 2026 17:27
Base automatically changed from lb/onesided_svd_trunc_pullback to main October 2, 2026 18:02
@lkdvos

lkdvos commented Oct 2, 2026

Copy link
Copy Markdown
Member

@leburgel that rebase didn't seem to work :p I have to say that I'm not yet fully convinced by this github feature 😆

@leburgel
leburgel force-pushed the lb/eig_trunc_pullback_smith branch from ed6deee to d0455b9 Compare October 2, 2026 19:57
@leburgel

leburgel commented Oct 2, 2026

Copy link
Copy Markdown
Member Author

I was lied to...

@Jutho

Jutho commented Oct 2, 2026

Copy link
Copy Markdown
Member

Any way we can run the tests?

@leburgel
leburgel merged commit 371ee1d into main Oct 3, 2026
46 of 47 checks passed
@leburgel
leburgel deleted the lb/eig_trunc_pullback_smith branch October 3, 2026 05:39
@codecov

codecov Bot commented Oct 3, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

Files with missing lines Coverage Δ
src/pullbacks/eig.jl 94.31% <100.00%> (+0.74%) ⬆️

... and 7 files with indirect coverage changes

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

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.

3 participants