[Repo Assist] feat: expose QR decomposition with GramSchmidt and Householder method choice#370
Draft
github-actions[bot] wants to merge 2 commits intodeveloperfrom
Conversation
closes #317) Add FSharp.Stats.LinearAlgebra module with: - QRMethod discriminated union (Householder | GramSchmidt) - QR.decompose – method-dispatching entry point - QR.householder – Householder reflections (full QR, Q is m×m) - QR.gramSchmidt – modified Gram-Schmidt (thin QR, Q is m×n) The underlying algorithms come from FsMath.Algebra.LinearAlgebra (qrDecompose and qrModifiedGramSchmidt). This PR simply exposes them through a unified, discoverable FSharp.Stats API with clear doc-comments explaining the output dimension difference between the two methods. Added 10 tests: - A = Q*R round-trips for both methods on a square and a rectangular matrix - Q^T Q = I orthonormality checks - R upper-triangular checks - Dimension checks (thin Q for GramSchmidt, full Q for Householder) - decompose dispatch test 1209/1209 tests pass. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
25 tasks
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.
🤖 This is an automated PR from Repo Assist.
Closes #317
Problem
FSharp.Statshad no user-facing API for choosing the QR decomposition method. Users who wanted the Gram-Schmidt variant had to reach down intoFsMath.Algebra.LinearAlgebra.qrModifiedGramSchmidtdirectly, bypassing any FSharp.Stats documentation or discoverability.Solution
New
FSharp.Stats.LinearAlgebramodule with:QRMethod.HouseholderQRMethod.GramSchmidtQR.decompose method AQR.householder AQR.gramSchmidt AExample