Update version number and julia_compat to 1.14 - #810
Merged
Merged
Conversation
`qr(A)' \ b` and `ldiv!(x, qr(A)', b)` now solve the underdetermined system `A'x = b` for a tall `A`, returning the minimum-norm solution. With `A[prow, pcol] == Q*R` we have `A' == Pcol*R'*Q'*Prow`, so the solve is a forward substitution with `R'` followed by a multiplication by `Q`, reusing the same permutations, workspace and lock as the existing `ldiv!`. Free variables are zeroed to select the minimum-norm solution, which also drops the equations that the leading rank block of `R` cannot represent when `A` is rank deficient. Wide `A` is rejected with the same `DimensionMismatch` that dense QR throws, since solving the resulting overdetermined system needs a factorization of `A'` rather than of `A`. This also fixes `A' \ b` and `transpose(A) \ b` for non-square sparse `A`, which routed through the missing method and threw a `MethodError`. Fixes #656. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CSC6hQqcWDvAuvdkXJstBM
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #810 +/- ##
=======================================
Coverage 92.54% 92.54%
=======================================
Files 12 12
Lines 8503 8563 +60
=======================================
+ Hits 7869 7925 +56
- Misses 634 638 +4 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Member
|
Was the first commit here accidentally added? It doesn't seem to have anything to do with the PR title? |
Member
Author
|
Yes, it seems like it. Some branches and state got messed up. I thought I had it straightened out. |
Member
Author
This was referenced Sep 11, 2026
Member
Author
Member
Author
ViralBShah
added a commit
that referenced
this pull request
Sep 11, 2026
#810 was meant to only bump the version and julia compat to 1.14, but it was accidentally based on the branch of #804 and squash-merged with the "Solve with the adjoint of a sparse QR factorization" change included (see #810 (comment)). This reverts the `src/solvers/spqr.jl` and `test/spqr.jl` portion of a248d20 so that #804 can be reviewed and merged on its own. The `Project.toml` bump is kept. Both files are restored byte-for-byte to their state before a248d20, and `test/spqr.jl` passes locally on the 1.14-DEV build. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01RFzXKGsJuSogARQpDGipPr Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
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.
No description provided.