google-summer-of-code icon indicating copy to clipboard operation
google-summer-of-code copied to clipboard

[Idea]: Linear Algebra Functionality

Open Planeshifter opened this issue 3 years ago • 1 comments

Idea

Currently, support for linear algebra operations in stdlib is limited. The goal of this idea would be to implement algorithms for linear algebra operations such as matrix multiplication, calculating the matrix inverse, eigenvalue calculation, singular value decomposition, Cholesky & LU Decomposition, and the like. This overlaps with the goal of increasing the amount of BLAS and LAPACK that is available in stdlib.

Expected Outcomes

stdlib will have extended support for linear algebra operations which can be used to solve problems involving matrices and vectors.

Involved Software

No other software should be necessary. However, we will need to do a needs analysis to determine which prerequisite packages/functionality is necessary in order to allow these operations to be implemented (e.g., BLAS, ndarray slicing, etc).

Prerequisite Knowledge

JavaScript, Node.js. C, Fortran. Familiarity with linear algebra would be very useful, as will need to consult and understand reference implementations.

Difficulty

Hard. Depends on the reference implementation requirements and algorithmic difficulty.

Project Length

350 hours.

Potential Mentors

@kgryte @Planeshifter @Pranavchiku @czgdp1807 @rreusser

Planeshifter avatar Jan 12 '23 22:01 Planeshifter

For anyone wanting to pursue this idea, you are advised to spend some time investigating what is currently implemented in blas/base/* and lapack/base/*. Whatever higher-level functionality you propose adding should take into account whether the project contains the necessary prerequisites, and, if the prerequisites are not present, you should describe and ideally demonstrate how you plan to address those gaps in order to unblock the development of higher order functionality.

kgryte avatar Feb 15 '25 06:02 kgryte