Scans and reduction functions
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
Direzione di ricerca
Inizia con la issue correlata #3339, quindi esamina la semantica proposta per fold_left, fold_right, reduce e scan e i riferimenti collegati sugli algoritmi paralleli. Prima dell’implementazione, chiarisci quali funzioni Stan dovrebbe supportare e quali sono i relativi requisiti di API e valutazione; il lavoro è completato quando l’ambito è concordato e le funzioni selezionate sono implementate in modo coerente.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Related to #3339, there are also common higher-order functions that return a different type than their input.
Some common options are:
fold_left(F, T, ...) => f(f(f(f(T[0], T[1]), T[2]), ...), T[3])(sometimes, rather than starting at T[0], an extra 'init' argument is passed)fold_right, which is the same idea but with the opposite associationf(T[0], f(T[1], ...f(T[N], init)))reduce, which is defined such that it is equivalent to the above when thefis associative but does not explicitly state an order of evaluation. The cool thing aboutreduceis it can be parallelized, c.f.foldlandfoldrConsidered Slightly Harmful, and More Fun with Moniodsscan, which returns a cumulative evaluationscan(f, T, ...) => [T[1], f(T[1], T[2]), f(f(T[1], T[2]), T3), ...]. Note thatscancan also be parallelized when f is associative, c.f. Prefix Sums and their Applications. (Note: even thoughreduce(f, T, ...) == scan(f, T, ...)[N], the ideal parallelization algorithms actually differ)
There are other functions of questionable value to Stan in this family, like folding_map which returns both a carry and a mapped container (this is, confusingly, what JAX calls scan. Scans a-la Blelloch as described above are called associative_scan in JAX)
- Lingua principale
- C++
- Stelle
- 845
- Fork
- 225
- Merge medio
- 3g 9h
- PR unite (30g)
- 12
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
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 stan-dev/math
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 54/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 54/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
I maintainer di solito rispondono entro 1 giorno
-
numerics performance
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
stan-dev/math#3481 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
`eigendecompose_sym`, `eigenvalues_sym` and `eigenvectors_sym` do not compile for complex matrices of `fvar<var>` or `fvar<fvar<double>>`Forse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Apertabug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
stan-dev/math#3477 · 5 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di stan-dev/math
Issue simili
-
Upstream changes to reviewAperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
rhalbersma/xstd-ints#395 ·
I maintainer di solito rispondono entro 1 giorno
-
[Bug] Root filesystem scope (/) incorrectly rejects all descendant pathsForse già presa @mugenkyou l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
neutralinojs/neutralino.js#304 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
FuSa
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
tenstorrent/tt-umd#3851 ·
I maintainer di solito rispondono entro 3 giorni
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
mattgodbolt/zindex#67 ·
I maintainer di solito rispondono entro 1 giorno