FAQ | Questions/comments? lapack@cs.utk.edu | # Accesses |

*
This material is based upon work supported by the National
Science Foundation under Grant No. ASC-9313958 and DOE
Grant No. DE-FG03-94ER25219. Any opinions, findings and
conclusions or recommendations expressed in this material
are those of the author(s) and do not necessarily reflect
the views of the National Science Foundation (NSF) or the
Department of Energy (DOE).
*

##################################################################### # BLAS Index (Levels 1, 2, and 3) # # # # NOTE: All BLAS routines are listed in the order in which # # they appear on the BLAS Quick Reference Guide. # # # # Organization of this index: # # Documentation and Test Suites # # Miscellaneous and Auxiliary Routines # # Level 1 BLAS routines # # Level 2 BLAS routines # # Level 3 BLAS routines # # Extended precision Level 2 BLAS routines # ##################################################################### file faq.html for List of frequently asked questions about blas file blas.tgz for Fortran77 reference implementation of the LEVEL 1, 2, and 3 , BLAS routines in all precisions , (If only a specific precision or level is desired, please , see the appropriate section of this index for details.) prec single, double, complex, doublecomplex lang fortran LAST UPDATE: Tuesday Apr 19th 2011 file blast-forum/cblas.tgz for C interface to the BLAS prec single, double, complex, doublecomplex lang C LAST UPDATE: Thursday Jan 20th 2011 ref <a href="http://www.amd.com/acml">ACML AMD Core Math Library</a> ref <a href="http://www.intel.com/software/products/mkl">Intel Math Kernel Library</a> , The AMD Core Math Library (ACML) and the Intel Math Kernel Library , (Intel MKL) includes BLAS, LAPACK, and ScaLAPACK, which are designed , to be used by a wide range of software developers to obtain excellent , performance from their applications running on AMD and Intel platforms. file blast-forum/cinterface.ps file blast-forum/cinterface.pdf for Documentation for the C interface to the BLAS lib gemm_based for Level 3 BLAS tuned for single processors with caches by Kagstrom B., Ling P., and Van Loan C. title High Performance GEMM-Based Level-3 BLAS ref High Performance Computing II, 1991, North-Holland lang Fortran lib ../atlas for Automatically Tuned Linear Algebra Software (ATLAS) by R. C. Whaley and J. J. Dongarra lang C lib blast-forum for BLAS Technical Forum Standard , Document, Reference Implementations, and Minutes from , the BLAST Technical Forum meetings # # DOCUMENTATION AND TEST SUITES # file blasqr.ps for quick reference guide for the BLAS. lang postscript file blas3-paper.ps for details on the Level 3 BLAS lang PostScript file blas2-paper.ps for details on the Level 2 BLAS lang PostScript file blas2test.f for original test driver for the real level two blas file sblat1 for Level 1 BLAS Test Suite prec single lang fortran file dblat1 for Level 1 BLAS Test Suite prec double lang fortran file cblat1 for Level 1 BLAS Test Suite prec complex lang fortran file zblat1 for Level 1 BLAS Test Suite prec doublecomplex lang fortran file sblat2 for Level 2 BLAS Test Suite prec single lang fortran file dblat2 for Level 2 BLAS Test Suite prec double lang fortran file cblat2 for Level 2 BLAS Test Suite prec complex lang fortran file zblat2 for Level 2 BLAS Test Suite prec doublecomplex lang fortran file sblat2d for Data file required by the Level 2 BLAS Test Suite file dblat2d for Data file required by the Level 2 BLAS Test Suite file cblat2d for Data file required by the Level 2 BLAS Test Suite file zblat2d for Data file required by the Level 2 BLAS Test Suite file sblat3 for Level 3 BLAS Test Suite prec single lang fortran file dblat3 for Level 3 BLAS Test Suite prec double lang fortran file cblat3 for Level 3 BLAS Test Suite prec complex lang fortran file zblat3 for Level 3 BLAS Test Suite prec doublecomplex lang fortran file sblat3d for Data file required by the Level 3 BLAS Test Suite file dblat3d for Data file required by the Level 3 BLAS Test Suite file cblat3d for Data file required by the Level 3 BLAS Test Suite file zblat3d for Data file required by the Level 3 BLAS Test Suite # # MISCELLANEOUS AND AUXILIARY ROUTINES # file i1mach.f gams r1 for integer machine constants (like Fortran units for standard input) file r1mach.f gams r1 for real machine constants (like "machine epsilon" and "biggest number") file d1mach.f gams r1 for double precision machine constants file old1mach gams r1 for machine constants for obsolete computers file machar.f gams r1 prec single, double , precisions can be extracted from the supplied source , code with simple editing changes. NOTE: at least one , version MUST be extracted before the source will compile. for MACHAR is an evolving subroutine for dynamically determining thirteen , fundamental parameters associated with floating-point arithmetic. The , original version was published in Cody and Waite, Software Manual for , the Elementary Functions, Prentice-Hall, 1980. The present version has , been modified to operate correctly with IEEE floating-point arithmetic. , It will malfunction on many CRAY and most CYBER systems, however. See by W. J. Cody ref "MACHAR: dynamically determine machine parameters," TOMS 14, Dec 1988 file machar.c gams r1 for C source for machar and a driver. Float and double , versions are selected with compiler directives. file smach.f for computes machine parameters of floating point , arithmetic for use in testing only. prec single file dmach.f for computes machine parameters of floating point , arithmetic for use in testing only. prec double file cmach.f for computes machine parameters of floating point , arithmetic for use in testing only. prec complex file zmach.f for computes machine parameters of floating point , arithmetic for use in testing only. prec doublecomplex file slamch.f for LAPACK routine to determine machine parameters prec single file dlamch.f for LAPACK routine to determine machine parameters prec double file dgelu.f file dgelub.f for LU factorization of an m-by-n matrix A prec double file dmr prec double for DGEMM for IBM RS/6000 by Dongarra, Mayes, and Radicatti gams D1b6 lang Fortran file scabs1.f for computes absolute value of a complex number , (Auxiliary Routine for a few Level 1 BLAS routines) prec complex file dcabs1.f for computes absolute value of a doublecomplex number , (Auxiliary Routine for a few Level 1 BLAS routines) prec doublecomplex file lsame.f for Test if the characters are equal. , (Auxiliary Routine in Level 2 and 3 BLAS routines) file xerbla.f for error handler for the Level 2 and 3 BLAS routines. , (Auxiliary Routine) # # LEVEL 1 BLAS ROUTINES # file blas1.tgz for Level 1 BLAS routines in all precisions prec single, double, complex, doublecomplex gams D1a file sblas1.f for all the Level 1 BLAS for this type prec single gams D1a file dblas1.f for all the Level 1 BLAS for this type prec double gams D1a file cblas1.f for all the Level 1 BLAS for this type prec complex gams D1a file zblas1.f for all the Level 1 BLAS for this type prec doublecomplex gams D1a file srotg.f for setup Givens rotation prec single gams D1b10 file drotg.f for setup Givens rotation prec double gams D1b10 file crotg.f for setup Givens rotation prec complex gams D1b10 file zrotg.f for setup Givens rotation prec doublecomplex gams D1b10 file srotmg.f for setup modified Givens rotation prec single file drotmg.f for setup modified Givens rotation prec double file srot.f for apply Givens rotation prec single gams D1a8, D1b10 file drot.f for apply Givens rotation prec double gams D1a8, D1b10 file csrot.f for apply Givens rotation prec complex gams D1a8, D1b10 file zdrot.f for apply Givens rotation prec doublecomplex gams D1a8, D1b10 file srotm.f for apply modified Givens rotation prec single file drotm.f for apply modified Givens rotation prec double file sswap.f for swap x and y prec single gams D1a5 file dswap.f for swap x and y prec double gams D1a5 file cswap.f for swap x and y prec complex gams D1a5 file zswap.f for swap x and y prec doublecomplex gams D1a5 file sscal.f for x = a*x prec single gams D1a6 file dscal.f for x = a*x prec double gams D1a6 file cscal.f for x = a*x prec complex gams D1a6 file zscal.f for x = a*x prec doublecomplex gams D1a6 file csscal.f for x = a*x prec complex gams D1a6 file zdscal.f for x = a*x prec doublecomplex gams D1a6 file scopy.f for copy x into y prec single gams D1a5 file dcopy.f for copy x into y prec double gams D1a5 file ccopy.f for copy x into y prec complex gams D1a5 file zcopy.f for copy x into y prec doublecomplex gams D1a5 file saxpy.f for y = a*x + y prec single gams D1a7 file daxpy.f for y = a*x + y prec double gams D1a7 file caxpy.f for y = a*x + y prec complex gams D1a7 file zaxpy.f for y = a*x + y prec doublecomplex gams D1a7 file sdot.f for dot product prec single gams D1a4 file ddot.f for dot product prec double gams D1a4 file sdsdot.f for dot product with extended precision accumulation file dsdot.f for dot product with extended precision accumulation and result file cdotu.f for dot product prec complex gams D1a4 file zdotu.f for dot product prec doublecomplex gams D1a4 file cdotc.f for dot product, conjugating the first vector prec complex gams D1a4 file zdotc.f for dot product, conjugating the first vector prec doublecomplex gams D1a4 file snrm2.f for Euclidean norm prec single gams D1a3b file dnrm2.f for Euclidean norm prec double gams D1a3b file scnrm2.f for Euclidean norm prec complex gams D1a3b file dznrm2.f for Euclidean norm prec doublecomplex gams D1a3b file sasum.f for sum of absolute values prec single gams D1a3a file dasum.f for sum of absolute values prec double gams D1a3a file scasum.f for sum of absolute values prec complex gams D1a3a file dzasum.f for sum of absolute values prec doublecomplex gams D1a3a file isamax.f for index of max abs value prec single gams D1a2,D1a3c,N5a file idamax.f for index of max abs value prec double gams D1a2,D1a3c,N5a file icamax.f for index of max abs value prec complex gams D1a2,D1a3c,N5a file izamax.f for index of max abs value prec doublecomplex gams D1a2,D1a3c,N5a # # LEVEL 2 BLAS ROUTINES # file blas2.tgz for Level 2 BLAS routines in all precisions prec single, double, complex, doublecomplex gams D1a file sblas2.f for all the Level 2 BLAS for this type prec single gams D1a file dblas2.f for all the Level 2 BLAS for this type prec double gams D1a file cblas2.f for all the Level 2 BLAS for this type prec complex gams D1a file zblas2.f for all the Level 2 BLAS for this type prec doublecomplex gams D1a file sblas2time.f for timing the Level 2 BLAS prec single file dblas2time.f for timing the Level 2 BLAS prec double file cblas2time.f for timing the Level 2 BLAS prec complex file zblas2time.f for timing the Level 2 BLAS prec doublecomplex file sgemv.f for matrix vector multiply prec single gams D1b4 file dgemv.f for matrix vector multiply prec double gams D1b4 for matrix vector multiply prec complex gams D1b4 file cgemv.f file zgemv.f for matrix vector multiply prec doublecomplex gams D1b4 file sgbmv.f for banded matrix vector multiply prec single gams D1b4 file dgbmv.f for banded matrix vector multiply prec double gams D1b4 file cgbmv.f for banded matrix vector multiply prec complex gams D1b4 file zgbmv.f for banded matrix vector multiply prec doublecomplex gams D1b4 file chemv.f for hermitian matrix vector multiply prec complex gams D1b6 file zhemv.f for hermitian matrix vector multiply prec doublecomplex gams D1b6 file chbmv.f for hermitian banded matrix vector multiply prec complex gams D1b4 file zhbmv.f for hermitian banded matrix vector multiply prec doublecomplex gams D1b4 file chpmv.f for hermitian packed matrix vector multiply prec complex gams D1b4 file zhpmv.f for hermitian packed matrix vector multiply prec doublecomplex gams D1b4 file ssymv.f for symmetric matrix vector multiply prec single gams D1b4 file dsymv.f for symmetric matrix vector multiply prec double gams D1b4 file ssbmv.f for symmetric banded matrix vector multiply prec single gams D1b4 file dsbmv.f for symmetric banded matrix vector multiply prec double gams D1b4 file sspmv.f for symmetric packed matrix vector multiply prec single gams D1b4 file dspmv.f for symmetric packed matrix vector multiply prec double gams D1b4 file strmv.f for triangular matrix vector multiply prec single gams D1b4 file dtrmv.f for triangular matrix vector multiply prec double gams D1b4 file ctrmv.f for triangular matrix vector multiply prec complex gams D1b4 file ztrmv.f for triangular matrix vector multiply prec doublecomplex gams D1b4 file stbmv.f for triangular banded matrix vector multiply prec single gams D1b4 file dtbmv.f for triangular banded matrix vector multiply prec double gams D1b4 file ctbmv.f for triangular banded matrix vector multiply prec complex gams D1b4 file ztbmv.f for triangular banded matrix vector multiply prec doublecomplex gams D1b4 file stpmv.f for triangular packed matrix vector multiply prec single gams D1b4 file dtpmv.f for triangular packed matrix vector multiply prec double gams D1b4 file ctpmv.f for triangular packed matrix vector multiply prec complex gams D1b4 file ztpmv.f for triangular packed matrix vector multiply prec doublecomplex gams D1b4 file strsv.f for solving triangular matrix problems prec single gams D2a3,D2c3 file dtrsv.f for solving triangular matrix problems prec double gams D2a3,D2c3 file ctrsv.f for solving triangular matrix problems prec complex gams D2a3,D2c3 file ztrsv.f for solving triangular matrix problems prec doublecomplex gams D2a3,D2c3 file stbsv.f for solving triangular banded matrix problems prec single gams D2a3,D2a2,D2c2,D2c3 file dtbsv.f for solving triangular banded matrix problems prec double gams D2a3,D2a2,D2c2,D2c3 file ctbsv.f for solving triangular banded matrix problems prec complex gams D2a3,D2a2,D2c2,D2c3 file ztbsv.f for solving triangular banded matrix problems prec doublecomplex gams D2a3,D2a2,D2c2,D2c3 file stpsv.f for solving triangular packed matrix problems prec single gams D2a3,D2c3 file dtpsv.f for solving triangular packed matrix problems prec double gams D2a3,D2c3 file ctpsv.f for solving triangular packed matrix problems prec complex gams D2a3,D2c3 file ztpsv.f for solving triangular packed matrix problems prec doublecomplex gams D2a3,D2c3 file sger.f for performs the rank 1 operation A := alpha*x*y' + A, prec single gams D1b5 file dger.f for performs the rank 1 operation A := alpha*x*y' + A, prec double gams D1b5 file cgeru.f for performs the rank 1 operation A := alpha*x*y' + A prec complex gams D1a5 file zgeru.f for performs the rank 1 operation A := alpha*x*y' + A prec doublecomplex gams D1a5 file cgerc.f for performs the rank 1 operation A := alpha*x*conjg( y' ) + A prec complex gams D1a5 file zgerc.f for performs the rank 1 operation A := alpha*x*conjg( y' ) + A prec doublecomplex gams D1a5 file cher.f for hermitian rank 1 operation A := alpha*x*conjg(x') + A prec complex gams D1b5 file zher.f for hermitian rank 1 operation A := alpha*x*conjg(x') + A prec doublecomplex gams D1b5 file chpr.f for hermitian packed rank 1 operation A := alpha*x*conjg( x' ) + A prec complex gams D1b5 file zhpr.f for hermitian packed rank 1 operation A := alpha*x*conjg( x' ) + A prec doublecomplex gams D1b5 file cher2.f for hermitian rank 2 operation , A := alpha*x*conjg( y' ) + conjg( alpha )*y*conjg( x' ) + A prec complex gams D1b5 file zher2.f for hermitian rank 2 operation , A := alpha*x*conjg( y' ) + conjg( alpha )*y*conjg( x' ) + A prec doublecomplex gams D1b5 file chpr2.f for hermitian packed rank 2 operation , A := alpha*x*conjg( y' ) + conjg( alpha )*y*conjg( x' ) + A prec complex gams D1b5 file zhpr2.f for hermitian packed rank 2 operation , A := alpha*x*conjg( y' ) + conjg( alpha )*y*conjg( x' ) + A prec doublecomplex gams D1b5 file ssyr.f for performs the symmetric rank 1 operation A := alpha*x*x' + A prec single gams D1b5 file dsyr.f for performs the symmetric rank 1 operation A := alpha*x*x' + A prec double gams D1b5 file sspr.f for symmetric packed rank 1 operation A := alpha*x*x' + A prec single gams D1b5 file dspr.f for symmetric packed rank 1 operation A := alpha*x*x' + A prec double gams D1b5 file ssyr2.f for performs the symmetric rank 2 operation , A := alpha*x*y' + alpha*y*x' + A prec single gams D1b5 file dsyr2.f for performs the symmetric rank 2 operation , A := alpha*x*y' + alpha*y*x' + A prec double gams D1b5 file sspr2.f for performs the symmetric packed rank 2 operation , A := alpha*x*y' + alpha*y*x' + A prec single gams D1b5 file dspr2.f for performs the symmetric packed rank 2 operation , A := alpha*x*y' + alpha*y*x' + A prec double gams D1b5 # # LEVEL 3 BLAS ROUTINES # file blas3.tgz for Level 3 BLAS routines in all precisions prec single, double, complex, doublecomplex gams D1b file sblas3.f for all the Level 3 BLAS of this type prec single gams D1b file dblas3.f for all the Level 3 BLAS of this type prec double gams D1b file cblas3.f for all the Level 3 BLAS of this type prec complex gams D1b file zblas3.f for all the Level 3 BLAS of this type prec doublecomplex gams D1b file sblas3time.f for timing the Level 3 BLAS prec single file dblas3time.f for timing the Level 3 BLAS prec double file cblas3time.f for timing the Level 3 BLAS prec complex file zblas3time.f for timing the Level 3 BLAS prec doublecomplex file sgemm.f for matrix matrix multiply prec single gams D1b6 file dgemm.f for matrix matrix multiply prec double gams D1b6 file cgemm.f for matrix matrix multiply prec complex gams D1b6 file zgemm.f for matrix matrix multiply prec doublecomplex gams D1b6 file ssymm.f for symmetric matrix matrix multiply prec single gams D1b6 file dsymm.f for symmetric matrix matrix multiply prec double gams D1b6 file csymm.f for symmetric matrix matrix multiply prec complex gams D1b6 file zsymm.f for symmetric matrix matrix multiply prec doublecomplex gams D1b6 file chemm.f for hermitian matrix matrix multiply prec complex gams D1b6 file zhemm.f for hermitian matrix matrix multiply prec doublecomplex gams D1b6 file ssyrk.f for symmetric rank-k update to a matrix prec single gams D1b5 file dsyrk.f for symmetric rank-k update to a matrix prec double gams D1b5 file csyrk.f for symmetric rank-k update to a matrix prec complex gams D1b5 file zsyrk.f for symmetric rank-k update to a matrix prec doublecomplex gams D1b5 file cherk.f for hermitian rank-k update to a matrix prec complex gams D1b5 file zherk.f for hermitian rank-k update to a matrix prec doublecomplex gams D1b5 file ssyr2k.f for symmetric rank-2k update to a matrix prec single gams D1b5 file dsyr2k.f for symmetric rank-2k update to a matrix prec double gams D1b5 file csyr2k.f for symmetric rank-2k update to a matrix prec complex gams D1b5 file zsyr2k.f for symmetric rank-2k update to a matrix prec doublecomplex gams D1b5 file cher2k.f for hermitian rank-2k update to a matrix prec complex gams D1b5 file zher2k.f for hermitian rank-2k update to a matrix prec doublecomplex gams D1b5 file strmm.f for triangular matrix matrix multiply prec single gams D1b6 file dtrmm.f for triangular matrix matrix multiply prec double gams D1b6 file ctrmm.f for triangular matrix matrix multiply prec complex gams D1b6 file ztrmm.f for triangular matrix matrix multiply prec doublecomplex gams D1b6 file strsm.f for solving triangular matrix with multiple right hand sides prec single gams D2a3,D2c3 file dtrsm.f for solving triangular matrix with multiple right hand sides prec double gams D2a3,D2c3 file ctrsm.f for solving triangular matrix with multiple right hand sides prec complex gams D2a3,D2c3 file ztrsm.f for solving triangular matrix with multiple right hand sides prec doublecomplex gams D2a3,D2c3 # # EXTENDED PRECISION LEVEL 2 BLAS # file ecblas2.f for all the Level 2 BLAS for this type, with extended , precision accumulation prec complex gams D1a file ecgbmv.f file ecgemv.f for performs one of the matrix-vector operations: , y := alpha*A*x + beta*y, or y := alpha*A'*x + beta*y, , or y := alpha*conjg( A' )*x + beta*y file ecgerc.f for performs the rank 1 operation A := alpha*x*conjg( y' ) + A file ecgeru.f for performs the rank 1 operation A := alpha*x*y' + A file echemv.f file echbmv.f file echpmv.f for performs the matrix-vector operation y := alpha*A*x + beta*y file echer.f for performs the hermitian rank 1 operation A := alpha*x*conjg( x' ) + A file echer2.f for hermitian rank 2 operation , A := alpha*x*conjg( y' ) + conjg( alpha )*y*conjg( x' ) + A file echpr.f for hermitian rank 1 operation A := alpha*x*conjg( x' ) + A file echpr2.f for hermitian rank 2 operation , A := alpha*x*conjg( y' ) + conjg( alpha )*y*conjg( x' ) + A file ectrmv.f file ectbmv.f file ectpmv.f for performs one of the matrix-vector operations , x := A*x, or x := A'*x, or x := conjg( A' )*x file ectrsv.f file ectbsv.f file ectpsv.f for solves one of the systems of equations , A*x = b, or A'*x = b, or conjg( A' )*x = b file esblas2.f for all the Level 2 BLAS for this type, with extended , precision accumulation prec single gams D1a file esgbmv.f file esgemv.f for performs one of the matrix-vector operations , y := alpha*A*x + beta*y, or y := alpha*A'*x + beta*y file esger.f for performs the rank 1 operation A := alpha*x*y' + A , where alpha is a scalar, x is an m element vector, y is an n element , vector and A is an m by n matrix. file essymv.f file essbmv.f file esspmv.f for performs the matrix-vector operation y := alpha*A*x + beta*y file essyr.f file esspr.f for performs the symmetric rank 1 operation A := alpha*x*x' + A , where alpha is a real scalar, x is an n element vector and A is an , n by n symmetric matrix. file essyr2.f file esspr2.f for performs the symmetric rank 2 operation , A := alpha*x*y' + alpha*y*x' + A, where alpha is a scalar, x and , y are n element vectors and A is an n by n symmetric matrix. file estrmv.f file estbmv.f file estpmv.f for performs one of the matrix-vector operations x := A*x, or x := A'*x , where x is n element vector and A is an n by n unit, or non-unit, , upper or lower triangular matrix. file estrsv.f file estbsv.f file estpsv.f for solves one of the systems of equations A*x = b, or A'*x = b, , where b and x are n element vectors and A is an n by n unit, or , non-unit, upper or lower triangular matrix.