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

[RFC]: add LAPACK routines #2464

Open
Pranavchiku opened this issue Jun 26, 2024 · 6 comments · May be fixed by #2812
Open

[RFC]: add LAPACK routines #2464

Pranavchiku opened this issue Jun 26, 2024 · 6 comments · May be fixed by #2812
Labels
Accepted RFC feature request which has been accepted. BLAS Issue or pull request related to Basic Linear Algebra Subprograms (BLAS). C Issue involves or relates to C. difficulty: 4 Likely to be moderately difficult. Fortran Issue involves or relates to Fortran. JavaScript Issue involves or relates to JavaScript. LAPACK Issue or pull request related to the Linear Algebra Package (LAPACK). priority: Normal Normal priority concern or feature request. RFC Request for comments. Feature requests and proposed changes. Tracking Issue Tracking issue.

Comments

@Pranavchiku
Copy link
Member

Pranavchiku commented Jun 26, 2024

Description

This RFC proposes adding complete LAPACK routines to stdlib.

BLAS Routines

  • DTRSM ( Level: 3 )
  • DGER ( Level: 2 )
    • JavaScript
    • C
    • Fortran
  • dsyrk ( Level: 3 )
    • JavaScript
    • C
    • Fortran
  • DSPR ( Level: 2 )
    • JavaScript
    • C
    • Fortran
  • DTPSV ( Level: 2 )
    • JavaScript
    • C
    • Fortran
  • DTPMV ( Level: 2 )
    • JavaScript
    • C
    • Fortran
  • DSYR ( Level: 2 )
    • JavaScript
    • C
    • Fortran
  • DTBSV ( Level: 2 )
    • JavaScript
    • C
    • Fortran
  • DSYMV ( Level: 2 )
    • JavaScript
    • C
    • Fortran
  • DGEMM ( Level: 3 )
    • JavaScript
    • C
    • Fortran
  • DTRMV ( Level: 2 )
    • JavaScript
    • C
    • Fortran

Easy

The routines listed below are independent and do not depend on others.

Medium

Routines that depends on other LAPACK routines

  • DPPTRI depends on dtpri
    • JavaScript
    • C
    • Fortran
  • DPPTRS depends on dptts2
    • JavaScript
    • C
    • Fortran
  • DPTRFS depends on dpttrs
    • JavaScript
    • C
    • Fortran

Depends on auxiliary or BLAS routines

  • DGEEQU depends on dlamch
    • JavaScript
    • C
    • Fortran
  • DGEEQUB depends on dlamch
    • JavaScript
    • C
    • Fortran
  • DLAQGE depends on dlamch
    • JavaScript
    • C
    • Fortran
  • DGETC2 depends on dger
    • JavaScript
    • C
    • Fortran
  • DGBTF2 depends on dger
    • JavaScript
    • C
    • Fortran
  • DGBEQU depends on dlamch
    • JavaScript
    • C
    • Fortran
  • DGBEQUB depends on dlamch
    • JavaScript
    • C
    • Fortran
  • LAQGB depends on dlamch
    • JavaScript
    • C
    • Fortran
  • DPSTF2 depends on dlamch
    • JavaScript
    • C
    • Fortran
  • DPOTRS depends on dtrms.
    • JavaScript
    • C
    • Fortran
  • DPOEQUB depends on dlamch
    • JavaScript
    • C
    • Fortran
  • DLAQSY depends on dlamch
    • JavaScript
    • C
    • Fortran
  • DPPTRF depends on dspr and dtpsv
    • JavaScript
    • C
    • Fortran
  • DPPTRS depends on dtpsv
    • JavaScript
    • C
    • Fortran
  • DTPTRI depends on dtpmv
    • JavaScript
    • C
    • Fortran
  • DLAQSP depends on dlamch
    • JavaScript
    • C
    • Fortran
  • DPBTF2 depends on dsyr
    • JavaScript
    • C
    • Fortran
  • DPBTRS depends on dtbsv
    • JavaScript
    • C
    • Fortran
  • DLAQSB depends on dlamch
    • JavaScript
    • C
    • Fortran
  • DSYTRS depends on dger
    • JavaScript
    • C
    • Fortran
  • DSYTRI depends on dsymv
    • JavaScript
    • C
    • Fortran
  • DSYTRS_3 depends on dtrsm
    • JavaScript
    • C
    • Fortran
  • DSPTRS depends on dger
    • JavaScript
    • C
    • Fortran
  • DSPTRI depends on dspmv
    • JavaScript
    • C
    • Fortran
  • DSYTRI_ROOK depends on dsymv
    • JavaScript
    • C
    • Fortran
  • DLASYF_RK depends on dgemm
    • JavaScript
    • C
    • Fortran
  • DSYTF2_RK depends on dsyr
    • JavaScript
    • C
    • Fortran
  • DTRTRS depends on dtrsm
    • JavaScript
    • C
    • Fortran
  • DTRTI2 depends on dtrmv
    • JavaScript
    • C
    • Fortran
  • DTPTRS depends on dtpsv
    • JavaScript
    • C
    • Fortran
  • DTPMV depends on dtptri
    • JavaScript
    • C
    • Fortran
  • DTBTRS depends on dtbsv
    • JavaScript
    • C
    • Fortran

