BLAS/SRC/ztrsv.f(3)

πŸ’– ztrsv β€” the BLAS page, but make it cute ✨

okay bestie, so this page lives at BLAS/SRC/ztrsv.f(3) in the LAPACK manual and it's literally about one little subroutine that solves triangular systems. she's small, she's powerful, she's giving linear algebra main character energy. let's get into it πŸŽ€


🌈 SYNOPSIS

Functions/Subroutines

  • subroutine ztrsv (uplo, trans, diag, n, a, lda, x, incx) β€” that's her. that's ZTRSV. πŸ’…

πŸ¦‹ Function/Subroutine Documentation

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

no cap, that's the whole signature. ZTRSV. iconic. πŸ‘‘

Purpose:

ZTRSV solves one of the systems of equations

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

where b and x are n element vectors and A is an n by n unit, or non-unit, upper or lower triangular matrix. she's solving for x, that's her whole job, and she does it well πŸ’–

⚠️ okay so this is important and I'm not gonna soften it: no test for singularity or near-singularity is included in this routine. Such tests must be performed before calling this routine. like, she will NOT warn you. she will just go. so check your matrix yourself first, bestie, fr fr 😭

✨ Parameters

UPLO

UPLO is 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

TRANS is CHARACTER*1. on entry, TRANS specifies the equations to be solved as follows:

  • TRANS = 'N' or 'n' β€” A*x = b.
  • TRANS = 'T' or 't' β€” A**T*x = b.
  • TRANS = 'C' or 'c' β€” A**H*x = b.

DIAG

DIAG is 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

N is INTEGER. on entry, N specifies the order of the matrix A. N must be at least zero. (yes, zero is allowed, she's flexible like that 🌸)

A

A is 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

LDA is 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

X is COMPLEX*16 array, dimension at least ( 1 + ( n - 1 )*abs( INCX ) ).

Before entry, the incremented array X must contain the n element right-hand side vector b. On exit, X is overwritten with the solution vector x. πŸ’€ the way she just takes your b and hands you back an x, no copy, no mercy, in-place queen.

INCX

INCX is INTEGER. on entry, INCX specifies the increment for the elements of X. INCX must not be zero. like literally don't. 🚫


πŸ‘‘ Author

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

🧚 Further Details:

  • Level 2 Blas routine.
  • -- 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.

like hello?? 1986?? these legends were out here writing BLAS before most of us were even a thought. absolute icons, periodt. 🌟


Definition at line 148 of file ztrsv.f.


πŸ’œ Author (again, because she's got two credits, she's booked and busy)

Generated automatically by Doxygen for LAPACK from the source code.


that's the whole page, bestie!! every flag, every dimension, every must be at least, all of it, right where you need it. πŸŽ€

this was Version 3.12.0, Tue Nov 28 2023 12:08:41, from BLAS/SRC/ztrsv.f(3) β€” mwah, go solve your triangular systems, you gorgeous nerd πŸ¦‹πŸ’–βœ¨