Skip to content

Restore accuracy truncation bound in 2.1.3 - #151

Merged
shinaoka merged 1 commit into
mainfrom
agent/restore-accuracy-bound-2.1.3
Aug 18, 2026
Merged

Restore accuracy truncation bound in 2.1.3#151
shinaoka merged 1 commit into
mainfrom
agent/restore-accuracy-bound-2.1.3

Conversation

@shinaoka

Copy link
Copy Markdown
Member

Summary

  • restore the SparseIR.jl 1.x meaning of accuracy: the relative first excluded singular value
  • retain the last-included fallback only when the full SVE has no excluded value
  • retain the full SVE singular values on SVEResult, as in the 1.x implementation
  • cover epsilon truncation, max_size truncation, and the no-excluded-value case
  • allow compatible libsparseir_jll 0.8.x and 0.9.x releases
  • bump SparseIR.jl to 2.1.3

Why

The current 2.x implementation returns the requested epsilon, rather than the achieved truncation bound. SparseIR.jl 1.x computed the bound from the first singular value excluded from the basis. This restores that behavior and aligns it with the Python fix in SpM-lab/sparse-ir#77.

Verification

  • Julia 1.12.5 with libsparseir_jll 0.8.4: 652 passed
  • targeted checks with the locally built sparse-ir-rs 0.9.0 backend: passed for epsilon truncation, max_size, and no-excluded-value cases
  • git diff --check

Release ordering

The package remains compatible with the existing 0.8.x JLL and accepts the upcoming 0.9.x JLL. This patch can therefore be tested with the current registered artifact while latest-backend CI covers sparse-ir-rs main.

@shinaoka
shinaoka merged commit 3d612e4 into main Aug 18, 2026
15 checks passed
@shinaoka
shinaoka deleted the agent/restore-accuracy-bound-2.1.3 branch August 18, 2026 12:01
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