scipy.linalg.
get_blas_funcs#
- scipy.linalg.get_blas_funcs(names, arrays=(), dtype=None, ilp64=False)[源代码]#
从名称返回可用的 BLAS 函数对象。
数组用于确定 BLAS 例程的最佳前缀。
- 参数:
- namesstr 或 str 序列
BLAS 函数的名称,不带类型前缀。
- arraysndarray 序列,可选
可以给出数组来确定 BLAS 例程的最佳前缀。 如果未给出,将使用双精度例程,否则将使用数组中最通用的类型。
- dtypestr 或 dtype,可选
数据类型说明符。 如果 arrays 非空,则不使用。
- ilp64{True, False, ‘preferred’},可选
是否返回 ILP64 例程变体。 选择“preferred”将在可用时返回 ILP64 例程,否则返回 32 位例程。 默认值:False
- 返回:
- funcslist
包含找到的函数(列表)。
说明
此例程自动在 Fortran/C 接口之间进行选择。 对于列主序的数组,尽可能使用 Fortran 代码。 在所有其他情况下,首选 C 代码。
在 BLAS 中,命名约定是所有函数都以类型前缀开头,这取决于主矩阵的类型。 对于 NumPy 类型 {float32、float64、complex64、complex128},这些类型可以是 {‘s’、‘d’、‘c’、‘z’} 中的一个。 代码和 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'