Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Idea]: add support for the multivariate normal distribution #11

Open
kgryte opened this issue Jan 11, 2023 · 2 comments
Open

[Idea]: add support for the multivariate normal distribution #11

kgryte opened this issue Jan 11, 2023 · 2 comments
Labels
difficulty: 3 Likely to be challenging but manageable. idea Potential GSoC project idea. priority: high High priority. tech: javascript Involves programming in JavaScript. tech: nodejs Requires developing with Node.js.

Comments

@kgryte
Copy link
Member

kgryte commented Jan 11, 2023

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

@kgryte kgryte added idea Potential GSoC project idea. priority: high High priority. difficulty: 3 Likely to be challenging but manageable. tech: javascript Involves programming in JavaScript. tech: nodejs Requires developing with Node.js. labels Jan 11, 2023
@stdlib-js stdlib-js locked and limited conversation to collaborators Jan 11, 2023
@kgryte
Copy link
Member Author

kgryte commented Jan 30, 2024

@Planeshifter One of the main prerequisites here is the presence of ndarray linear algebra functionality, correct?

@Planeshifter
Copy link
Member

@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.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
difficulty: 3 Likely to be challenging but manageable. idea Potential GSoC project idea. priority: high High priority. tech: javascript Involves programming in JavaScript. tech: nodejs Requires developing with Node.js.
Projects
None yet
Development

No branches or pull requests

2 participants