ZTPMV(3)

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

πŸ’… NAME πŸ’…

So bestie, you opened page ztpmv.f(3) out of the LAPACK Library Functions Manual, and the star of the show is this file right here:

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

That's it, that's the name. It's giving "my whole identity is a build path" and honestly? Iconic. πŸŽ€


✨ SYNOPSIS ✨

Functions/Subroutines

Okay so the whole vibe:

subroutine ZTPMV (uplo, trans, diag, n, ap, x, incx)
    ZTPMV

πŸ¦‹ Function/Subroutine Documentation πŸ¦‹

subroutine ZTPMV

Here's the full signature, no cap, character for character:

subroutine ZTPMV (character uplo, character trans, character diag, integer
    n, complex*16, dimension(*) ap, complex*16, dimension(*) x, integer
    incx)

ZTPMV 🌸

⭐ Purpose ⭐

Okay so literally, ZTPMV performs one of these 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, supplied in packed form. Packed form! She's compact, she's efficient, she's not wasting a single element on those zeros. Obsessed. πŸ’œ

πŸŽ€ Parameters πŸŽ€

  • UPLO β€” it's a CHARACTER*1. On entry, UPLO specifies whether the matrix is an upper or lower triangular matrix, like this:
    • UPLO = 'U' or 'u' β†’ A is an upper triangular matrix.
    • UPLO = 'L' or 'l' β†’ A is a lower triangular matrix.
  • TRANS β€” also a CHARACTER*1. On entry, TRANS specifies the operation to be performed, and your choices are:
    • TRANS = 'N' or 'n' β†’ x := A*x.
    • TRANS = 'T' or 't' β†’ x := A**T*x.
    • TRANS = 'C' or 'c' β†’ x := A**H*x.
  • DIAG β€” yeah, CHARACTER*1 again. 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 β€” an INTEGER. On entry, N specifies the order of the matrix A. N must be at least zero. Zero is allowed, she's chill like that. 🧚
  • AP β€” a COMPLEX*16 array, dimension at least ( ( n*( n + 1 ) )/2 ). This is the packed triangle, and the packing order is very much the main character here:
    • Before entry with UPLO = 'U' or 'u', the array AP must contain the upper triangular matrix packed sequentially, column by column, so that AP( 1 ) contains a( 1, 1 ), AP( 2 ) and AP( 3 ) contain a( 1, 2 ) and a( 2, 2 ) respectively, and so on.
    • Before entry with UPLO = 'L' or 'l', the array AP must contain the lower triangular matrix packed sequentially, column by column, so that AP( 1 ) contains a( 1, 1 ), AP( 2 ) and AP( 3 ) contain a( 2, 1 ) and a( 3, 1 ) respectively, and so on.
    • Heads up: when DIAG = 'U' or 'u', the diagonal elements of A are not referenced, but are assumed to be unity. So don't bother storing them, bestie, nobody's checking. πŸ™ˆ
  • X β€” a 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. She goes in as one thing and comes out as another, it's giving transformation arc. πŸ¦‹
  • INCX β€” an INTEGER. On entry, INCX specifies the increment for the elements of X. And listen: INCX must not be zero. Do not do it. 🚫

πŸ‘‘ Author πŸ‘‘

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

The whole squad. Respect. 🫢

πŸ”₯ Further Details: πŸ”₯

  • Level 2 Blas routine.
  • The vector and matrix arguments are not referenced when N = 0, or M = 0 β€” yep, that's literally what it says, I'm just reading the page to you. πŸ’€
  • -- 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.

1986 and still serving. The longevity. The legacy. Periodt. ⭐

Definition at line 141 of file ztpmv.f.


🌈 Author 🌈

Generated automatically by Doxygen for LAPACK from the source code. (Yes, a robot wrote this one. She's doing her best. 😭)


And that's the whole page, bestie β€” cute sign-off time: this was LAPACK Version 3.12.0, page /home/abui...SRC/ztpmv.f(3). Go forth and pack your triangles correctly. πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from