doc.go 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. // Copyright ©2017 The Gonum Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style
  3. // license that can be found in the LICENSE file.
  4. /*
  5. Package blas provides interfaces for the BLAS linear algebra standard.
  6. All methods must perform appropriate parameter checking and panic if
  7. provided parameters that do not conform to the requirements specified
  8. by the BLAS standard.
  9. Quick Reference Guide to the BLAS from http://www.netlib.org/lapack/lug/node145.html
  10. This version is modified to remove the "order" option. All matrix operations are
  11. on row-order matrices.
  12. Level 1 BLAS
  13. dim scalar vector vector scalars 5-element prefixes
  14. struct
  15. _rotg ( a, b ) S, D
  16. _rotmg( d1, d2, a, b ) S, D
  17. _rot ( n, x, incX, y, incY, c, s ) S, D
  18. _rotm ( n, x, incX, y, incY, param ) S, D
  19. _swap ( n, x, incX, y, incY ) S, D, C, Z
  20. _scal ( n, alpha, x, incX ) S, D, C, Z, Cs, Zd
  21. _copy ( n, x, incX, y, incY ) S, D, C, Z
  22. _axpy ( n, alpha, x, incX, y, incY ) S, D, C, Z
  23. _dot ( n, x, incX, y, incY ) S, D, Ds
  24. _dotu ( n, x, incX, y, incY ) C, Z
  25. _dotc ( n, x, incX, y, incY ) C, Z
  26. __dot ( n, alpha, x, incX, y, incY ) Sds
  27. _nrm2 ( n, x, incX ) S, D, Sc, Dz
  28. _asum ( n, x, incX ) S, D, Sc, Dz
  29. I_amax( n, x, incX ) s, d, c, z
  30. Level 2 BLAS
  31. options dim b-width scalar matrix vector scalar vector prefixes
  32. _gemv ( trans, m, n, alpha, a, lda, x, incX, beta, y, incY ) S, D, C, Z
  33. _gbmv ( trans, m, n, kL, kU, alpha, a, lda, x, incX, beta, y, incY ) S, D, C, Z
  34. _hemv ( uplo, n, alpha, a, lda, x, incX, beta, y, incY ) C, Z
  35. _hbmv ( uplo, n, k, alpha, a, lda, x, incX, beta, y, incY ) C, Z
  36. _hpmv ( uplo, n, alpha, ap, x, incX, beta, y, incY ) C, Z
  37. _symv ( uplo, n, alpha, a, lda, x, incX, beta, y, incY ) S, D
  38. _sbmv ( uplo, n, k, alpha, a, lda, x, incX, beta, y, incY ) S, D
  39. _spmv ( uplo, n, alpha, ap, x, incX, beta, y, incY ) S, D
  40. _trmv ( uplo, trans, diag, n, a, lda, x, incX ) S, D, C, Z
  41. _tbmv ( uplo, trans, diag, n, k, a, lda, x, incX ) S, D, C, Z
  42. _tpmv ( uplo, trans, diag, n, ap, x, incX ) S, D, C, Z
  43. _trsv ( uplo, trans, diag, n, a, lda, x, incX ) S, D, C, Z
  44. _tbsv ( uplo, trans, diag, n, k, a, lda, x, incX ) S, D, C, Z
  45. _tpsv ( uplo, trans, diag, n, ap, x, incX ) S, D, C, Z
  46. options dim scalar vector vector matrix prefixes
  47. _ger ( m, n, alpha, x, incX, y, incY, a, lda ) S, D
  48. _geru ( m, n, alpha, x, incX, y, incY, a, lda ) C, Z
  49. _gerc ( m, n, alpha, x, incX, y, incY, a, lda ) C, Z
  50. _her ( uplo, n, alpha, x, incX, a, lda ) C, Z
  51. _hpr ( uplo, n, alpha, x, incX, ap ) C, Z
  52. _her2 ( uplo, n, alpha, x, incX, y, incY, a, lda ) C, Z
  53. _hpr2 ( uplo, n, alpha, x, incX, y, incY, ap ) C, Z
  54. _syr ( uplo, n, alpha, x, incX, a, lda ) S, D
  55. _spr ( uplo, n, alpha, x, incX, ap ) S, D
  56. _syr2 ( uplo, n, alpha, x, incX, y, incY, a, lda ) S, D
  57. _spr2 ( uplo, n, alpha, x, incX, y, incY, ap ) S, D
  58. Level 3 BLAS
  59. options dim scalar matrix matrix scalar matrix prefixes
  60. _gemm ( transA, transB, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc ) S, D, C, Z
  61. _symm ( side, uplo, m, n, alpha, a, lda, b, ldb, beta, c, ldc ) S, D, C, Z
  62. _hemm ( side, uplo, m, n, alpha, a, lda, b, ldb, beta, c, ldc ) C, Z
  63. _syrk ( uplo, trans, n, k, alpha, a, lda, beta, c, ldc ) S, D, C, Z
  64. _herk ( uplo, trans, n, k, alpha, a, lda, beta, c, ldc ) C, Z
  65. _syr2k( uplo, trans, n, k, alpha, a, lda, b, ldb, beta, c, ldc ) S, D, C, Z
  66. _her2k( uplo, trans, n, k, alpha, a, lda, b, ldb, beta, c, ldc ) C, Z
  67. _trmm ( side, uplo, transA, diag, m, n, alpha, a, lda, b, ldb ) S, D, C, Z
  68. _trsm ( side, uplo, transA, diag, m, n, alpha, a, lda, b, ldb ) S, D, C, Z
  69. Meaning of prefixes
  70. S - float32 C - complex64
  71. D - float64 Z - complex128
  72. Matrix types
  73. GE - GEneral GB - General Band
  74. SY - SYmmetric SB - Symmetric Band SP - Symmetric Packed
  75. HE - HErmitian HB - Hermitian Band HP - Hermitian Packed
  76. TR - TRiangular TB - Triangular Band TP - Triangular Packed
  77. Options
  78. trans = NoTrans, Trans, ConjTrans
  79. uplo = Upper, Lower
  80. diag = Nonunit, Unit
  81. side = Left, Right (A or op(A) on the left, or A or op(A) on the right)
  82. For real matrices, Trans and ConjTrans have the same meaning.
  83. For Hermitian matrices, trans = Trans is not allowed.
  84. For complex symmetric matrices, trans = ConjTrans is not allowed.
  85. */
  86. package blas // import "gonum.org/v1/gonum/blas"