lapack_base.fs is the main user Application Program Interface (API). It uses F# Power Pack's Microsoft.FSharp.Math matrix and vector extensively.
The lapack_bas.fs API wraps the existing LAPACK API, but how completely I am not sure. Let's answer that question here.
LAPACK divides its functions into three types: drivers, computational, auxilary.
LAPACK handles 4 types of data primitives :
||COMPLEX*16 or DOUBLE COMPLEX
But lapack_base.fs seems to ignore all but double. Thus all the functions begin with "d". It seems that complex numbers are not handled by lapack_base. Microsoft.FSharp.Math.Complex exists, so MathProvider could handle complex someday.
LAPACK handles these types of matrices:
||general (i.e., unsymmetric, in some cases rectangular)
||general matrices, generalized problem (i.e., a pair of general matrices)
||(complex) Hermitian band
||upper Hessenberg matrix, generalized problem (i.e a Hessenberg and a
||(complex) Hermitian, packed storage
||(real) orthogonal, packed storage
||symmetric or Hermitian positive definite band
||symmetric or Hermitian positive definite
||symmetric or Hermitian positive definite, packed storage
||symmetric or Hermitian positive definite tridiagonal
||(real) symmetric band
||symmetric, packed storage
||(real) symmetric tridiagonal
||triangular matrices, generalized problem (i.e., a pair of triangular matrices)
||triangular, packed storage
||triangular (or in some cases quasi-triangular)
||(complex) unitary, packed storage
lapack_base.fs exposes the following subset: GE,PO,TR,SY,GG
Let's look at the drivers (high level functions). LAPACK has these:
Linear Equations Driver
lapack_base.fs exposes: SV
Least Squares Driver
LS Least Squares
LSE Least Squares Equality-constrained
GLM General Linear Model
lapack_base.fs exposes: LS, LSE
EV Computes eigenvalues and eigenvalues simply
EVX Computes eigenvectors and eigenvalues expertly
EVD Divide and conquer
EVR Relatively Robust Representation
ES Schur factorization
lapack_base.fs exposes EV
Singular Value Decomposition
SVD Simple Singular Value Decomposition
SDD Improved SVD
lapack_base.fs exposes: SVD, SDD
There are a few more areas to cover, but...
To conclude: lapack_base.fs exposes about one-half of the calls of LAPACK (no doubt the most important ones!).