Basic Linear Algebra Subroutines
Linear algebra is at the core of many mathematical concepts. In addition to high level functions such as Dot, Transpose, and Outer, the Wolfram Language provides, both direct access to and extensions of much of the Basic Linear Algebra Subroutines (BLAS) library. For some applications, these can provide a performance boost.
BLAS 1
ASUM — compute the sum of absolute values of vector elements
AXPY — add a vector to a scalar multiple of another vector
COPY — copy a vector to another vector
DOT — dot product of two vectors
DOTC — conjugate dot product of two vectors
IAMAX — position of the vector element with the maximum absolute value
NRM2 — compute the Euclidean norm of a vector
ROT — apply a Givens rotation to a pair of vectors
ROTG — compute the parameters for a Givens rotation
SCAL — multiply a vector by a scalar
SWAP — swap two vectors
BLAS 2
GEMV — add a vector to the product of a matrix and another vector
GER — rank-one update of a matrix
GERC — rank-one update of a complex-valued matrix
SYMV — add a vector to the product of a symmetric matrix and another vector
SYR — symmetric rank-one update of a matrix
TRMV — add a vector to the product of a triangular matrix and another vector
TRSV — solve a triangular system of linear equations
TBSV — solve a triangular system of linear equations using a banded representation
BLAS 3
GEMM — add a matrix to the product of two other matrices
HERK — Hermitian rank-k update of a matrix
SYRK — symmetric rank-k update of a matrix
TRMM — computes the product of a triangular matrix and another matrix
TRSM — solve triangular systems of linear equations