### Table Of Contents

- Low-level BLAS functions (`scipy.linalg.blas`)
  - Finding functions
  - BLAS Level 1 functions
  - BLAS Level 2 functions
  - BLAS Level 3 functions

#### Previous topic

scipy.linalg.find_best_blas_type

#### Next topic

scipy.linalg.blas.get_blas_funcs

# Low-level BLAS functions (`scipy.linalg.blas`)

This module contains low-level functions from the BLAS library.

New in version 0.12.0.

Warning

These functions do little to no error checking. It is possible to cause crashes by mis-using them, so prefer using the higher-level routines in `scipy.linalg`.

## Finding functions

`get_blas_funcs`(names[, arrays, dtype]) | Return available BLAS function objects from names.
`find_best_blas_type`([arrays, dtype]) | Find best-matching BLAS/LAPACK type.

## BLAS Level 1 functions

`caxpy`(x,y,[n,a,offx,incx,offy,incy]) | Wrapper for `caxpy`.
`ccopy`(x,y,[n,offx,incx,offy,incy]) | Wrapper for `ccopy`.
`cdotc`(x,y,[n,offx,incx,offy,incy]) | Wrapper for `cdotc`.
`cdotu`(x,y,[n,offx,incx,offy,incy]) | Wrapper for `cdotu`.
`crotg`(a,b) | Wrapper for `crotg`.
`cscal`(a,x,[n,offx,incx]) | Wrapper for `cscal`.
`csrot`(…) | Wrapper for `csrot`.
`csscal`(a,x,[n,offx,incx,overwrite_x]) | Wrapper for `csscal`.
`cswap`(x,y,[n,offx,incx,offy,incy]) | Wrapper for `cswap`.
`dasum`(x,[n,offx,incx]) | Wrapper for `dasum`.
`daxpy`(x,y,[n,a,offx,incx,offy,incy]) | Wrapper for `daxpy`.
`dcopy`(x,y,[n,offx,incx,offy,incy]) | Wrapper for `dcopy`.
`ddot`(x,y,[n,offx,incx,offy,incy]) | Wrapper for `ddot`.
`dnrm2`(x,[n,offx,incx]) | Wrapper for `dnrm2`.
`drot`(…) | Wrapper for `drot`.
`drotg`(a,b) | Wrapper for `drotg`.
`drotm`(…) | Wrapper for `drotm`.
`drotmg`(d1,d2,x1,y1) | Wrapper for `drotmg`.
`dscal`(a,x,[n,offx,incx]) | Wrapper for `dscal`.
`dswap`(x,y,[n,offx,incx,offy,incy]) | Wrapper for `dswap`.
`dzasum`(x,[n,offx,incx]) | Wrapper for `dzasum`.
`dznrm2`(x,[n,offx,incx]) | Wrapper for `dznrm2`.
`icamax`(x,[n,offx,incx]) | Wrapper for `icamax`.
`idamax`(x,[n,offx,incx]) | Wrapper for `idamax`.
`isamax`(x,[n,offx,incx]) | Wrapper for `isamax`.
`izamax`(x,[n,offx,incx]) | Wrapper for `izamax`.
`sasum`(x,[n,offx,incx]) | Wrapper for `sasum`.
`saxpy`(x,y,[n,a,offx,incx,offy,incy]) | Wrapper for `saxpy`.
`scasum`(x,[n,offx,incx]) | Wrapper for `scasum`.
`scnrm2`(x,[n,offx,incx]) | Wrapper for `scnrm2`.
`scopy`(x,y,[n,offx,incx,offy,incy]) | Wrapper for `scopy`.
`sdot`(x,y,[n,offx,incx,offy,incy]) | Wrapper for `sdot`.
`snrm2`(x,[n,offx,incx]) | Wrapper for `snrm2`.
`srot`(…) | Wrapper for `srot`.
`srotg`(a,b) | Wrapper for `srotg`.
`srotm`(…) | Wrapper for `srotm`.
`srotmg`(d1,d2,x1,y1) | Wrapper for `srotmg`.
`sscal`(a,x,[n,offx,incx]) | Wrapper for `sscal`.
`sswap`(x,y,[n,offx,incx,offy,incy]) | Wrapper for `sswap`.
`zaxpy`(x,y,[n,a,offx,incx,offy,incy]) | Wrapper for `zaxpy`.
`zcopy`(x,y,[n,offx,incx,offy,incy]) | Wrapper for `zcopy`.
`zdotc`(x,y,[n,offx,incx,offy,incy]) | Wrapper for `zdotc`.
`zdotu`(x,y,[n,offx,incx,offy,incy]) | Wrapper for `zdotu`.
`zdrot`(…) | Wrapper for `zdrot`.
`zdscal`(a,x,[n,offx,incx,overwrite_x]) | Wrapper for `zdscal`.
`zrotg`(a,b) | Wrapper for `zrotg`.
`zscal`(a,x,[n,offx,incx]) | Wrapper for `zscal`.
`zswap`(x,y,[n,offx,incx,offy,incy]) | Wrapper for `zswap`.

