[Feature Request] QR Matrix Decomposition using Gram-Schmidt
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- fsharp
- Domain
- tooling
Research direction
Start by locating the existing Householder-based QR decomposition entry point in the FSharp.Stats repository and reviewing its API and tests, since no specific files are named. Determine how an option for Gram-Schmidt should expose the differing Q and R dimensions, then add coverage demonstrating both methods and their expected matrix shapes.
Written by the indexing model from the issue text.
Description
Introduce an option to utilize the Gram-Schmidt process for QR matrix decomposition alongside the existing Householder transformation method. This would allow users to choose the decomposition method based on their specific requirements, providing flexibility and potentially improving the overall usability of the library.
The Gram-Schmidt process and the Householder transformation are both methods used for QR matrix decomposition, but they differ in their computational approach and resulting matrix dimensions:
-
Gram-Schmidt Process:
- Input: An $( m \times n $) matrix, where $m$ is the number of rows and $n$ is the number of columns.
- Output: Two matrices $Q$ and $R$, where $Q$ is an $m \times n$ orthogonal matrix (i.e., $Q^TQ = I$) and $R$ is an $n \times n$ upper triangular matrix.
-
Householder Transformation:
- Input: An $m \times n$ matrix, where $m$ is the number of rows and $n$ is the number of columns.
- Output: Two matrices $Q$ and $R$, where $Q$ is an $m \times m$ orthogonal matrix (i.e., $Q^TQ = I$) and $R$ is an $m \times n$ upper triangular matrix.
In summary, the main difference lies in the dimensions of the orthogonal matrix $Q$: Gram-Schmidt produces an $m \times n$ orthogonal matrix, while the Householder transformation yields an $m \times m$ orthogonal matrix.
- Dominant language
- F#
- Stars
- 228
- Forks
- 58
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 1
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from fslaborg/FSharp.Stats
-
Documentation
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
fslaborg/FSharp.Stats#385 · 2 comments ·
-
agentic-workflows
Difficulty 3/5 1-2 days Newbie friendliness 42/100
fslaborg/FSharp.Stats#394 ·
-
agentic-workflows
Difficulty 3/5 1-2 days Newbie friendliness 35/100
fslaborg/FSharp.Stats#393 ·
-
agentic-workflows
Difficulty 4/5 3-5 days Newbie friendliness 45/100
fslaborg/FSharp.Stats#391 ·
-
automation Documentation repo-assist
Difficulty 4/5 3-5 days Newbie friendliness 20/100
fslaborg/FSharp.Stats#390 ·
All issues in fslaborg/FSharp.Stats
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
aicell-lab/bioengine#232 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
zerocracy/judges-action#2729 ·
Maintainers usually reply within 8 days
-
agent/scanner bug hive/hosted-available-lke648397-260827-5n31
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
jbaruch/speaker-toolkit#480 ·
Maintainers usually reply within 1 day
-
dependencies feature github_actions good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
wemake-services/wemake-django-template#3149 ·
Maintainers usually reply within 1 day