FastLapackInterface separates workspace allocation and actual running for some Lapack algorithms:

  • LU factorization
  • QR factorization
  • Schur factorization
  • Eigen decomposition
  • Bunch-Kaufman decomposition
  • Cholesky decomposition
  • LSE decomposition

The API follows the Base julia LAPACK definitions and should thus be very transparent. There is also a unified interface which returns the right Workspace to be used with a given LAPACK function. e.g.

A = [1.2 2.3
     6.2 3.3]
ws = Workspace(LAPACK.getrf!, A)
decompose!(ws, A)

A similar API exists for the above decompositions. For more information and examples please see the documentation.

Compatibility with MKL

  • this package works also with MKL
  • OpenBlas and MKL don't compute the required workspace size of some functions the same way.

Package version

  • v1.x: works only with Julia >= 1.6.3