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'