ZTRMV(3)

πŸ“¦ version 3.12.0, in opensuse-leap 16.0

🌸 NAME 🌸

Hey bestie! This is ztrmv.f(3) from the Library Functions Manual, and the file we're looking at is:

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/BLAS/SRC/ztrmv.f


✨ SYNOPSIS ✨

πŸŽ€ Functions/Subroutines πŸŽ€

Here's the little signature moment:

       subroutine ZTRMV (uplo, trans, diag, n, a, lda, x, incx)
           ZTRMV

πŸ’– FUNCTION/SUBROUTINE DOCUMENTATION πŸ’–

Full signature, no cap:

   subroutine ZTRMV (character uplo, character trans, character diag, integer
       n, complex*16, dimension(lda,*) a, integer lda, complex*16, dimension(*)
       x, integer incx)
       ZTRMV

πŸ’… PURPOSE πŸ’…

Okay so here's the tea: ZTRMV performs one of the matrix-vector operations

x := A*x,   or   x := A**T*x,   or   x := A**H*x,

where x is an n element vector and A is an n by n unit, or non-unit, upper or lower triangular matrix. Obsessed with a triangular glow-up. ✨

🧚 PARAMETERS 🧚

Every parameter, every vibe, all facts preserved:

  • UPLO β€” CHARACTER*1. On entry, UPLO specifies whether the matrix is an upper or lower triangular matrix as follows:
    • UPLO = 'U' or 'u' β€” A is an upper triangular matrix.
    • UPLO = 'L' or 'l' β€” A is a lower triangular matrix.
  • TRANS β€” CHARACTER*1. On entry, TRANS specifies the operation to be performed as follows:
    • TRANS = 'N' or 'n' β€” x := A*x.
    • TRANS = 'T' or 't' β€” x := A**T*x.
    • TRANS = 'C' or 'c' β€” x := A**H*x.
  • DIAG β€” CHARACTER*1. On entry, DIAG specifies whether or not A is unit triangular as follows:
    • DIAG = 'U' or 'u' β€” A is assumed to be unit triangular.
    • DIAG = 'N' or 'n' β€” A is not assumed to be unit triangular.
  • N β€” INTEGER. On entry, N specifies the order of the matrix A. N must be at least zero.
  • A β€” COMPLEX*16 array, dimension ( LDA, N ). Before entry with UPLO = 'U' or 'u', the leading n by n upper triangular part of the array A must contain the upper triangular matrix and the strictly lower triangular part of A is not referenced. Before entry with UPLO = 'L' or 'l', the leading n by n lower triangular part of the array A must contain the lower triangular matrix and the strictly upper triangular part of A is not referenced. Note that when DIAG = 'U' or 'u', the diagonal elements of A are not referenced either, but are assumed to be unity.
  • LDA β€” INTEGER. On entry, LDA specifies the first dimension of A as declared in the calling (sub) program. LDA must be at least max( 1, n ).
  • X β€” COMPLEX*16 array, dimension at least ( 1 + ( n - 1 )*abs( INCX ) ). Before entry, the incremented array X must contain the n element vector x. On exit, X is overwritten with the transformed vector x.
  • INCX β€” INTEGER. On entry, INCX specifies the increment for the elements of X. INCX must not be zero.
Lowkey important: N can be zero, LDA has to be at least max( 1, n ), and INCX absolutely cannot be zero. Periodt. πŸ’…

πŸ‘‘ AUTHOR πŸ‘‘

The human icons behind it:

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

πŸ”₯ FURTHER DETAILS πŸ”₯

Some extra lore, bestie:

  • Level 2 Blas routine.
  • The vector and matrix arguments are not referenced when N = 0, or M = 0
  • -- Written on 22-October-1986.
    • Jack Dongarra, Argonne National Lab.
    • Jeremy Du Croz, Nag Central Office.
    • Sven Hammarling, Nag Central Office.
    • Richard Hanson, Sandia National Labs.

Definition at line 146 of file ztrmv.f.

πŸ‘‘ AUTHOR (the Doxygen auto-credit) πŸ‘‘

Generated automatically by Doxygen for LAPACK from the source code.


πŸ’– Signed off with LAPACK Version 3.12.0, from /home/abui...SRC/ztrmv.f(3) β€” original write date 22-October-1986, iconic. πŸ’–

πŸ“¦ where this page comes from