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 儲存在返回函數的 typecodedtype 屬性中。

範例

>>> 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'