scipy.linalg.blas.
get_blas_funcs#
- scipy.linalg.blas.get_blas_funcs(names, arrays=(), dtype=None, ilp64=False)[source]#
从名称中返回可用的 BLAS 函数对象。
数组用于确定 BLAS 例程的最优前缀。
- 参数:
- names字符串或字符串序列
BLAS 函数的名称(不带类型前缀)。
- arraysndarray 序列,可选
该数组可以用来确定 BLAS 例程的最优前缀。如果没有指定,则使用双精度例程,否则使用数组中最普通的类型。
- dtype字符串或数据类型,可选
数据类型说明符。如果arrays 非空,则不使用。
- ilp64{True,False,‘preferred’},可选
是否返回 ILP64 例程变量。选择“首选”将在可用时返回 ILP64 例程,否则返回 32 位例程。默认值:False
- 返回:
- funcs列表
包含已找到函数的列表。
注意
此例程在 Fortran/C 接口之间自动进行选择。每当使用列优先数组时,尽可能使用 Fortran 代码。在所有其他情况下,首选 C 代码。
在 BLAS 中,命名约定为所有函数均以类型前缀开头,具体取决于主矩阵的类型。对于 NumPy 类型,它们可以为 {‘s’,‘d’,‘c’,‘z’},分别代表 {float32,float64,complex64,complex128}。代码和 dtype 存储在返回函数的属性 typecode 和 dtype 中。
示例
>>> import numpy as np >>> import scipy.linalg as LA >>> rng = np.random.default_rng() >>> a = rng.random((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'