scipy.linalg.

get_blas_funcs#

scipy.linalg.get_blas_funcs(names, массивы=(), dtype=None, ilp64=False)[источник]#

Возвращает доступные объекты функций BLAS по именам.

Массивы используются для определения оптимального префикса подпрограмм BLAS.

Параметры:
namesstr или последовательность str

Имя(имена) функций BLAS без префикса типа.

массивыпоследовательность ndarray, опционально

Массивы могут быть предоставлены для определения оптимального префикса подпрограмм BLAS. Если не предоставлены, будут использоваться подпрограммы двойной точности, в противном случае будет использован наиболее общий тип в массивах.

dtypestr или dtype, опционально

Спецификатор типа данных. Не используется, если массивы не пуст.

ilp64{True, False, 'preferred'}, опционально

Возвращать ли вариант процедуры ILP64. Выбор 'preferred' возвращает процедуру ILP64, если она доступна, иначе 32-битную процедуру. По умолчанию: False

Возвращает:
funcslist

Список, содержащий найденную функцию(и).

Примечания

Эта процедура автоматически выбирает между интерфейсами Fortran/C. Код Fortran используется, когда это возможно, для массивов с порядком хранения по столбцам. Во всех остальных случаях предпочтительнее код C.

В BLAS соглашение об именовании заключается в том, что все функции начинаются с префикса типа, который зависит от типа основной матрицы. Это может быть один из {‘s’, ‘d’, ‘c’, ‘z’} для типов NumPy {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'