scipy.linalg.

get_blas_funcs#

scipy.linalg.get_blas_funcs(names, arrays=(), dtype=None, ilp64=False)[Quelle]#

Gibt verfügbare BLAS-Funktionsobjekte aus den Namen zurück.

Arrays werden verwendet, um das optimale Präfix von BLAS-Routinen zu bestimmen.

Parameter:
namesstr oder Sequenz von str

Name(n) von BLAS-Funktionen ohne Typ-Präfix.

arraysSequenz von ndarrays, optional

Arrays können angegeben werden, um das optimale Präfix von BLAS-Routinen zu bestimmen. Wenn nicht angegeben, werden Double-Precision-Routinen verwendet, andernfalls wird der generischste Typ in Arrays verwendet.

dtypestr oder dtype, optional

Datentyp-Spezifizierer. Wird nicht verwendet, wenn arrays nicht leer ist.

ilp64{True, False, ‘preferred’}, optional

Ob die ILP64-Routinevariante zurückgegeben werden soll. Die Wahl von ‘preferred’ gibt die ILP64-Routine zurück, falls verfügbar, andernfalls die 32-Bit-Routine. Standard: False

Rückgabe:
funcsListe

Liste, die die gefundenen Funktion(en) enthält.

Hinweise

Diese Routine wählt automatisch zwischen Fortran/C-Schnittstellen. Fortran-Code wird immer dann verwendet, wenn für Arrays mit Spaltenreihenfolge möglich. In allen anderen Fällen wird C-Code bevorzugt.

In BLAS ist die Namenskonvention, dass alle Funktionen mit einem Typ-Präfix beginnen, das vom Typ der Hauptmatrix abhängt. Dies können {‘s’, ‘d’, ‘c’, ‘z’} für die NumPy-Typen {float32, float64, complex64, complex128} sein. Der Code und der dtype werden in den Attributen typecode und dtype der zurückgegebenen Funktionen gespeichert.

Beispiele

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