gbmv(3F)
SGBMV, DGBMV, CGBMV, ZGMBV - Multiplies a real or complex vector by a real or complex general band matrix
As shipped in IRIX 6.5.5. Last changed in IRIX 6.5.5.
NAME SGBMV, DGBMV, CGBMV, ZGMBV - Multiplies a real or complex vector by a real or complex general band matrix SYNOPSIS Real CALL SGBMV (trans, m, n, kl, ku, alpha, a, lda, x, incx, beta, y, incy) Double precision CALL DGBMV (trans, m, n, kl, ku, alpha, a, lda, x, incx, beta, y, incy) Complex CALL CGBMV (trans, m, n, kl, ku, alpha, a, lda, x, incx, beta, y, incy) Double complex CALL ZGBMV (trans, m, n, kl, ku, alpha, a, lda, x, incx, beta, y, incy) IMPLEMENTATION IRIX systems DESCRIPTION SGBMV and DGBMV multiply a real vector by a real general band matrix. CGBMV and ZGBMV multiply a complex vector by a complex general band matrix. These routines perform one of the following matrix-vector operations: y <- alpha Ax + beta y T y <- alpha A x + beta y H y <- alpha A x + beta y where * where alpha and beta are scalars, * x and y are vectors * A is an m-by-n band matrix with kl subdiagonals and ku superdiagonals T * A is the transpose of A H * A is the conjugate transpose of A These routines have the following arguments: trans Character*1. (input) Specifies the operation to be performed: trans = 'N' or 'n': y <- alpha Ax + beta y T trans = 'T' or 't': y <- alpha A x + beta y T trans = 'C' or 'c': y <- alpha A x + beta y (SGBMV, DGBMV), or H y <- alpha A x + beta y (CGBMV, ZGBMV) m Integer. (input) Specifies the number of rows in matrix A. m >= 0. n Integer. (input) Specifies the number of columns in the matrix A. n >= 0. kl Integer. (input) Specifies the number of subdiagonals of matrix A. kl >= 0. ku Integer. (input) Specifies the number of superdiagonals of matrix A. ku >= 0. alpha Scalar alpha. (input) SGBMV: Real. DGBMV: Double precision. CGBMV: Complex. ZGBMV: Double complex. a Array of dimension (lda,n). (input) SGBMV: Real array. DGBMV: Double precision array. CGBMV: Complex array. ZGBMV: Double complex array. Before entry, the leading (kl+ku+1)-by-n part of array a must contain the matrix of coefficients, supplied column-by-column, with the leading diagonal of the matrix in row (ku+1) of the array, the first superdiagonal starting at position 2 in row ku, the first subdiagonal starting at position 1 in row (ku+2), and so on. Elements in array a that do not correspond to elements in the band matrix (such as the top left ku-by-ku triangle) are not referenced. See the NOTES section for an example of Fortran code that transfers a band matrix from conventional full matrix storage to band storage. lda Integer. (input) Specifies the first dimension of a as declared in the calling program. lda >= (kl+ku+1). x Array of dimension 1+(n-1) * |incx| when trans = * |incx| otherwise. (input) SGBMV: Real array. DGBMV: Double precision array. CGBMV: Complex array. ZGBMV: Double complex array. Contains the vector x. When trans = 'N' or 'n', kx is n; otherwise, it is m. incx Integer. (input) Specifies the increment for the elements of x. incx must not be 0. beta Scalar beta. (input) SGBMV: Real. DGBMV: Double precision. CGBMV: Complex. ZGBMV: Double complex. When beta is supplied as 0, y need not be set on input. y Array of dimension 1+(m-1) * |incy| when trans = * otherwise. (input and output) SGBMV: Real array. DGBMV: Double precision array. CGBMV: Complex array. ZGBMV: Double complex array. Contains the vector y. When trans = 'N' or 'n', ky is m; otherwise, it is n. On exit, the updated vector overwrites array y. incy Integer. (input) Specifies the increment for the elements of y. incy must not be 0. NOTES The following program segment transfers a band matrix from conventional full matrix storage to band storage: DO 20, J = 1, N K = KU + 1 - J DO 10, I = MAX(1, J - KU), MIN(M, J + KL) A(K + I, J) = MATRIX(I, J) 10 CONTINUE 20 CONTINUE SGBMV, DGBMV, ZGBMV and CGBMV are Level 2 Basic Linear Algebra Subprograms (Level 2 BLAS). When working backward (incx < 0 or incy < 0), each routine starts at the end of the vector and moves backward, as follows: x(1-incx * (n-1)), x(1-incx * (n-2)) , ..., x(1) y(1-incy * (n-1)), y(1-incy * (n-2)) , ..., y(1) SEE ALSO This man page is available only online.