stdlib icon indicating copy to clipboard operation
stdlib copied to clipboard

[RFC]: add LAPACK routines

Open Pranavchiku opened this issue 1 year ago • 6 comments

Description

This RFC proposes adding complete LAPACK routines to stdlib.

BLAS Routines

  • [ ] DTRSM ( Level: 3 )
    • [ ] JavaScript https://github.com/stdlib-js/stdlib/pull/2518
    • [ ] C
    • [ ] Fortran
  • [ ] 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.

  • [ ] DLASWP
    • [x] JavaScript https://github.com/stdlib-js/stdlib/pull/2483
    • [ ] C
    • [ ] Fortran
  • [ ] DGTTRF
    • [ ] JavaScript
    • [ ] C
    • [ ] Fortran
  • [ ] DGTTS2
    • [ ] JavaScript
    • [ ] C
    • [ ] Fortran
  • [ ] DPOTF2
    • [ ] JavaScript
    • [ ] C
    • [ ] Fortran
  • [ ] DPOEQU
    • [ ] JavaScript
    • [ ] C
    • [ ] Fortran
  • [ ] DLA_PORPVGRW
    • [ ] JavaScript
    • [ ] C
    • [ ] Fortran
  • [ ] DPPEQU
    • [ ] JavaScript
    • [ ] C
    • [ ] Fortran
  • [ ] DPBEQU
    • [ ] JavaScript
    • [ ] C
    • [ ] Fortran
  • [ ] DPTCON
    • [ ] JavaScript
    • [ ] C
    • [ ] Fortran
  • [ ] DPPTRF
    • [ ] JavaScript
    • [ ] C
    • [ ] Fortran
  • [ ] DPPTS2
    • [ ] JavaScript
    • [ ] C
    • [ ] Fortran
  • [ ] DLASYF
    • [ ] JavaScript
    • [ ] C
    • [ ] Fortran
  • [ ] DSYCONV
    • [ ] JavaScript
    • [ ] C
    • [ ] Fortran
  • [ ] DSYSWAPR
    • [ ] JavaScript
    • [ ] C
    • [ ] Fortran
  • [ ] DLA_SYRPVGRW
    • [ ] JavaScript
    • [ ] C
    • [ ] Fortran
  • [ ] DSYCONVF
    • [ ] JavaScript
    • [ ] C
    • [ ] Fortran
  • [ ] DSYCONVF_ROOK
    • [ ] JavaScript
    • [ ] C
    • [ ] Fortran
  • [ ] DLAUU2
    • [ ] JavaScript
    • [ ] C
    • [ ] Fortran

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

  • [X] I have read and understood the Code of Conduct.
  • [X] Searched for existing issues and pull requests.
  • [X] The issue name begins with RFC:.

Pranavchiku avatar Jun 26 '24 15:06 Pranavchiku

Dependency for dgesv:

  • [ ] dgesv
    • [ ] dgetrf
      • [ ] ilaenv
      • [ ] dgetrf2
        • [ ] dlamch
        • [x] dscal
        • [ ] dgemm
        • [x] dlaswp
        • [ ] dtrsm
    • [ ] dgetrs
      • [ ] dtrsm
      • [x] dlaswp

image

Pranavchiku avatar Jul 06 '24 04:07 Pranavchiku

dptsv is another low hanging fruit:

  • [ ] dptsv
    • [x] dpptrf https://github.com/stdlib-js/stdlib/pull/2578
    • [ ] dpttrs
      • [ ] dptts2 https://github.com/stdlib-js/stdlib/pull/2625

Pranavchiku avatar Jul 12 '24 15:07 Pranavchiku

  • [ ] dtrts
    • [ ] dtrsm https://github.com/stdlib-js/stdlib/pull/2518

Pranavchiku avatar Jul 22 '24 18:07 Pranavchiku

  • [ ] dtrti2 #2754
    • [x] dtrmv #2540

Pranavchiku avatar Jul 22 '24 18:07 Pranavchiku

Pranavchiku avatar Jul 22 '24 18:07 Pranavchiku

Pranavchiku avatar Jul 22 '24 18:07 Pranavchiku