BLAS/SRC/ctrmm.f(3)

πŸ’– BLAS/SRC/ctrmm.f πŸ’–

okay so bestie, welcome to the ctrmm page from the LAPACK manual β€” specifically BLAS/SRC/ctrmm.f(3). it's giving triangular matrix-matrix realness and honestly? iconic. let's get into it 🫢


✨ NAME ✨

BLAS/SRC/ctrmm.f β€” she's a file, she's a legend, she does one (1) very specific job and she does it flawlessly πŸ’…


🌸 SYNOPSIS 🌸

Functions/Subroutines

  • subroutine ctrmm (side, uplo, transa, diag, m, n, alpha, a, lda, b, ldb) β€” CTRMM ✨

πŸŽ€ Function/Subroutine Documentation πŸŽ€

subroutine ctrmm (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)

CTRMM πŸ‘‘

Purpose:

CTRMM performs one of the matrix-matrix operations

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

where alpha is a scalar, B is an m by n matrix, 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.

no cap, that's the whole vibe. πŸ’«


πŸ’œ Parameters πŸ’œ

  • SIDE β€” SIDE is CHARACTER*1 On entry, SIDE specifies whether op( A ) multiplies B from the left or right as follows:
SIDE = 'L' or 'l'   B := alpha*op( A )*B.

SIDE = 'R' or 'r'   B := alpha*B*op( A ).

left or right, bestie β€” pick your lane πŸ¦‹

  • 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 as follows:
TRANSA = 'N' or 'n'   op( A ) = A.

TRANSA = 'T' or 't'   op( A ) = A**T.

TRANSA = 'C' or 'c'   op( A ) = A**H.

transpose? conjugate transpose? she contains multitudes ✨

  • 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.
  • N β€” N is INTEGER On entry, N specifies the number of columns of B. N must be at least zero.
  • 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? A gets to sit this one out, she's off the clock 😌

  • A β€” A is COMPLEX array, dimension ( LDA, k ), where k is m when SIDE = 'L' or 'l' and 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.
  • 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 ).
  • B β€” B is COMPLEX array, dimension ( LDB, N ). Before entry, the leading m by n part of the array B must contain the matrix B, and on exit is overwritten by the transformed matrix.

heads up bestie β€” B gets rewritten in place, she does not come back the same πŸ’€

  • 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 ).

πŸ‘‘ Author

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

πŸ”₯ Further Details:

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.

1989?? and still serving Level 3 BLAS excellence, we love a timeless queen πŸŽ€

Definition at line 176 of file ctrmm.f.


⭐ Author

Generated automatically by Doxygen for LAPACK from the source code.


and that's the whole page bestie!! no notes, she ate πŸ’…βœ¨

Version 3.12.0 β€” Tue Nov 28 2023 12:08:41 β€” BLAS/SRC/ctrmm.f(3) πŸ¦‹

okay bye ily, go call ctrmm responsibly πŸ«ΆπŸ’–