BLAS ライブラリは、もともと Fortran で書かれています。C へのインターフェイスは CBLAS と呼ばれ、すべての関数にはcblas_
.
残念ながら BLAS では、最後の 2 つの点にしか直接対処できません。
sgemv
(単精度) またはdgemv
(倍精度) は、行列とベクトルの乗算を実行します
saxpy
(単精度) またはdaxpy
(倍精度) は、一般的なベクトル間の加算を実行します
BLAS は、行列を反転するより複雑な操作を扱いません。そのために、BLAS 上に構築され、線形代数演算を提供する LAPACK ライブラリがあります。LAPACK での一般的な行列の反転はsgetri
(単精度) またはdgetri
(倍精度) で行われますが、対称行列のような特定のケースを処理する他の反転ルーチンがあります。後でベクトルを乗算するためだけに行列を反転する場合、それは基本的に連立一次方程式を解くことであり、そのためにsgesv
(単精度) とdgesv
(倍精度) があります。
基本的に LAPACK ルーチンの 1 つを (再) 実装することによってのみ、BLAS 演算を使用して行列を反転できます。
詳細と例については、多くの BLAS/LAPACK 実装の 1 つを参照してください ( Intel MKLやATLASなど) 。