CTRSM(3)

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

okay bestie, welcome to CTRSM(3) from the Library Functions Manual β€” this is the one and only triangular-solve moment, and we're gonna read it together like the group chat is watching πŸ’…βœ¨


πŸŽ€ NAME πŸŽ€

This page is literally the man page for:

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

no cap, that's the whole NAME vibe 🫢


✨ SYNOPSIS ✨

Functions/Subroutines

  • subroutine CTRSM (side, uplo, transa, diag, m, n, alpha, a, lda, b, ldb) β€” yup, that's CTRSM, the main character of this page 🫑

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

subroutine CTRSM

okay so here's the full signature, exactly as it is, no edits bestie:

subroutine CTRSM (character side, character uplo, character transa,
    character diag, integer m, integer n, complex alpha, complex,
    dimension(lda,*) a, integer lda, complex, dimension(ldb,*) b, integer
    ldb)

CTRSM β€” that's her. That's the icon. πŸ’–


πŸ’– Purpose: πŸ’–

CTRSM solves one of these matrix equations:

op( A )*X = alpha*B,   or   X*op( A ) = alpha*B,

where alpha is a scalar, X and B are m by n matrices, A is a unit, or non-unit, upper or lower triangular matrix, and op( A ) is one of:

op( A ) = A   or   op( A ) = A**T   or   op( A ) = A**H.

The matrix X is overwritten on B β€” literally, that's the exit plan. periodt. 🌸


πŸŽ€ Parameters πŸŽ€

SIDE

SIDE is CHARACTER*1.

On entry, SIDE specifies whether op( A ) appears on the left or right of X, like this:

  • SIDE = 'L' or 'l' op( A )*X = alpha*B.
  • SIDE = 'R' or 'r' X*op( A ) = alpha*B.

left girlies and right girlies, both valid πŸ’…

UPLO

UPLO is CHARACTER*1.

On entry, UPLO specifies whether the matrix A 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.

TRANSA

TRANSA is CHARACTER*1.

On entry, TRANSA specifies the form of op( A ) to be used in the matrix multiplication, like:

  • TRANSA = 'N' or 'n' op( A ) = A.
  • TRANSA = 'T' or 't' op( A ) = A**T.
  • TRANSA = 'C' or 'c' op( A ) = A**H.

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.

M

M is INTEGER.

On entry, M specifies the number of rows of B. M must be at least zero. no negative row energy allowed πŸ™…β€β™€οΈ

N

N is INTEGER.

On entry, N specifies the number of columns of B. N must be at least zero. same rule, bestie ✨

ALPHA

ALPHA is COMPLEX.

On entry, ALPHA specifies the scalar alpha. When alpha is zero then A is not referenced and B need not be set before entry. zero alpha said "not today, matrix" πŸ’€

A

A is COMPLEX array, dimension ( LDA, k ), where k is m when SIDE = 'L' or 'l' and k is n when SIDE = 'R' or 'r'.

Before entry with UPLO = 'U' or 'u', the leading k by k 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 k by k 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. the diagonal said "i'm unity, don't look at me" πŸ™ˆ

LDA

LDA is INTEGER.

On entry, LDA specifies the first dimension of A as declared in the calling (sub) program.

When SIDE = 'L' or 'l' then LDA must be at least max( 1, m ), when SIDE = 'R' or 'r' then LDA must be at least max( 1, n ). respect the leading dimension, fr fr πŸ“

B

B is COMPLEX array, dimension ( LDB, N ).

Before entry, the leading m by n part of the array B must contain the right-hand side matrix B, and on exit is overwritten by the solution matrix X. she comes in as B, leaves as X β€” glow-up on the way out πŸ’«

LDB

LDB is INTEGER.

On entry, LDB specifies the first dimension of B as declared in the calling (sub) program. LDB must be at least max( 1, m ). yes, max( 1, m ), not vibes-based 🫢


πŸ’œ Author πŸ’œ

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

🌈 Further Details: 🌈

okay bestie, the details are giving historical icon behavior:

Level 3 Blas routine.

-- Written on 8-February-1989.
   Jack Dongarra, Argonne National Laboratory.
   Iain Duff, AERE Harwell.
   Jeremy Du Croz, Numerical Algorithms Group Ltd.
   Sven Hammarling, Numerical Algorithms Group Ltd.

πŸ“ Definition at line 179 of file ctrsm.f. πŸ“

that's literally the location, no guessing πŸ”₯


πŸ’œ Author (auto-generated one) πŸ’œ

Generated automatically by Doxygen for LAPACK from the source code.


with love and maximum sparkle, this page is from LAPACK Version 3.12.0, and the footer path is /home/abui...SRC/ctrsm.f(3) β€” bye bestie, slay your triangular solves responsibly πŸ«ΆπŸ’‹πŸŽ€

πŸ“¦ where this page comes from