BLAS
Perform common linear algebra operations with Apple’s implementation of the Basic Linear Algebra Subprograms (BLAS).
Overview
The vecLib framework contains nine C header files (not counting vecLib.h, which merely includes the others).
This document describes the functions declared in the header files cblas.h and vblas.h, which contain the interfaces for Apple’s implementation of the BLAS API.
Note that documentation describing the leading dimension as the first dimension of a matrix refers to column-major ordering. In row-major ordering, the leading dimension is the second dimension of a matrix.
Topics
Specifying the threading model
General functions
Sparse computation
Matrix and Vector OperationsPointwise Matrix OperationsBlockwise Matrix OperationsGeneral Sparse Matrix Management OperationsSparse Vector Utility Operations
Data types
Constants
Variables
CblasColMajorCblasConjTransCblasLeftCblasLowerCblasNoTransCblasNonUnitCblasRightCblasRowMajorCblasTransCblasUnitCblasUpperAtlasConj
CATLAS and CBLAS vector functions
catlas_caxpby(_:_:_:_:_:_:_:)catlas_cset(_:_:_:_:)catlas_daxpby(_:_:_:_:_:_:_:)catlas_dset(_:_:_:_:)catlas_saxpby(_:_:_:_:_:_:_:)catlas_sset(_:_:_:_:)catlas_zaxpby(_:_:_:_:_:_:_:)catlas_zset(_:_:_:_:)cblas_sdot(_:_:_:_:_:)cblas_sdsdot(_:_:_:_:_:_:)cblas_cdotc_sub(_:_:_:_:_:_:)cblas_cdotu_sub(_:_:_:_:_:_:)cblas_ddot(_:_:_:_:_:)cblas_dsdot(_:_:_:_:_:)cblas_zdotc_sub(_:_:_:_:_:_:)cblas_zdotu_sub(_:_:_:_:_:_:)
Single-precision float matrix functions
cblas_sasum(_:_:_:)cblas_saxpy(_:_:_:_:_:_:)cblas_scopy(_:_:_:_:_:)cblas_sgbmv(_:_:_:_:_:_:_:_:_:_:_:_:_:_:)cblas_sgemm(_:_:_:_:_:_:_:_:_:_:_:_:_:_:)cblas_sgemv(_:_:_:_:_:_:_:_:_:_:_:_:)cblas_sger(_:_:_:_:_:_:_:_:_:_:)cblas_snrm2(_:_:_:)cblas_srot(_:_:_:_:_:_:_:)cblas_srotg(_:_:_:_:)cblas_srotm(_:_:_:_:_:_:)cblas_srotmg(_:_:_:_:_:)cblas_ssbmv(_:_:_:_:_:_:_:_:_:_:_:_:)cblas_sscal(_:_:_:_:)cblas_sspmv(_:_:_:_:_:_:_:_:_:_:)cblas_sspr(_:_:_:_:_:_:_:)cblas_sspr2(_:_:_:_:_:_:_:_:_:)cblas_sswap(_:_:_:_:_:)cblas_ssymm(_:_:_:_:_:_:_:_:_:_:_:_:_:)cblas_ssymv(_:_:_:_:_:_:_:_:_:_:_:)cblas_ssyr(_:_:_:_:_:_:_:_:)cblas_ssyr2(_:_:_:_:_:_:_:_:_:_:)cblas_ssyr2k(_:_:_:_:_:_:_:_:_:_:_:_:_:)cblas_ssyrk(_:_:_:_:_:_:_:_:_:_:_:)cblas_stbmv(_:_:_:_:_:_:_:_:_:_:)cblas_stbsv(_:_:_:_:_:_:_:_:_:_:)cblas_stpmv(_:_:_:_:_:_:_:_:)cblas_stpsv(_:_:_:_:_:_:_:_:)cblas_strmm(_:_:_:_:_:_:_:_:_:_:_:_:)cblas_strmv(_:_:_:_:_:_:_:_:_:)cblas_strsm(_:_:_:_:_:_:_:_:_:_:_:_:)cblas_strsv(_:_:_:_:_:_:_:_:_:)appleblas_sgeadd(_:_:_:_:_:_:_:_:_:_:_:_:_:)
Single-precision complex matrix functions
cblas_caxpy(_:_:_:_:_:_:)cblas_ccopy(_:_:_:_:_:)cblas_cgbmv(_:_:_:_:_:_:_:_:_:_:_:_:_:_:)cblas_cgemm(_:_:_:_:_:_:_:_:_:_:_:_:_:_:)cblas_cgemv(_:_:_:_:_:_:_:_:_:_:_:_:)cblas_cgerc(_:_:_:_:_:_:_:_:_:_:)cblas_cgeru(_:_:_:_:_:_:_:_:_:_:)cblas_chbmv(_:_:_:_:_:_:_:_:_:_:_:_:)cblas_chemm(_:_:_:_:_:_:_:_:_:_:_:_:_:)cblas_chemv(_:_:_:_:_:_:_:_:_:_:_:)cblas_cher(_:_:_:_:_:_:_:_:)cblas_cher2(_:_:_:_:_:_:_:_:_:_:)cblas_cher2k(_:_:_:_:_:_:_:_:_:_:_:_:_:)cblas_cherk(_:_:_:_:_:_:_:_:_:_:_:)cblas_chpmv(_:_:_:_:_:_:_:_:_:_:)cblas_chpr(_:_:_:_:_:_:_:)cblas_chpr2(_:_:_:_:_:_:_:_:_:)cblas_crotg(_:_:_:_:)cblas_cscal(_:_:_:_:)cblas_csrot(_:_:_:_:_:_:_:)cblas_csscal(_:_:_:_:)cblas_cswap(_:_:_:_:_:)cblas_csymm(_:_:_:_:_:_:_:_:_:_:_:_:_:)cblas_csyr2k(_:_:_:_:_:_:_:_:_:_:_:_:_:)cblas_csyrk(_:_:_:_:_:_:_:_:_:_:_:)cblas_ctbmv(_:_:_:_:_:_:_:_:_:_:)cblas_ctbsv(_:_:_:_:_:_:_:_:_:_:)cblas_ctpmv(_:_:_:_:_:_:_:_:)cblas_ctpsv(_:_:_:_:_:_:_:_:)cblas_ctrmm(_:_:_:_:_:_:_:_:_:_:_:_:)cblas_ctrmv(_:_:_:_:_:_:_:_:_:)cblas_ctrsm(_:_:_:_:_:_:_:_:_:_:_:_:)cblas_ctrsv(_:_:_:_:_:_:_:_:_:)cblas_scasum(_:_:_:)cblas_scnrm2(_:_:_:)
Double-precision float matrix functions
cblas_dasum(_:_:_:)cblas_daxpy(_:_:_:_:_:_:)cblas_dcopy(_:_:_:_:_:)cblas_dgbmv(_:_:_:_:_:_:_:_:_:_:_:_:_:_:)cblas_dgemm(_:_:_:_:_:_:_:_:_:_:_:_:_:_:)cblas_dgemv(_:_:_:_:_:_:_:_:_:_:_:_:)cblas_dger(_:_:_:_:_:_:_:_:_:_:)cblas_dnrm2(_:_:_:)cblas_drot(_:_:_:_:_:_:_:)cblas_drotg(_:_:_:_:)cblas_drotm(_:_:_:_:_:_:)cblas_drotmg(_:_:_:_:_:)cblas_dsbmv(_:_:_:_:_:_:_:_:_:_:_:_:)cblas_dscal(_:_:_:_:)cblas_dspmv(_:_:_:_:_:_:_:_:_:_:)cblas_dspr(_:_:_:_:_:_:_:)cblas_dspr2(_:_:_:_:_:_:_:_:_:)cblas_dswap(_:_:_:_:_:)cblas_dsymm(_:_:_:_:_:_:_:_:_:_:_:_:_:)cblas_dsymv(_:_:_:_:_:_:_:_:_:_:_:)cblas_dsyr(_:_:_:_:_:_:_:_:)cblas_dsyr2(_:_:_:_:_:_:_:_:_:_:)cblas_dsyr2k(_:_:_:_:_:_:_:_:_:_:_:_:_:)cblas_dsyrk(_:_:_:_:_:_:_:_:_:_:_:)cblas_dtbmv(_:_:_:_:_:_:_:_:_:_:)cblas_dtbsv(_:_:_:_:_:_:_:_:_:_:)cblas_dtpmv(_:_:_:_:_:_:_:_:)cblas_dtpsv(_:_:_:_:_:_:_:_:)cblas_dtrmm(_:_:_:_:_:_:_:_:_:_:_:_:)cblas_dtrmv(_:_:_:_:_:_:_:_:_:)cblas_dtrsm(_:_:_:_:_:_:_:_:_:_:_:_:)cblas_dtrsv(_:_:_:_:_:_:_:_:_:)appleblas_dgeadd(_:_:_:_:_:_:_:_:_:_:_:_:_:)
Double-precision complex matrix functions
cblas_dzasum(_:_:_:)cblas_dznrm2(_:_:_:)cblas_zaxpy(_:_:_:_:_:_:)cblas_zcopy(_:_:_:_:_:)cblas_zdrot(_:_:_:_:_:_:_:)cblas_zdscal(_:_:_:_:)cblas_zgbmv(_:_:_:_:_:_:_:_:_:_:_:_:_:_:)cblas_zgemm(_:_:_:_:_:_:_:_:_:_:_:_:_:_:)cblas_zgemv(_:_:_:_:_:_:_:_:_:_:_:_:)cblas_zgerc(_:_:_:_:_:_:_:_:_:_:)cblas_zgeru(_:_:_:_:_:_:_:_:_:_:)cblas_zhbmv(_:_:_:_:_:_:_:_:_:_:_:_:)cblas_zhemm(_:_:_:_:_:_:_:_:_:_:_:_:_:)cblas_zhemv(_:_:_:_:_:_:_:_:_:_:_:)cblas_zher(_:_:_:_:_:_:_:_:)cblas_zher2(_:_:_:_:_:_:_:_:_:_:)cblas_zher2k(_:_:_:_:_:_:_:_:_:_:_:_:_:)cblas_zherk(_:_:_:_:_:_:_:_:_:_:_:)cblas_zhpmv(_:_:_:_:_:_:_:_:_:_:)cblas_zhpr(_:_:_:_:_:_:_:)cblas_zhpr2(_:_:_:_:_:_:_:_:_:)cblas_zrotg(_:_:_:_:)cblas_zscal(_:_:_:_:)cblas_zswap(_:_:_:_:_:)cblas_zsymm(_:_:_:_:_:_:_:_:_:_:_:_:_:)cblas_zsyr2k(_:_:_:_:_:_:_:_:_:_:_:_:_:)cblas_zsyrk(_:_:_:_:_:_:_:_:_:_:_:)cblas_ztbmv(_:_:_:_:_:_:_:_:_:_:)cblas_ztbsv(_:_:_:_:_:_:_:_:_:_:)cblas_ztpmv(_:_:_:_:_:_:_:_:)cblas_ztpsv(_:_:_:_:_:_:_:_:)cblas_ztrmm(_:_:_:_:_:_:_:_:_:_:_:_:)cblas_ztrmv(_:_:_:_:_:_:_:_:_:)cblas_ztrsm(_:_:_:_:_:_:_:_:_:_:_:_:)cblas_ztrsv(_:_:_:_:_:_:_:_:_:)
LAPACK functions
LAPACK/BLAS Functionscgedmd_(_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:)cgedmdq_(_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:)cgeqp3rk_(_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:)claqp2rk_(_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:)claqp3rk_(_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:)crscl_(_:_:_:_:)dgedmd_(_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:)dgedmdq_(_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:)dgeqp3rk_(_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:)dlaqp2rk_(_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:)dlaqp3rk_(_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:)sgedmd_(_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:)sgedmdq_(_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:)sgeqp3rk_(_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:)slaqp2rk_(_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:)sgeqp3rk_(_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:)slaqp2rk_(_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:)slaqp3rk_(_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:)zgedmd_(_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:)zgedmdq_(_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:)zgeqp3rk_(_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:)zlaqp2rk_(_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:)zlaqp3rk_(_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:)zrscl_(_:_:_:_:)sparse_matrix_double_complexsparse_matrix_float_complexvFloatPacked