scipy.linalg.
get_blas_funcs#
- scipy.linalg.get_blas_funcs(names, arrays=(), dtype=None, ilp64=False)[source]#
從名稱返回可用的 BLAS 函數物件。
陣列用於確定 BLAS 常式的最佳前綴。
- 參數:
- names字串或字串序列
BLAS 函數的名稱(不含類型前綴)。
- arraysndarray 序列,可選
可以給定陣列以確定 BLAS 常式的最佳前綴。如果未給定,將使用雙精度常式,否則將使用陣列中最通用的類型。
- dtype字串或 dtype,可選
資料類型指定符。如果 arrays 為非空,則不使用。
- ilp64{True, False, ‘preferred’},可選
是否返回 ILP64 常式變體。選擇 ‘preferred’ 會在可用時返回 ILP64 常式,否則返回 32 位元常式。預設值:False
- 返回:
- funcs列表
包含找到的函數的列表。
註解
此常式會自動在 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'