blas lapack user’s guide - laheythe optimizedblas and la pack libraries are based onthe public...

21
BLAS LAPACK USER’S GUIDE

Upload: others

Post on 13-Jul-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BLAS LAPACK USER’S GUIDE - LaheyThe optimizedBLAS and LA PACK libraries are based onthe public domain BLAS (Basic Linear Algebra Subprograms) and LAPACK (Linear AlgebraPACKage) libraries

BLAS LAPACK USER’S GUIDE

Page 2: BLAS LAPACK USER’S GUIDE - LaheyThe optimizedBLAS and LA PACK libraries are based onthe public domain BLAS (Basic Linear Algebra Subprograms) and LAPACK (Linear AlgebraPACKage) libraries

Third Edition, January 2004The contents of this manual may be revised without prior notice.

All Rights Reserved, Copyright © FUJITSU LIMITED 2000, 2003All Rights Reserved, Copyright © Lahey Computer Systems, Inc 2004

Page 3: BLAS LAPACK USER’S GUIDE - LaheyThe optimizedBLAS and LA PACK libraries are based onthe public domain BLAS (Basic Linear Algebra Subprograms) and LAPACK (Linear AlgebraPACKage) libraries

3

PrefaceThis manual describes the usage of the following two software.

BLAS version 4.0LAPACK version 4.0

