Multi-column matrix solve
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 42/100
Research direction
Start by locating the existing Rust solve implementation and its LAPACK dgesv binding. Extend the behavior from a vector right-hand side to an NxK matrix right-hand side, then verify that solving produces an NxK solution for multiple independent columns.
Written by the indexing model from the issue text.
Description
Solve currently implements Ax = b for known NxN matrix A and known N-dimensional vector b, resulting in a N-dimensional solution vector x. A common generalization is Ax = B for the same A, but with B now being a NxK dimensional matrix and x being solved as an NxK dimensional matrix itself.
This generalization is on one hand somewhat trivial as it can be performed via iterated solving for each of the K columns of B independently and could be reasonably implemented in Rust via that method. However, the LAPACK dgesv method already handles this generalization and thus it may be a small generalization of existing solving code to allow it.
As a practical application, this generalized solve is useful for computing Kalman filters where the optimal Kalman gain is computed as PH'/S where PH' is a full matrix whenever the observation space is multidimensional. While S is often well-behaved, it would be ideal to compute the gain via a solve routine as opposed to an invert-and-multiply.
- Dominant language
- Rust
- Stars
- 452
- Forks
- 95
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
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 rust-ndarray/ndarray-linalg
-
Thin SVD Open
Difficulty 5/5 Over a week Newbie friendliness 38/100
rust-ndarray/ndarray-linalg#414 ·
-
Difficulty 5/5 Over a week Newbie friendliness 30/100
rust-ndarray/ndarray-linalg#413 · 1 comment ·
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
rust-ndarray/ndarray-linalg#404 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
rust-ndarray/ndarray-linalg#402 · 1 comment ·
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
rust-ndarray/ndarray-linalg#401 · 2 reactions ·
All issues in rust-ndarray/ndarray-linalg
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
kwakseongjae/auto-hwp#319 ·
-
area:cli bug filter-quality good first issue priority:medium
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
Difficulty 1/5 Under an hour Newbie friendliness 72/100
bevyengine/bevy#25861 ·
-
comp-datalake
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
ClickHouse/ClickHouse#121222 ·
-
enhancement remote
Difficulty 2/5 1-3 hours Newbie friendliness 68/100