Pass correct off-diagonal length to SymTridiagonal in expT! call - #277
Open
KristofferC wants to merge 1 commit into
Open
Pass correct off-diagonal length to SymTridiagonal in expT! call#277KristofferC wants to merge 1 commit into
SymTridiagonal in expT! call#277KristofferC wants to merge 1 commit into
Conversation
The j×j Lanczos tridiagonal needs only β[1:j-1]; the extra β[j] was tolerated and ignored by SymTridiagonal, but Julia 1.14 throws a DimensionMismatch (JuliaLang/LinearAlgebra.jl#1569). The shorter form is accepted on all Julia versions. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
KristofferC
force-pushed
the
kc/symtridiagonal-ev-length
branch
from
August 31, 2026 12:36
3adcd7b to
b21f223
Compare
expT!SymTridiagonal in expT! call
ChrisRackauckas
approved these changes
Aug 31, 2026
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.
The Lanczos loop in the error-estimate variant of
expv!passes@view(β[1:j])toexpT!, one element more than thej×jtridiagonal needs —β[j]is the residual norm, not part ofT_j.SymTridiagonalused to ignore the extra element (LAPACK convention), but on Julia 1.14 it throwsDimensionMismatch(JuliaLang/LinearAlgebra.jl#1569), which currently breaks dependents in PkgEval at precompile time, e.g. FirstPassageTools and MRFingerprintingRecon.Passing
β[1:j-1]is accepted on all Julia versions (no compat bound changes needed, safe to backport), andexpT!only usesβthrough theSymTridiagonal, so behavior on ≤1.13 is unchanged.🤖 Generated with Claude Code