Better in-place LU factorization
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 30/100
Direzione di ricerca
Start by inspecting the existing factorize_into API and the LU factorization implementation. Compare the proposed reusable pivot-buffer and release APIs with current ownership and allocation behavior; done means repeated factorization can reuse the array and pivot storage without unnecessary allocation.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Currently the method factorize_into still allocates a vector for the pivots. This seems normal, but I would like an api where there is no allocation at all. Here is one possibility
impl LuFactorized {
//updates factorization. Will resize (and therefore allocate) if neccessary.
fn factorize(&mut self, array: &ArrayBase)
}
The other (in my opinion even more useful) api is something like this:
fn factorize(array: ArrayBase, pivot_buffer: Option<Pivot>) -> LuFactorized
impl LuFactorized {
fn release(self) -> (ArrayBase, Pivot)
}
The second api is useful for the following use case
{
let mut repeatedly_used_view = get_mut_view();
let mut pivot_buffer : Option<Pivot> = None;
loop {
fill_with_info(&mut repeatedly_used_view)
let lu_factorization=factorize(repeatedly_used_view, pivot_buffer)
// use lu_factorization to solve stuff
//...
if converged {
break;
}
let pair = lu_factorization.release();
repeatedly_used_view = pair.0;
pivot_buffer = Some(pair.1);
}
}
- 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
-
Thin SVD Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 38/100
rust-ndarray/ndarray-linalg#414 ·
-
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 ·
Tutte le issue di rust-ndarray/ndarray-linalg
Issue simili
-
bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
yantrikos/yantrik-os#255 ·
-
Replayed reasoning items send "content": null, which the Responses API schema does not permit Apertabug CLI custom-model
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
raphamorim/rio#1956 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
rust-bitcoin/rust-bitcoin#6930 · 1 commento ·