## BLAS Level 2 functions

`cgemv`(…) | Wrapper for `cgemv`.
`cgerc`(…) | Wrapper for `cgerc`.
`cgeru`(…) | Wrapper for `cgeru`.
`chemv`(…) | Wrapper for `chemv`.
`ctrmv`(…) | Wrapper for `ctrmv`.
`csyr`(alpha,x,[lower,incx,offx,n,a,overwrite_a]) | Wrapper for `csyr`.
`cher`(alpha,x,[lower,incx,offx,n,a,overwrite_a]) | Wrapper for `cher`.
`cher2`(…) | Wrapper for `cher2`.
`dgemv`(…) | Wrapper for `dgemv`.
`dger`(…) | Wrapper for `dger`.
`dsymv`(…) | Wrapper for `dsymv`.
`dtrmv`(…) | Wrapper for `dtrmv`.
`dsyr`(alpha,x,[lower,incx,offx,n,a,overwrite_a]) | Wrapper for `dsyr`.
`dsyr2`(…) | Wrapper for `dsyr2`.
`sgemv`(…) | Wrapper for `sgemv`.
`sger`(…) | Wrapper for `sger`.
`ssymv`(…) | Wrapper for `ssymv`.
`strmv`(…) | Wrapper for `strmv`.
`ssyr`(alpha,x,[lower,incx,offx,n,a,overwrite_a]) | Wrapper for `ssyr`.
`ssyr2`(…) | Wrapper for `ssyr2`.
`zgemv`(…) | Wrapper for `zgemv`.
`zgerc`(…) | Wrapper for `zgerc`.
`zgeru`(…) | Wrapper for `zgeru`.
`zhemv`(…) | Wrapper for `zhemv`.
`ztrmv`(…) | Wrapper for `ztrmv`.
`zsyr`(alpha,x,[lower,incx,offx,n,a,overwrite_a]) | Wrapper for `zsyr`.
`zher`(alpha,x,[lower,incx,offx,n,a,overwrite_a]) | Wrapper for `zher`.
`zher2`(…) | Wrapper for `zher2`.

## BLAS Level 3 functions

`cgemm`(…) | Wrapper for `cgemm`.
`chemm`(alpha,a,b,[beta,c,side,lower,overwrite_c]) | Wrapper for `chemm`.
`cherk`(alpha,a,[beta,c,trans,lower,overwrite_c]) | Wrapper for `cherk`.
`cher2k`(…) | Wrapper for `cher2k`.
`csymm`(alpha,a,b,[beta,c,side,lower,overwrite_c]) | Wrapper for `csymm`.
`csyrk`(alpha,a,[beta,c,trans,lower,overwrite_c]) | Wrapper for `csyrk`.
`csyr2k`(…) | Wrapper for `csyr2k`.
`dgemm`(…) | Wrapper for `dgemm`.
`dsymm`(alpha,a,b,[beta,c,side,lower,overwrite_c]) | Wrapper for `dsymm`.
`dsyrk`(alpha,a,[beta,c,trans,lower,overwrite_c]) | Wrapper for `dsyrk`.
`dsyr2k`(…) | Wrapper for `dsyr2k`.
`sgemm`(…) | Wrapper for `sgemm`.
`ssymm`(alpha,a,b,[beta,c,side,lower,overwrite_c]) | Wrapper for `ssymm`.
`ssyrk`(alpha,a,[beta,c,trans,lower,overwrite_c]) | Wrapper for `ssyrk`.
`ssyr2k`(…) | Wrapper for `ssyr2k`.
`zgemm`(…) | Wrapper for `zgemm`.
`zhemm`(alpha,a,b,[beta,c,side,lower,overwrite_c]) | Wrapper for `zhemm`.
`zherk`(alpha,a,[beta,c,trans,lower,overwrite_c]) | Wrapper for `zherk`.
`zher2k`(…) | Wrapper for `zher2k`.
`zsymm`(alpha,a,b,[beta,c,side,lower,overwrite_c]) | Wrapper for `zsymm`.
`zsyrk`(alpha,a,[beta,c,trans,lower,overwrite_c]) | Wrapper for `zsyrk`.
`zsyr2k`(…) | Wrapper for `zsyr2k`.