| // 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" |