mirror of https://github.com/k3s-io/k3s
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
109 lines
5.8 KiB
109 lines
5.8 KiB
// Copyright ©2017 The Gonum Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
/*
|
|
Package blas provides interfaces for the BLAS linear algebra standard.
|
|
|
|
All methods must perform appropriate parameter checking and panic if
|
|
provided parameters that do not conform to the requirements specified
|
|
by the BLAS standard.
|
|
|
|
Quick Reference Guide to the BLAS from http://www.netlib.org/lapack/lug/node145.html
|
|
|
|
This version is modified to remove the "order" option. All matrix operations are
|
|
on row-order matrices.
|
|
|
|
Level 1 BLAS
|
|
|
|
dim scalar vector vector scalars 5-element prefixes
|
|
struct
|
|
|
|
_rotg ( a, b ) S, D
|
|
_rotmg( d1, d2, a, b ) S, D
|
|
_rot ( n, x, incX, y, incY, c, s ) S, D
|
|
_rotm ( n, x, incX, y, incY, param ) S, D
|
|
_swap ( n, x, incX, y, incY ) S, D, C, Z
|
|
_scal ( n, alpha, x, incX ) S, D, C, Z, Cs, Zd
|
|
_copy ( n, x, incX, y, incY ) S, D, C, Z
|
|
_axpy ( n, alpha, x, incX, y, incY ) S, D, C, Z
|
|
_dot ( n, x, incX, y, incY ) S, D, Ds
|
|
_dotu ( n, x, incX, y, incY ) C, Z
|
|
_dotc ( n, x, incX, y, incY ) C, Z
|
|
__dot ( n, alpha, x, incX, y, incY ) Sds
|
|
_nrm2 ( n, x, incX ) S, D, Sc, Dz
|
|
_asum ( n, x, incX ) S, D, Sc, Dz
|
|
I_amax( n, x, incX ) s, d, c, z
|
|
|
|
Level 2 BLAS
|
|
|
|
options dim b-width scalar matrix vector scalar vector prefixes
|
|
|
|
_gemv ( trans, m, n, alpha, a, lda, x, incX, beta, y, incY ) S, D, C, Z
|
|
_gbmv ( trans, m, n, kL, kU, alpha, a, lda, x, incX, beta, y, incY ) S, D, C, Z
|
|
_hemv ( uplo, n, alpha, a, lda, x, incX, beta, y, incY ) C, Z
|
|
_hbmv ( uplo, n, k, alpha, a, lda, x, incX, beta, y, incY ) C, Z
|
|
_hpmv ( uplo, n, alpha, ap, x, incX, beta, y, incY ) C, Z
|
|
_symv ( uplo, n, alpha, a, lda, x, incX, beta, y, incY ) S, D
|
|
_sbmv ( uplo, n, k, alpha, a, lda, x, incX, beta, y, incY ) S, D
|
|
_spmv ( uplo, n, alpha, ap, x, incX, beta, y, incY ) S, D
|
|
_trmv ( uplo, trans, diag, n, a, lda, x, incX ) S, D, C, Z
|
|
_tbmv ( uplo, trans, diag, n, k, a, lda, x, incX ) S, D, C, Z
|
|
_tpmv ( uplo, trans, diag, n, ap, x, incX ) S, D, C, Z
|
|
_trsv ( uplo, trans, diag, n, a, lda, x, incX ) S, D, C, Z
|
|
_tbsv ( uplo, trans, diag, n, k, a, lda, x, incX ) S, D, C, Z
|
|
_tpsv ( uplo, trans, diag, n, ap, x, incX ) S, D, C, Z
|
|
|
|
options dim scalar vector vector matrix prefixes
|
|
|
|
_ger ( m, n, alpha, x, incX, y, incY, a, lda ) S, D
|
|
_geru ( m, n, alpha, x, incX, y, incY, a, lda ) C, Z
|
|
_gerc ( m, n, alpha, x, incX, y, incY, a, lda ) C, Z
|
|
_her ( uplo, n, alpha, x, incX, a, lda ) C, Z
|
|
_hpr ( uplo, n, alpha, x, incX, ap ) C, Z
|
|
_her2 ( uplo, n, alpha, x, incX, y, incY, a, lda ) C, Z
|
|
_hpr2 ( uplo, n, alpha, x, incX, y, incY, ap ) C, Z
|
|
_syr ( uplo, n, alpha, x, incX, a, lda ) S, D
|
|
_spr ( uplo, n, alpha, x, incX, ap ) S, D
|
|
_syr2 ( uplo, n, alpha, x, incX, y, incY, a, lda ) S, D
|
|
_spr2 ( uplo, n, alpha, x, incX, y, incY, ap ) S, D
|
|
|
|
Level 3 BLAS
|
|
|
|
options dim scalar matrix matrix scalar matrix prefixes
|
|
|
|
_gemm ( transA, transB, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc ) S, D, C, Z
|
|
_symm ( side, uplo, m, n, alpha, a, lda, b, ldb, beta, c, ldc ) S, D, C, Z
|
|
_hemm ( side, uplo, m, n, alpha, a, lda, b, ldb, beta, c, ldc ) C, Z
|
|
_syrk ( uplo, trans, n, k, alpha, a, lda, beta, c, ldc ) S, D, C, Z
|
|
_herk ( uplo, trans, n, k, alpha, a, lda, beta, c, ldc ) C, Z
|
|
_syr2k( uplo, trans, n, k, alpha, a, lda, b, ldb, beta, c, ldc ) S, D, C, Z
|
|
_her2k( uplo, trans, n, k, alpha, a, lda, b, ldb, beta, c, ldc ) C, Z
|
|
_trmm ( side, uplo, transA, diag, m, n, alpha, a, lda, b, ldb ) S, D, C, Z
|
|
_trsm ( side, uplo, transA, diag, m, n, alpha, a, lda, b, ldb ) S, D, C, Z
|
|
|
|
Meaning of prefixes
|
|
|
|
S - float32 C - complex64
|
|
D - float64 Z - complex128
|
|
|
|
Matrix types
|
|
|
|
GE - GEneral GB - General Band
|
|
SY - SYmmetric SB - Symmetric Band SP - Symmetric Packed
|
|
HE - HErmitian HB - Hermitian Band HP - Hermitian Packed
|
|
TR - TRiangular TB - Triangular Band TP - Triangular Packed
|
|
|
|
Options
|
|
|
|
trans = NoTrans, Trans, ConjTrans
|
|
uplo = Upper, Lower
|
|
diag = Nonunit, Unit
|
|
side = Left, Right (A or op(A) on the left, or A or op(A) on the right)
|
|
|
|
For real matrices, Trans and ConjTrans have the same meaning.
|
|
For Hermitian matrices, trans = Trans is not allowed.
|
|
For complex symmetric matrices, trans = ConjTrans is not allowed.
|
|
*/
|
|
package blas // import "gonum.org/v1/gonum/blas"
|