SciPy

scipy.linalg.blas.get_blas_funcs

scipy.linalg.blas.get_blas_funcs(names, arrays=(), dtype=None)[source]

Return available BLAS function objects from names.

Arrays are used to determine the optimal prefix of BLAS routines.

Parameters:

names : str or sequence of str

Name(s) of BLAS functions without type prefix.

arrays : sequence of ndarrays, optional

Arrays can be given to determine optimal prefix of BLAS routines. If not given, double-precision routines will be used, otherwise the most generic type in arrays will be used.

dtype : str or dtype, optional

Data-type specifier. Not used if arrays is non-empty.

Returns:

funcs : list

List containing the found function(s).

Notes

This routine automatically chooses between Fortran/C interfaces. Fortran code is used whenever possible for arrays with column major order. In all other cases, C code is preferred.

In BLAS, the naming convention is that all functions start with a type prefix, which depends on the type of the principal matrix. These can be one of {‘s’, ‘d’, ‘c’, ‘z’} for the numpy types {float32, float64, complex64, complex128} respectively. The code and the dtype are stored in attributes typecode and dtype of the returned functions.

Examples

>>> import scipy.linalg as LA
>>> a = np.random.rand(3,2)
>>> x_gemv = LA.get_blas_funcs('gemv', (a,))
>>> x_gemv.typecode
'd'
>>> x_gemv = LA.get_blas_funcs('gemv',(a*1j,))
>>> x_gemv.typecode
'z'