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

The first step in facilitating BLAS integration into stdlib: add a solve function #709

Closed
zoziha opened this issue May 6, 2023 · 1 comment
Labels
idea Proposition of an idea and opening an issue to discuss it

Comments

@zoziha
Copy link
Contributor

zoziha commented May 6, 2023

Motivation

Fortran arrays have a natural advantage in linear algebra, but unfortunately, stdlib currently does not integrate any high-level function implementation based on BLAS, LAPACK interfaces, such as det, solve, inv. For Fortran users, this is frustrating. Obviously we can use LAPACK directly, but stdlib's motivation is to be the math library that can catch up with numpy, and linear algebra is essential.
(I understand that this may not be a purely technical issue, it may involve consensus and norms.)

I'd like to start by trying to link openblas in stdlib (numpy gives preference to openblas and mkl) and show you that we are enthusiastic about BLAS. Maybe it won't succeed directly, but I'll still try to implement linalg.solve like numpy.

solve is not computationally efficient: There are two array assignments before _gesv is called, which takes a bit of time for large arrays, but is good for ease of use.
Also, since this is the first time LAPACK is encapsulated, there is no assertion on the return value info, so discussion is welcome.

Prior Art

Additional Information

No response

@zoziha zoziha added the idea Proposition of an idea and opening an issue to discuss it label May 6, 2023
@zoziha zoziha mentioned this issue May 6, 2023
7 tasks
@jvdp1
Copy link
Member

jvdp1 commented Dec 25, 2023

Related to #749

@zoziha zoziha closed this as completed May 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
idea Proposition of an idea and opening an issue to discuss it
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants