BLAS Level 2 Routines

?gbmv performs one of the following matrix-vector operations:
y = alpha Ax + beta y  for trans = 'N';
y = alpha ATx + beta y  for trans = 'T';
y = alpha AHx + beta y  for trans = 'C'.
Here A is an m by n band matrix with ku superdiagonals and kl subdiagonals; x and y are vectors.
call sgbmv (trans, m, n, kl, ku, salpha, SA, lda, SX, inxc, sbeta, SY, incy)
call dgbmv (trans, m, n, kl, ku, dalpha, DA, lda, DX, incx, dbeta, DY, incy)
call cgbmv (trans, m, n, kl, ku, calpha, CA, lda, CX, incx, cbeta, CY, incy)
call zgbmv (trans, m, n, kl, ku, zalpha, ZA, lda, ZX, incx, zbeta, ZY, incy)

?gemv performs one of the following matrix-vector operations:
y = alpha Ax + beta y  for trans = 'N';
y = alpha ATx + beta y  for trans = 'T';
y = alpha AHx + beta y  for trans = 'C'.
Here A is a general m by n matrix; x and y are vectors.
call sgemv (trans, m, n, salpha, SA, lda, SX, incx, sbeta, SY, incy)
call dgemv (trans, m, n, dalpha, DA, lda, DX, incx, dbeta, DY, incy)
call cgemv (trans, m, n, calpha, CA, lda, CX, incx, cbeta, CY, incy)
call zgemv (trans, m, n, zalpha, ZA, lda, ZX, incx, zbeta, ZY, incy)

?ger performs a rank-1 update of a real m by n matrix A:
A = A + alpha xyT.
call sger (m, n, salpha, SX, incx, SY, incy, SA, lda)
call dger (m, n, dalpha, DX, incx, DY, incy, DA, lda)

?gerc performs a rank-1 update of a complex m by n matrix A, with conjugation:
A = A + alpha xyH.
call cgerc (m, n, calpha, CX, incx, CY, incy, CA, lda)
call zgerc (m, n, zalpha, ZX, incx, ZY, incy, ZA, lda)

?geru performs a rank-1 update of a complex m by n matrix A, without conjugation:
A = A + alpha xyT.
call cgerc (m, n, calpha, CX, incx, CY, incy, CA, lda)
call zgerc (m, n, zalpha, ZX, incx, ZY, incy, ZA, lda)

?hbmv performs the following matrix-vector operation:
y = alpha Ax + beta y.
Here A is an n by n Hermitian band matrix with k subdiagonals; x and y are vectors.
call chbmv (uplo, n, k, calpha, CA, lda, CX, incx, cbeta, CY, incy)
call zhbmv (uplo, n, k, zalpha, ZA, lda, ZX, incx, zbeta, ZY, incy)

?hemv performs the following matrix-vector operation:
y = alpha Ax + beta y.
Here A is an n by n Hermitian matrix; x and y are vectors.
call chemv (uplo, n, calpha, CA, lda, CX, incx, cbeta, CY, incy)
call zhemv (uplo, n, zalpha, ZA, lda, ZX, incx, zbeta, ZY, incy)

?her performs a rank-1 update of an n by n Hermitian matrix A:
A = A + alpha xxH.
call cher (uplo, n, salpha, CX, incx, CA, lda)
call zher (uplo, n, dalpha, ZX, incx, ZA, lda)

?her2 performs a rank-2 update of an n by n Hermitian matrix A:
A = A + alpha xyH + conjg(alpha) yxH.
call cher2 (uplo, n, calpha, CX, incx, CY, incy, CA, lda)
call zher2 (uplo, n, zalpha, ZX, incx, ZY, incy, ZA, lda)

?hpmv performs the following matrix-vector operation:
y = alpha Ax + beta y.
Here A is an n by n packed Hermitian matrix; x and y are vectors.
call chpmv (uplo, n, calpha, CAP, CX, incx, cbeta, CY, incy)
call zhpmv (uplo, n, zalpha, ZAP, ZX, incx, zbeta, ZY, incy)

?hpr performs a rank-1 update of an n by n packed Hermitian matrix A:
A = A + alpha xxH.
call chpr (uplo, n, salpha, CX, incx, CAP)
call zhpr (uplo, n, dalpha, ZX, incx, ZAP)

?hpr2 performs a rank-2 update of an n by n packed Hermitian matrix A:
A = A + alpha xyH + conjg(alpha) yxH.
call chpr2 (uplo, n, calpha, CX, incx, CY, incy, CAP)
call zhpr2 (uplo, n, zalpha, ZX, incx, ZY, incy, ZAP)

?sbmv performs the following matrix-vector operation:
y = alpha Ax + beta y.
Here A is an n by n symmetric band matrix with k subdiagonals; x and y are vectors.
call ssbmv (uplo, n, k, salpha, SA, lda, SX, incx, sbeta, SY, incy)
call dsbmv (uplo, n, k, dalpha, DA, lda, DX, incx, dbeta, DY, incy)

?spmv performs the following matrix-vector operation:
y = alpha Ax + beta y.
Here A is an n by n packed symmetric matrix; x and y are vectors.
call sspmv (uplo, n, salpha, SAP, SX, incx, sbeta, SY, incy)
call dspmv (uplo, n, dalpha, DAP, DX, incx, dbeta, DY, incy)

?spr performs a rank-1 update of an n by n packed symmetric matrix A:
A = A + alpha xxT.
call sspr(uplo, n, salpha, SX, incx, SAP)
call dspr(uplo, n, dalpha, DX, incx, DAP)

?spr2 performs a rank-2 update of an n by n packed symmetric matrix A:
A = A + alpha xyT + conjg(alpha) yxT.
call sspr2( uplo, n, salpha, SX, incx, SY, incy, SAP)
call dspr2( uplo, n, dalpha, DX, incx, DY, incy, DAP)

?symv performs the following matrix-vector operation:
y = alpha Ax + beta y.
Here A is an n by n symmetric matrix; x and y are vectors.
call ssymv ( uplo, n, salpha, SA, lda, SX, incx, sbeta, SY, incy )
call dsymv ( uplo, n, dalpha, DA, lda, DX, incx, dbeta, DY, incy )

?syr performs a rank-1 update of an n by n symmetric matrix A:
A = A + alpha xxT.
call ssyr (uplo, n, salpha, SX, incx, SA, lda)
call dsyr (uplo, n, dalpha, DX, incx, DA, lda)

?syr2 performs a rank-2 update of an n by n symmetric matrix A:
A = A + alpha xyT + conjg(alpha) yxT.
call ssyr2 (uplo, n, salpha, SX, incx, SY, incy, SA, lda)
call dsyr2 (uplo, n, dalpha, DX, incx, DY, incy, DA, lda)

?tbmv computes the matrix-vector product Ax and stores it in x. Here A is an n by n triangular band matrix.
call stbmv (uplo, trans, diag, n, k, SA, lda, SX, incx)
call dtbmv (uplo, trans, diag, n, k, DA, lda, DX, incx)
call ctbmv (uplo, trans, diag, n, k, CA, lda, CX, incx)
call ztbmv (uplo, trans, diag, n, k, ZA, lda, ZX, incx)

?tbsv solves a system of linear equations Ax = b with an n by n triangular band matrix A. On entry, assumes that the right-hand side b is stored in the array ?X.
call stbsv (uplo, trans, diag, n, k, SA, lda, SX, incx)
call dtbsv (uplo, trans, diag, n, k, DA, lda, DX, incx)
call ctbsv (uplo, trans, diag, n, k, CA, lda, CX, incx)
call ztbsv (uplo, trans, diag, n, k, ZA, lda, ZX, incx)

?tpmv computes the matrix-vector product Ax and stores it in x. Here A is an n by n packed triangular matrix.
call stpmv (uplo, trans, diag, n, SAP, SX, incx)
call dtpmv (uplo, trans, diag, n, DAP, DX, incx)
call ctpmv (uplo, trans, diag, n, CAP, CX, incx)
call ztpmv (uplo, trans, diag, n, ZAP, ZX, incx)

?tpsv solves a system of linear equations Ax = b with an n by n packed triangular matrix A. On entry, assumes that the right-hand side b is stored in the array ?X.
call stpsv (uplo, trans, diag, n, SAP, SX, incx)
call dtpsv (uplo, trans, diag, n, DAP, DX, incx)
call ctpsv (uplo, trans, diag, n, CAP, CX, incx)
call ztpsv (uplo, trans, diag, n, ZAP, ZX, incx)

?trmv computes the matrix-vector product Ax and stores it in x. Here A is an n by n triangular matrix.
call strmv (uplo, trans, diag, n, SA, lda, SX, incx)
call dtrmv (uplo, trans, diag, n, DA, lda, DX, incx)
call ctrmv (uplo, trans, diag, n, CA, lda, CX, incx)
call ztrmv (uplo, trans, diag, n, ZA, lda, ZX, incx)

?trsv solves a system of linear equations Ax = b with an n by n triangular matrix A. On entry, assumes that the right-hand side b is stored in the array ?X.
call strsv (uplo, trans, diag, n, SA, lda, SX, incx)
call dtrsv (uplo, trans, diag, n, DA, lda, DX, incx)
call ctrsv (uplo, trans, diag, n, CA, lda, CX, incx)
call ztrsv (uplo, trans, diag, n, ZA, lda, ZX, incx)

* Legal Information © 1999-2000, Intel Corporation