The products are the implementations of the public domain BLAS (Basic Linear AlgebraSubprograms) and LAPACK (Linear Algebra PACKage), which have been developed by groups ofpeople such as Prof. Jack Dongarra, University of Tennessee, USA and all published on the WWW(URL: http://www.netlib.org/) .

The structure of the manual is as follows.

1 Overview

The products are outlined with emphasis on the differences from the public domain versions.

2 Documentation

The manual is not intended to give calling sequences of individual subprograms. Instead, thereader is requested to refer to a set of documentation available to the general public. The sectiondescribes where and how to access it.

3 Example program

This section shows an example code that uses subroutines from BLAS and LAPACK. Theexample is simple enough to understand and intended for use in order to describe principles ofcalling BLAS and LAPACK subroutines from a Fortran program.

4 Compile and Link

The way of compiling the user's program containing calls to the products and of link-editing withthe products is described.

5 Notes on Use

Several notes are provided on usage of the products.

Appendix A Routines List

The entire list of subprograms provided is given.

For general usage of BLAS and LAPACK please see the documentation mentioned in:

2. Documentation”.

For a detailed specification of OpenMP Fortran please refer OpenMP Fortran Application ProgramInterface Nov 2000 2.0 (http://www.openmp.org/).

Page 4: BLAS LAPACK USER’S GUIDE - LaheyThe optimizedBLAS and LA PACK libraries are based onthe public domain BLAS (Basic Linear Algebra Subprograms) and LAPACK (Linear AlgebraPACKage) libraries

4

AcknowledgementBLAS and LAPACK are collaborative effort involving several institution and it is distributed onNetlib.

Page 5: BLAS LAPACK USER’S GUIDE - LaheyThe optimizedBLAS and LA PACK libraries are based onthe public domain BLAS (Basic Linear Algebra Subprograms) and LAPACK (Linear AlgebraPACKage) libraries

5

Contents1. Overview ................................................................................................................................................ 7

1.1 BLAS ................................................................................................................................................................ 71.2 LAPACK........................................................................................................................................................... 7

2. Documentation ....................................................................................................................................... 8

2.1 Users' Guide ...................................................................................................................................................... 82.2 On-line Documentation..................................................................................................................................... 8

3. Example program ................................................................................................................................... 9

3.1 Linear equations................................................................................................................................................ 93.1.1 Problem.................................................................................................................................................. 93.1.2 Example code......................................................................................................................................... 9

4. Compile and Link..................................................................................................................................11

4.1 BLAS .............................................................................................................................................................. 114.2 LAPACK......................................................................................................................................................... 11

5. Notes on Use ........................................................................................................................................ 13

5.1 Infinity and NaN ............................................................................................................................................. 135.2 Routines in the archive file ............................................................................................................................. 13

Appendix A Routines List.......................................................................................................................... 15

A.1 BLAS ............................................................................................................................................................. 15A.2 LAPACK ........................................................................................................................................................ 17

Page 6: BLAS LAPACK USER’S GUIDE - LaheyThe optimizedBLAS and LA PACK libraries are based onthe public domain BLAS (Basic Linear Algebra Subprograms) and LAPACK (Linear AlgebraPACKage) libraries

6

List of FiguresFigure 1 Flow of processing from compilation to execution (BLAS, LAPACK) ...................................... 12

List of TablesTable A.1 Level 1 BLAS routines.............................................................................................................. 15

Table A.2 Level 2 BLAS routines.............................................................................................................. 16

Table A.3 Level 3 BLAS routines.............................................................................................................. 16

Table A.4 Sparse BLAS ............................................................................................................................. 17

Table A.5 Slave routines for BLAS ........................................................................................................... 17

Table A.6 Driver and Computational routines of LAPACK....................................................................... 17

Table A.7 Auxiliary routines of LAPACK................................................................................................. 20

Page 7: BLAS LAPACK USER’S GUIDE - LaheyThe optimizedBLAS and LA PACK libraries are based onthe public domain BLAS (Basic Linear Algebra Subprograms) and LAPACK (Linear AlgebraPACKage) libraries

7

1. OverviewThe optimized BLAS and LAPACK libraries are based on the public domain BLAS (Basic LinearAlgebra Subprograms) and LAPACK (Linear Algebra PACKage) libraries. Each routine can becalled from user programs written in Fortran with the CALL statement.

1.1 BLASBLAS is a library for vector and matrix operations. BLAS source code is provided on Netlib. BLASincludes 57 functions. The total number of routines for all precision types amounts to approximately170.

BLAS provides the following routines.

Level 1 BLAS : Vector operationsLevel 2 BLAS : Matrix and vector operationsLevel 3 BLAS : Matrix and matrix operationsSparse-BLAS : Sparse vector operations

1.2 LAPACKLAPACK is a library of linear algebra routines. LAPACK source code is provided on Netlib.LAPACK includes approximately 320 functions. The total number of routines for all precision typesamounts to approximately 1300.

LAPACK provides the following routines.

• Linear equations• Linear least squares problems• Eigenvalue problems• Singular value decomposition

LAPACK contains driver routines, computational routines and auxiliary routines. Driver routines arethose which deal with general linear algebraic problems such as a system of linear equations, whilecomputational routines serve to work as components of driver routines such as LU decomposition ofmatrices. Auxiliary routines perform certain subtask or common low-level computation.

Page 8: BLAS LAPACK USER’S GUIDE - LaheyThe optimizedBLAS and LA PACK libraries are based onthe public domain BLAS (Basic Linear Algebra Subprograms) and LAPACK (Linear AlgebraPACKage) libraries

8

2. DocumentationThe calling interfaces (routine name, parameter sequence) of subroutines provided in the productsare unchanged from the public domain counterparts. For that reason, the manual does not includethe calling specifications of individual subroutines. Instead, the user is requested to refer to thepublicly available documentation to be listed below.

2.1 Users' GuideRefer to the following manual for usage descriptions of the individual routines provided by thissoftware:

• LAPACK Users' Guide, Third Edition (SIAM, 1999)

The book describes in detail the usage of LAPACK, including calling specifications, purposes,parameter descriptions, performances, and accuracy of driver routines and computationalroutines. Also included is a quick reference of BLAS.

2.2 On-line DocumentationSeveral documentation of BLAS and LAPACK are available online from the domainhttp://www.netlib.org/. The following names are all as of January, 2003.

• LAPACK Users' Guide.

The following URL provides an overview of calling forms for LAPACK routines, which includesthe same information described in “Part 1 Guide” in the book of LAPACK Users' Guide, ThirdEdition.

http://www.netlib.org/lapack/lug/lapack_lug.html

• Manual pages (i.e. “man” pages) for BLAS and LAPACK routines (a gzip tar file).

http://www.netlib.org/lapack/manpages.tgz

Page 9: BLAS LAPACK USER’S GUIDE - LaheyThe optimizedBLAS and LA PACK libraries are based onthe public domain BLAS (Basic Linear Algebra Subprograms) and LAPACK (Linear AlgebraPACKage) libraries

9

3. Example programThis section describes how to call subroutines of BLAS and by using a simple example code.

3.1 Linear equations

3.1.1 ProblemLet's consider a system of linear equations

Ax = b

, where A is a real dense matrix of order n, b the right hand side vector of order n, and x the solutionvector. An interesting case is that we have multiple right hand side vectors for each of which we needthe solution. This problem can be written in a matrix form,

AX = B

, where each column vector of B , denoted by bi ( i = 1,2,...,m) ,stands for each right hand side vector,and each column of X , denoted by xi ( i = 1,2,...,m) , the solution vector corresponding to bi

3.1.2 Example codeIn general, the user can choose the subroutine DGESV from LAPACK, a driver routine, to solveequations of the matrix form above. But for explanation purpose here, let's use kind of componentroutines DGETRF and DGETRS, which are called computational routines in the LAPACK book.The former is to compute an LU factorization of a given coefficient matrix A, and the latter to solvethe factorized system for the solutions X.

Now let's assume we are going to solve the equations of order 200 with 80 different right hand sidevectors. An example program is shown below, where subroutine inita sets up the coefficient matrixin array a, the right hand side matrix consisting of bi is set up using a given solutions for explanationpurpose, and subroutine check checks the solutions xi obtained back for correctness.

Example implicit real*8 (a-h,o-z) parameter(maxn=200,m=80,k=maxn+1) parameter(zero=0.0d0,one=1.0d0) real*8 a(k,maxn),aa(k,maxn),x(k,m),b(k,m) integer ip(maxn)C ===========================================================C Define the matrixC =========================================================== n=maxn call inita(a,k,n) do i=1,n do j=1,n aa(j,i)=a(j,i) end do end doC ===========================================================C LU decompositionC =========================================================== call dgetrf(n,n,a,k,ip,info)C ===========================================================C Defeine the vectorsC =========================================================== do jm=1,m do jn=1,n

Page 10: BLAS LAPACK USER’S GUIDE - LaheyThe optimizedBLAS and LA PACK libraries are based onthe public domain BLAS (Basic Linear Algebra Subprograms) and LAPACK (Linear AlgebraPACKage) libraries

10

x(jn,jm)=jn+jm end do end do call dgemm('N','N',n,m,n,one,aa,k,x,k,zero,b,k)C ===========================================================C SolutionC =========================================================== call dgetrs('N',n,m,a,k,ip,b,k,info) if(info.ne.0) then write(6,*) 'error in dgetrs info = ',info stop end ifC ===========================================================C Check resultC =========================================================== call check(a,b,k,n,m) end

Page 11: BLAS LAPACK USER’S GUIDE - LaheyThe optimizedBLAS and LA PACK libraries are based onthe public domain BLAS (Basic Linear Algebra Subprograms) and LAPACK (Linear AlgebraPACKage) libraries

11

4. Compile and LinkBLAS and LAPACK thread-safe versions are to be called from an OpenMP Fortran program.Compilation should be done using Fujitsu Fortran compiler. This section describes procedures ofcompilation through execution for these programs.

For users calling both BLAS and LAPACK routines, please follow information given in “4.2LAPACK” and BLAS routines can be linked implicitly.

4.1 BLASBLAS can be used by linking it with user programs written in Fortran language. It is linked to theuser program when -blas is specified on the compile command line. Two distinct version oflibrary are provided, a general version and a Pentium4 version which is tuned by using SSE2instructions. If the option –sse2 is specified in conjunction with –blas, the P4 optimized versionof the library is linked. Other options relevant to optimization can be specified when needed.

Example 1:

Compile a user's program a.f90, and link it with the general version of BLAS library.

lf95 a.f90 –blas

Example 2:

Compile a user's program a.f90, and link it with the Pentium4 version of BLAS library.

lf95 a.f90 –tp4 –sse2 –blas

4.2 LAPACKLAPACK can be used by linking it with user programs written in Fortran language. It is linked to theuser program when -lapack is specified on the compiler command line. Since LAPACK callsBLAS, when -lapack is specified, the BLAS libraries are automatically linked also.

Example 1:

Compile a user's program a.f90, and link it with LAPACK library and the general version BLASlibrary.

lf90 a.f90 -lapack

Example 2:

Compile a user's program a.f90, and link it with LAPACK library and the Pentium4 version ofBLAS library.

lf95 a.f90 -tp4 –sse2 -lapack

Page 12: BLAS LAPACK USER’S GUIDE - LaheyThe optimizedBLAS and LA PACK libraries are based onthe public domain BLAS (Basic Linear Algebra Subprograms) and LAPACK (Linear AlgebraPACKage) libraries

12

Figure 1 Flow of processing from compilation to execution (BLAS, LAPACK)

Fortran(compilation)

Fortran(Linkage)

Start

(Execution)

End

Object

Executableprogram

User Program

: Data flow: Processing flow

LAPACK library

BLAS library

Fortran library

Page 13: BLAS LAPACK USER’S GUIDE - LaheyThe optimizedBLAS and LA PACK libraries are based onthe public domain BLAS (Basic Linear Algebra Subprograms) and LAPACK (Linear AlgebraPACKage) libraries

13

5. Notes on UseFollowing are notes the user should be aware of for producing correct results from routines.

5.1 Infinity and NaNIn the LAPACK version 3.0 from netlib, a set of subroutines have been added that expect infinitiesand NaN (not a number) defined in the IEEE standard, to be returned as results of zero-divide oroverflow and not to terminate the computation.

Lahey-Fujitsu Fortran fully conforms to the standard of such numbers. However, when the userspecifies the option -trap, error conditions may occur. Make sure to avoid using the option whencompiling programs that call LAPACK routines.

5.2 Routines in the archive fileThe library includes slave routines, the names of which starts #L_(# means S, D, C, S, I or X). Theuser needs to be careful not to duplicate subroutine names with them.

Page 14: BLAS LAPACK USER’S GUIDE - LaheyThe optimizedBLAS and LA PACK libraries are based onthe public domain BLAS (Basic Linear Algebra Subprograms) and LAPACK (Linear AlgebraPACKage) libraries
Page 15: BLAS LAPACK USER’S GUIDE - LaheyThe optimizedBLAS and LA PACK libraries are based onthe public domain BLAS (Basic Linear Algebra Subprograms) and LAPACK (Linear AlgebraPACKage) libraries

15

Appendix A Routines L istIn order to help the user make sure the routines interested are provided in the product, the entire listsof routines are provided here. The user is asked to check with the following lists whenever he/shefeels uncertain about availability. Note, however, that the coverage of routines here does not alwayskeep up with the latest versions from Netlib. The lists below are intended to be used to check thedifference, if any, from the Netlib.

A.1 BLASThe routines that are supplied with BLAS are listed in Table A.1 to Table A.4. The slave routinesincluded in this software are listed in Table A.5

The placekeeper “#” may be replaced by:

S : REALD : DOUBLE PRECISIONC : COMPLEXZ : COMPLEX*16

A combination of precisions means to use more than one precision. For example, “SC” of SCNRM2is a function returning real and complex entries.

Table A.1 Level 1 BLAS routines

Routine name Supported precision

#ROTG#ROTMG#ROT#ROTM#SWAP#SCAL#COPY#AXPY#DOT#DOTU#DOTC##DOT#NRM2#ASUMI#AMAX

S, DS, DS, DS, DS, D, C, ZS, D, C, Z, CS, ZDS, D, C, ZS, D, C, ZS, D, DS

C, ZC, Z

SDSS, D, SC, DZS, D, SC, DZS, D, C, Z

Page 16: BLAS LAPACK USER’S GUIDE - LaheyThe optimizedBLAS and LA PACK libraries are based onthe public domain BLAS (Basic Linear Algebra Subprograms) and LAPACK (Linear AlgebraPACKage) libraries

16

Table A.2 Level 2 BLAS routines

Routine name Supported precision

#GEMV#GBMV#HEMV#HBMV#HPMV#SYMV#SBMV#SPMV#TRMV#TBMV#TPMV#TRSV#TBSV#TPSV#GER#GERU#GERC#HER#HPR#HER2#HPR2#SYR#SPR#SYR2#SPR2

S, D, C, ZS, D, C, Z

C, ZC, ZC, Z

S, DS, DS, DS, D, C, ZS, D, C, ZS, D, C, ZS, D, C, ZS, D, C, ZS, D, C, ZS, D

C, ZC, ZC, ZC, ZC, ZC, Z

S, DS, DS, DS, D

Table A.3 Level 3 BLAS routines

Routine name Supported precision

#GEMM#SYMM#HEMM#SYRK#HERK#SYR2K#HER2K#TRMM#TRSM

S, D, C, ZS, D, C, Z

C, ZS, D, C, Z

C, ZS, D, C, Z

C, ZS, D, C, ZS, D, C, Z

Page 17: BLAS LAPACK USER’S GUIDE - LaheyThe optimizedBLAS and LA PACK libraries are based onthe public domain BLAS (Basic Linear Algebra Subprograms) and LAPACK (Linear AlgebraPACKage) libraries

17

Table A.4 Sparse BLAS

Routine name Supported precision

#AXPYI#DOTI#DOTCI#DOTUI#GTHR#GTHRZ#SCTR#ROTI

S, D, C, ZS, D

C, ZC, Z

S, D, C, ZS, D, C, ZS, D, C, ZS, D

Table A.5 Slave routines for BLAS

Routine name Contents

DCABS1, LSAME, XREBLA Included opened BLAS

A.2 LAPACKThe routines that are supplied with LAPACK are listed in Table A.6 to Table A.7.

The routine names in the following tables are the names of real and complex routines. The characterindicating the supported precision is the first character of the routine name. For a double precisionroutine, replace the “S” of the real routine with “D”. For a double complex routine, replace the “C”of the complex routine with “Z”.

Auxiliary routine XERBLA is unique and do not depend on data type.

The symbol * shows new routines in version 3.0 of LAPACK on Netlib.

Table A.6 Driver and Computational routines of LAPACK

Real routine Complex routine Real routine Complex routine

SBDSDC*SBDSQRSDISNASGBBRDSGBCONSGBEQUSGBRFSSGBSVSGBSVXSGBTRFSGBTRSSGEBAKSGEBAL

—CBDSQR—CGBBRDCGBCONCGBEQUCGBRFSCGBSVCGBSVXCGBTRFCGBTRSCGEBAKCGEBAL

SGEBRDSGECONSGEEQUSGEESSGEESXSGEEVSGEEVXSGEHRDSGELQFSGELSSGELSD *SGELSSSGELSY *

CGEBRDCGECONCGEEQUCGEESCGEESXCGEEVCGEEVXCGEHRDCGELQFCGELSCGELSD *CGELSSCGELSY *

Page 18: BLAS LAPACK USER’S GUIDE - LaheyThe optimizedBLAS and LA PACK libraries are based onthe public domain BLAS (Basic Linear Algebra Subprograms) and LAPACK (Linear AlgebraPACKage) libraries

18

Table A.6 Driver and Computational routines of LAPACK (continued)

Real routine Complex routine Real routine Complex routine

SGEQLFSGEQP3 *SGEQRFSGERFSSGERQFSGESDD *SGESVSGESVDSGESVXSGETRFSGETRISGETRSSGGBAKSGGBALSGGES *SGGESX *SGGEV *SGGEVX *SGGHRDSGGGLMSGGLSESGGQRFSGGRQFSGGSVDSGGSVPSGTCONSGTRFSSGTSVSGTSVXSGTTRFSGTTRSSHGEQZSHSEINSHSEQRSOPGTRSOPMTRSORGBRSORGHRSORGLQSORGQLSORGQRSORGRQSORGTR

CGEQLFCGEQP3 *CGEQRFCGERFSCGERQFCGESDD *CGESVCGESVDCGESVXCGETRFCGETRICGETRSCGGBAKCGGBALCGGES *CGGESX *CGGEV *CGGEVX *CGGHRDCGGGLMCGGLSECGGQRFCGGRQFCGGSVDCGGSVPCGTCONCGTRFSCGTSVCGTSVXCGTTRFCGTTRSCHGEQZCHSEINCHSEQRCUPGTRCUPMTRCUNGBRCUNGHRCUNGLQCUNGQLCUNGQRCUNGRQCUNGTR

SORMBRSORMHRSORMLQSORMQLSORMQRSORMRQSORMRZ *SORMTRSPBCONSPBEQUSPBRFSSPBSTFSPBSVSPBSVXSPBTRFSPBTRSSPOCONSPOEQUSPORFSSPOSVSPOSVXSPOTRFSPOTRISPOTRSSPPCONSPPEQUSPPRFSSPPSVSPPSVXSPPTRFSPPTRISPPTRSSPTCONSPTEQRSPTRFSSPTSVSPTSVXSPTTRFSPTTRSSSBEVSSBEVDSSBEVXSSBGST

CUNMBRCUNMHRCUNMLQCUNMQLCUNMQRCUNMRQCUNMRZ *CUNMTRCPBCONCPBEQUCPBRFSCPBSTFCPBSVCPBSVXCPBTRFCPBTRSCPOCONCPOEQUCPORFSCPOSVCPOSVXCPOTRFCPOTRICPOTRSCPPCONCPPEQUCPPRFSCPPSVCPPSVXCPPTRFCPPTRICPPTRSCPTCONCPTEQRCPTRFSCPTSVCPTSVXCPTTRFCPTTRSCHBEVCHBEVDCHBEVXCHBGST

Page 19: BLAS LAPACK USER’S GUIDE - LaheyThe optimizedBLAS and LA PACK libraries are based onthe public domain BLAS (Basic Linear Algebra Subprograms) and LAPACK (Linear AlgebraPACKage) libraries

19

Table A.6 Driver and Computational routines of LAPACK (continued)

Real routine Complex routine Real routine Complex routine

SSBGVSSBGVD *SSBGVX *SSBTRDSSPCON—SSPEVSSPEVDSSPEVXSSPGSTSSPGVSSPGVD *SSPGVX *SSPRFS—SSPSV—SSPSVX—SSPTRDSSPTRF—SSPTRI—SSPTRS—SSTEBZSSTEDCSSTEGR *SSTEINSSTEQRSSTERFSSTEVSSTEVDSSTEVR *SSTEVXSSYCON—SSYEVSSYEVDSSYEVR *

CHBGVCHBGVD *CHBGVX *CHBTRDCSPCONCHPCONCHPEVCHPEVDCHPEVXCHPGSTCHPGVCHPGVD *CHPGVX *CSPRFSCHPRFSCSPSVCHPSVCSPSVXCHPSVXCHPTRDCSPTRFCHPTRFCSPTRICHPTRICSPTRSCHPTRS—CSTEDCCSTEGR *CSTEINCSTEQR—————CSYCONCHECONCHEEVCHEEVDCHEEVR *

SSYEVXSSYGSTSSYGVSSYGVD *SSYGVX *SSYRFS—SSYSV—SSYSVX—SSYTRDSSYTRF—SSYTRI—SSYTRS—STBCONSTBRFSSTBTRSSTGEVCSTGEXC *STGSEN *STGSJASTGSNA *STGSYL *STPCONSTPRFSSTPTRISTPTRSSTRCONSTREVCSTREXCSTRRFSSTRSENSTRSNASTRSYLSTRTRISTRTRSSTZRZF

CHEEVXCHEGSTCHEGVCHEGVD *CHEGVX *CSYRFSCHERFSCSYSVCHESVCSYSVXCHESVXCHETRDCSYTRFCHETRFCSYTRICHETRICSYTRSCHETRSCTBCONCTBRFSCTBTRSCTGEVCCTGEXC *CTGSEN *CTGSJACTGSNA *CTGSYL *CTPCONCTPRFSCTPTRICTPTRSCTRCONCTREVCCTREXCCTRRFSCTRSENCTRSNACTRSYLCTRTRICTRTRSCTZRZF

Page 20: BLAS LAPACK USER’S GUIDE - LaheyThe optimizedBLAS and LA PACK libraries are based onthe public domain BLAS (Basic Linear Algebra Subprograms) and LAPACK (Linear AlgebraPACKage) libraries

20

Table A.7 Auxiliary routines of LAPACK

Real routine Complex routine Real routine Complex routine

———————————ILAENVLSAMELSAMEN—SGBTF2SGEBD2SGEHD2SGELQ2SGEQL2SGEQR2SGERQ2SGESC2 *SGETC2 *SGETF2SGTTS2 *SLABADSLABRDSLACONSLACPYSLADIVSLAE2SLAEBZSLAED0SLAED1SLAED2SLAED3SLAED4SLAED5SLAED6SLAED7SLAED8

CLACGVCLACRMCLACRTCLAESYCROTCSPMVCSPRCSROTCSYMVCSYRICMAX1———SCSUM1CGBTF2CGEBD2CGEHD2CGELQ2CGEQL2CGEQR2CGERQ2CGESC2 *CGETC2 *CGETF2CGTTS2 *—CLABRDCLACONCLACPYCLADIV——CLAED0——————CLAED7CLAED8

SLAED9SLAEDASLAEINSLAEV2SLAEXCSLAG2SLAGS2 *SLAGTFSLAGTMSLAGTSSLAGV2 *SLAHQRSLAHRDSLAIC1SLALN2SLALS0 *SLALSA *SLALSD *SLAMCHSLAMRGSLANGBSLANGESLANGTSLANHSSLANSB—SLANSP—SLANSTSLANSY—SLANTBSLANTPSLANTRSLANV2SLAPLLSLAPMTSLAPY2SLAPY3SLAQGBSLAQGESLAQP2 *

——CLAEINCLAEV2————CLAGTM——CLAHQRCLAHRDCLAIC1—CLALS0 *CLALSA *CLALSD *——CLANGBCLANGECLANGTCLANHSCLANSBCLANHBCLANSPCLANHPCLANHTCLANSYCLANHECLANTBCLANTPCLANTR—CLAPLLCLAPMT——CLAQGBCLAQGECLAQP2 *

Page 21: BLAS LAPACK USER’S GUIDE - LaheyThe optimizedBLAS and LA PACK libraries are based onthe public domain BLAS (Basic Linear Algebra Subprograms) and LAPACK (Linear AlgebraPACKage) libraries

21

Table A.7 Auxiliary routines of LAPACK (continued)

Real routine Complex routine Real routine Complex routine

SLAQPS *SLAQSBSLAQSPSLAQSYSLAQTRSLAR1V *SLAR2VSLARFSLARFBSLARFGSLARFTSLARFXSLARGVSLARNVSLARRB *SLARRE *SLARRF *SLARRV *SLARTGSLARTVSLARUVSLARZ *SLARZB *SLARZT *SLAS2SLASCLSLASD0 *SLASD1 *SLASD2 *SLASD3 *SLASD4 *SLASD5 *SLASD6 *SLASD7 *SLASD8 *SLASD9 *SLASDA *SLASDQ *SLASDT *SLASETSLASQ1SLASQ2

CLAQPS *CLAQSBCLAQSPCLAQSY—CLAR1V *CLAR2VCLARFCLARFBCLARFGCLARFTCLARFXCLARGVCLARNV———CLARRVCLARTGCLARTV—CLARZ *CLARZB *CLARZT *—CLASCL—————————————CLASET——

SLASQ3SLASQ4SLASQ5 *SLASQ6 *SLASRSLASRTSLASSQSLASV2SLASWPSLASY2SLASYF—SLATBSSLATDF *SLATPSSLATRDSLATRSSLATRZ *SLAUU2SLAUUMSORG2LSORG2RSORGL2SORGR2SORM2LSORM2RSORML2SORMR2SORMR3 *SPBTF2SPOTF2SPTTS2 *SRSCLSSYGS2SSYTD2SSYTF2—STGEX2 *STGSY2 *STRTI2XERBLA

————CLASR—CLASSQ—CLASWP—CLASYFCLAHEFCLATBSCLATDF *CLATPSCLATRDCLATRSCLATRZ *CLAUU2CLAUUMCUNG2LCUNG2RCUNGL2CUNGR2CUNM2LCUNM2RCUNML2CUNMR2CUNMR3 *CPBTF2CPOTF2CPTTS2 *CSRSCLCHEGS2CHETD2CSYTF2CHETF2CTGEX2 *CTGSY2 *CTRTI2—