mirror of
				https://github.com/gonum/gonum.git
				synced 2025-10-31 02:26:59 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			109 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			109 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| // 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"
 | 
