A BLASFEO routine name is generally build with the following pattern:
blasfeo_{precision}{matrix_type}{operation}{*flags}
The available values are the followings.
d
: doubles
: singlege
: general dense matrixpo
: positive definite matrixsy
: symmetric matrixdia
: diagonal matrixtr
: triangular matrixrow
: rowcol
: columnvec
: vectormm
: matrix-matrix multiplicationmv
: matrix-vector multiplicationsm
: matrix-system solutionsv
: vector-system solutioncp
: copysc
: scalese
: setad
: addtr
: transposein
: insertex
: extractin1
: insert oneex1
: extract onepe
: permutepei
: permutesw
: swaptrf
: Cholesky factorization or LU factorization (ge)lqf
: LQ factorizationqrf
: QR factorization_n|_t
: non-transposed or transposed matrix_l|_u
: lower or upper triangular matrix_r|_l
: left or right side matrix multiplication_sp
: sparse_exp
: exponential format_mn
: works on rectangular_mask
: with mask_ref
: reference implementation (for testing)_lib8
(High Performance implementation, 8 rows kernel)_lib4
(High Performance implementation, 4 rows kernel)_lib0
(High Performance interface with reference implementation)_lib
(Portable implementation)_libref
(Reference implementation with dedicated namespace)