Auxiliary routines

  • DLAMCH depends on LSAME which is a BLAS auxiliary routine.
    • JavaScript
    • C
    • Fortran
  • LACN2
    • JavaScript
    • C
    • Fortran

Related Issues

None.

Questions

No.

Other

Status of iteration across packages

checked all packages from LU: computational routines, Cholesky: computational routines, LDL: computational routines, Triangular computational routines and listed ones which can be knocked off easily.

Checklist

  • I have read and understood the Code of Conduct.
  • Searched for existing issues and pull requests.
  • The issue name begins with RFC:.
@Pranavchiku Pranavchiku added Needs Discussion Needs further discussion. difficulty: 3 Likely to be challenging but manageable. Tracking Issue Tracking issue. JavaScript Issue involves or relates to JavaScript. labels Jun 26, 2024
@kgryte kgryte added BLAS Issue or pull request related to Basic Linear Algebra Subprograms (BLAS). Fortran Issue involves or relates to Fortran. C Issue involves or relates to C. priority: Normal Normal priority concern or feature request. RFC Request for comments. Feature requests and proposed changes. labels Jun 26, 2024
@kgryte kgryte changed the title [RFC]: add javascript implementation of LAPACK routines [RFC]: add LAPACK routines Jun 26, 2024
@kgryte kgryte added the LAPACK Issue or pull request related to the Linear Algebra Package (LAPACK). label Jun 26, 2024
@Pranavchiku
Copy link
Member Author

Pranavchiku commented Jul 6, 2024

Dependency for dgesv:

  • dgesv
    • dgetrf
      • ilaenv
      • dgetrf2
        • dlamch
        • dscal
        • dgemm
        • dlaswp
        • dtrsm
    • dgetrs
      • dtrsm
      • dlaswp

image

@Pranavchiku
Copy link
Member Author

Pranavchiku commented Jul 12, 2024

dptsv is another low hanging fruit:

kgryte added a commit that referenced this issue Jul 13, 2024
PR-URL: #2483
Ref: #2464
Co-authored-by: Athan Reines <[email protected]>
Reviewed-by: Athan Reines <[email protected]> 
Signed-off-by: Pranav Goswami <[email protected]>
@kgryte kgryte added Accepted RFC feature request which has been accepted. difficulty: 4 Likely to be moderately difficult. and removed Needs Discussion Needs further discussion. difficulty: 3 Likely to be challenging but manageable. labels Jul 13, 2024
@Pranavchiku
Copy link
Member Author

Pranavchiku commented Jul 22, 2024

@Pranavchiku
Copy link
Member Author

Pranavchiku commented Jul 22, 2024

@Pranavchiku
Copy link
Member Author

