BLAS/SRC/ctrsv.f(3)

✨ BLAS/SRC/ctrsv.f ✨

okay bestie, welcome to the LAPACK corner of the manual, page BLAS/SRC/ctrsv.f(3) β€” this one is a Level 2 BLAS baddie and she is serving triangular solves πŸ’…


🌸 NAME 🌸

BLAS/SRC/ctrsv.f β€” no cap, that's the whole name, that's the icon, that's the file πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

Functions/Subroutines

  • subroutine ctrsv (uplo, trans, diag, n, a, lda, x, incx) β€” the one and only CTRSV πŸ‘‘

πŸ’– Function/Subroutine Documentation πŸ’–

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

CTRSV 🌈

Purpose:

so CTRSV solves one of these systems of equations, pick your fighter:

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.

🚨 real talk bestie: No test for singularity or near-singularity is included in this routine. Such tests must be performed before calling this routine. she is not checking your work, she is just vibing and solving. if your matrix is singular that is a you problem 😭

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. (zero is allowed, she's flexible like that ✨)
  • A β€” A is COMPLEX 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. πŸ‘‘ (yes, that half of your array is just decorative, ignore her)
  • 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 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. πŸ’« she comes in as b, she leaves as x β€” glow up fr fr
  • INCX β€” INCX is INTEGER. On entry, INCX specifies the increment for the elements of X. INCX must not be zero. (not zero, bestie, do not do it, zero is forbidden)

Author 🌟

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

the whole squad, the avengers of linear algebra 🫢


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.

1986 and still eating, iconic behavior, periodt. πŸ”₯


Definition at line 148 of file ctrsv.f.


πŸ’œ Author πŸ’œ

Generated automatically by Doxygen for LAPACK from the source code. (yes the robot wrote the docs, she's doing her best πŸŽ€)


and that's the whole page bestie!! Version 3.12.0, dated Tue Nov 28 2023 12:08:41, and yeah it lives at BLAS/SRC/ctrsv.f(3) β€” now go solve your triangular system, main character πŸ’…βœ¨πŸ¦‹πŸŒΈπŸ’–