Open kgryte opened 1 year ago
@Planeshifter One of the main prerequisites here is the presence of ndarray linear algebra functionality, correct?
@kgryte Yes; not exactly sure off top of my head what functions will be required for the various distribution functions, but e.g. matrix multiplication, matrix inverse / Cholesky decomposition, and extracting a diagonal matrix come to mind.
Idea
The goal of this idea is to implement the multivariate normal distribution. This distribution is fundamental in a wide variety of statistical applications and will help unblock stdlib in offering additional statistics APIs.
As a starting point, SciPy's multivariate normal distribution API and implementation could provide a suitable point of reference:
Expected Outcomes
Users will be able to evaluate the PDF, CDF, logPDF, and logCDF and be able to draw random variates from a specified distribution.
Involved Software
No other software is necessary. Will require reading reference implementations written in Python, R, and Julia.
Prerequisite Knowledge
JavaScript, Node.js.
Difficulty
Intermediate.
Project Length
175/350 hours. Can be scoped accordingly. A skilled contributor should be able to complete in 175 hours with the potential of using their implementation to implement higher order statistics APIs.
Potential Mentors
@kgryte @Planeshifter @Pranavchiku