Skip to content

[Idea]: Linear Algebra Functionality #28

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

Open
Planeshifter opened this issue Jan 12, 2023 · 1 comment
Open

[Idea]: Linear Algebra Functionality #28

Planeshifter opened this issue Jan 12, 2023 · 1 comment
Labels
difficulty: 5 Likely to be difficult to implement with several unknowns. idea Potential GSoC project idea. priority: normal Normal priority. tech: c Involves programming in C. tech: fortran Involves programming in Fortran. tech: javascript Involves programming in JavaScript. tech: nodejs Requires developing with Node.js.

Comments

@Planeshifter
Copy link
Member

Planeshifter commented Jan 12, 2023

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 Planeshifter added idea Potential GSoC project idea. priority: normal Normal priority. difficulty: 5 Likely to be difficult to implement with several unknowns. tech: javascript Involves programming in JavaScript. tech: c Involves programming in C. tech: nodejs Requires developing with Node.js. labels Jan 12, 2023
@kgryte kgryte added the tech: fortran Involves programming in Fortran. label Jan 13, 2023
@stdlib-js stdlib-js locked and limited conversation to collaborators Jan 13, 2023
@kgryte
Copy link
Member

kgryte commented Feb 15, 2025

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.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
difficulty: 5 Likely to be difficult to implement with several unknowns. idea Potential GSoC project idea. priority: normal Normal priority. tech: c Involves programming in C. tech: fortran Involves programming in Fortran. tech: javascript Involves programming in JavaScript. tech: nodejs Requires developing with Node.js.
Projects
None yet
Development

No branches or pull requests

2 participants