@Pranavchiku
Copy link
Member Author

kgryte added a commit that referenced this issue Jul 28, 2024
PR-URL: #2578
Ref: #2464
Co-authored-by: Athan Reines <[email protected]>
Reviewed-by: Athan Reines <[email protected]>
kgryte added a commit that referenced this issue Jul 28, 2024
PR-URL: #2668
Ref: #2464
Co-authored-by: Athan Reines <[email protected]>
Reviewed-by: Athan Reines <[email protected]>
kgryte added a commit that referenced this issue Aug 12, 2024
PR-URL: #2757
Ref: #2464
Co-authored-by: Athan Reines <[email protected]>
Reviewed-by: Athan Reines <[email protected]>
kgryte added a commit that referenced this issue Aug 12, 2024
PR-URL: #2734
Ref: #2464
Co-authored-by: Athan Reines <[email protected]>
Reviewed-by: Athan Reines <[email protected]>
kgryte added a commit that referenced this issue Aug 14, 2024
PR-URL: #2786
Ref: #2464
Co-authored-by: Athan Reines <[email protected]>
Reviewed-by: Athan Reines <[email protected]>
kgryte pushed a commit that referenced this issue Aug 15, 2024
@Pranavchiku Pranavchiku linked a pull request Aug 19, 2024 that will close this issue
2 tasks
gunjjoshi pushed a commit to gunjjoshi/stdlib that referenced this issue Aug 21, 2024
PR-URL: stdlib-js#2578
Ref: stdlib-js#2464
Co-authored-by: Athan Reines <[email protected]>
Reviewed-by: Athan Reines <[email protected]>
gunjjoshi pushed a commit to gunjjoshi/stdlib that referenced this issue Aug 21, 2024
PR-URL: stdlib-js#2668
Ref: stdlib-js#2464
Co-authored-by: Athan Reines <[email protected]>
Reviewed-by: Athan Reines <[email protected]>
gunjjoshi pushed a commit to gunjjoshi/stdlib that referenced this issue Aug 21, 2024
PR-URL: stdlib-js#2716
Ref: stdlib-js#2464
Co-authored-by: Athan Reines <[email protected]>
Reviewed-by: Athan Reines <[email protected]>
gunjjoshi pushed a commit to gunjjoshi/stdlib that referenced this issue Aug 21, 2024
PR-URL: stdlib-js#2724
Ref: stdlib-js#2464
Co-authored-by: Athan Reines <[email protected]>
Reviewed-by: Athan Reines <[email protected]>
gunjjoshi pushed a commit to gunjjoshi/stdlib that referenced this issue Aug 21, 2024
PR-URL: stdlib-js#2757
Ref: stdlib-js#2464
Co-authored-by: Athan Reines <[email protected]>
Reviewed-by: Athan Reines <[email protected]>
gunjjoshi pushed a commit to gunjjoshi/stdlib that referenced this issue Aug 21, 2024
PR-URL: stdlib-js#2734
Ref: stdlib-js#2464
Co-authored-by: Athan Reines <[email protected]>
Reviewed-by: Athan Reines <[email protected]>
gunjjoshi pushed a commit to gunjjoshi/stdlib that referenced this issue Aug 21, 2024
PR-URL: stdlib-js#2786
Ref: stdlib-js#2464
Co-authored-by: Athan Reines <[email protected]>
Reviewed-by: Athan Reines <[email protected]>
gunjjoshi pushed a commit to gunjjoshi/stdlib that referenced this issue Aug 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Accepted RFC feature request which has been accepted. BLAS Issue or pull request related to Basic Linear Algebra Subprograms (BLAS). C Issue involves or relates to C. difficulty: 4 Likely to be moderately difficult. Fortran Issue involves or relates to Fortran. JavaScript Issue involves or relates to JavaScript. LAPACK Issue or pull request related to the Linear Algebra Package (LAPACK). priority: Normal Normal priority concern or feature request. RFC Request for comments. Feature requests and proposed changes. Tracking Issue Tracking issue.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants