Thin SVD
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 38/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- rust
- Ambito
- backend-api-design, performance
Direzione di ricerca
Start by reading lax/src/svd.rs, especially the SvdWork implementation and the documented LAPACK operation table, then compare the entry point in lax/src/lib.rs with the SVD trait in ndarray-linalg/src/svd.rs. Determine how the gesvdx-based thin or economy SVD should fit the existing API; done means the capability is implemented and its supported operation documentation is updated.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
I was studying PICARD (a faster version of ICA than "FastICA") and saw some mention of various types of SVD, which I'm already familiar with. One of the variants was "thin" SVD. I can see that there are other libs that save computation by only computing this "thin" variant and I was wondering if maybe ndarray-linalg could too.
I did a search of the code earlier and saw no mention of it, I'm curious if it'd be worth developing.
My understanding is that there are separate LAPACK functions/instructions you'd use for 'economy'/'thin' SVD, gesvdx being the relevant one
-
Intel docs on
gesvdkxhttps://www.intel.com/content/www/us/en/docs/onemkl/developer-reference-c/2023-0/gesvdx.html- note the x part is what differs from the others already implemented, i.e. what makes it 'thin'
For reference I am interested in its use in whitening in this crate
svdfunction: https://github.com/rust-ndarray/ndarray-linalg/blob/49e964be06c830a04442e48e0f9a89d2000bbbd1/lax/src/lib.rs#L422-L437SvdWorkstruct: https://github.com/rust-ndarray/ndarray-linalg/blob/49e964be06c830a04442e48e0f9a89d2000bbbd1/lax/src/svd.rs#L15SVDtrait: https://github.com/rust-ndarray/ndarray-linalg/blob/49e964be06c830a04442e48e0f9a89d2000bbbd1/ndarray-linalg/src/svd.rs#L8-L19
So two things I see there are that
- there's this line saying it is unimplemented
- there's this comment making v clear which LAPACK instructions are supported
and (from right to left in that table)
I'd be interested in this but for now just pointing out where the relevant parts of code are, have not dug deeper! 👍
- Lingua principale
- Rust
- Stelle
- 452
- Fork
- 95
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di rust-ndarray/ndarray-linalg
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
rust-ndarray/ndarray-linalg#413 · 1 commento ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
rust-ndarray/ndarray-linalg#404 ·
-
SIGSEGV on qr decomposition Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
rust-ndarray/ndarray-linalg#402 · 1 commento ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
rust-ndarray/ndarray-linalg#401 · 2 reazioni ·
-
Add RQ decomposition Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
rust-ndarray/ndarray-linalg#398 ·
Tutte le issue di rust-ndarray/ndarray-linalg
Issue simili
-
bug github_actions
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
registrystack/registry-stack#1393 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
longbridge/gpui-kit#3223 ·
-
bug engine
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
rocky-data/rocky#2181 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
oasisprotocol/oasis-sdk#2523 ·
-
[indexer] [QA] Add a focused test for the new NonRetryableError / assertSocketAlive() behavior. Apertabot:ai-assisted component:indexer QA-roadmap status:untriaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
midnightntwrk/midnight-indexer#1557 ·