BLAS/SRC/ctpmv.f(3)

πŸŽ€ BLAS/SRC/ctpmv.f πŸŽ€

okay bestie, this is the Library Functions Manual page for BLAS/SRC/ctpmv.f β€” and it’s literally all about the BLAS subroutine CTPMV. No cap, it’s giving packed-triangular-matrix-vector energy. πŸ’…βœ¨


🌸 NAME 🌸

BLAS/SRC/ctpmv.f β€” the manpage home of CTPMV, the BLAS routine that does triangular packed matrix-vector operations. 🫢


✨ SYNOPSIS ✨

🧚 Functions/Subroutines 🧚

  • subroutine ctpmv (uplo, trans, diag, n, ap, x, incx) β€” CTPMV

πŸ’… Function/Subroutine Documentation πŸ’…

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

CTPMV β€” yes, that’s the icon. πŸ‘‘

🎯 Purpose 🎯

okay so CTPMV performs one of these matrix-vector operations, fr fr:

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. Periodt. πŸ’–

🧸 Parameters 🧸

  • UPLO β€” CHARACTER*1. On entry, UPLO tells us whether the matrix is upper or lower triangular. Choose your fighter:
    • 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 says which operation is happening. The vibe check:
    • 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 says whether A is unit triangular or not. Important little detail:
    • 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. No negative-era behavior here. 🚫
  • AP β€” COMPLEX array, dimension at least ( ( n*( n + 1 ) )/2 ). This is the packed matrix bestie:
    • 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.
    • Note that when DIAG = 'U' or 'u', the diagonal elements of A are not referenced, but are assumed to be unity. Cute, convenient, iconic. πŸ’«
  • X β€” COMPLEX 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. The main character gets a glow-up in place. ✨
  • INCX β€” INTEGER. On entry, INCX specifies the increment for the elements of X. INCX must not be zero. Fr fr, do not test it. 😭

πŸ“ Author πŸ“

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

πŸ” Further Details πŸ”

  • Level 2 Blas routine.
  • The vector and matrix arguments are not referenced when N = 0, or M = 0.
  • The source says: -- 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 141 of file ctpmv.f.


πŸ€– Author πŸ€–

Generated automatically by Doxygen for LAPACK from the source code.


πŸ’– Final sign-off, bestie: this page is LAPACK Version 3.12.0, file BLAS/SRC/ctpmv.f(3), and the date in the write-up is 22-October-1986. Byeee, go slay some packed triangular matrices πŸ’…βœ¨

πŸ“¦ where this page comes from