STRMM(3)

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

STRMM(3) β€” Library Functions Manual πŸŽ€

Okay bestie, this is the strmm.f(3) page from the Library Functions Manual, and it is literally the BLAS routine for triangular matrix-matrix multiplication. The file is /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/BLAS/SRC/strmm.f. No cap. ✨


πŸ’– NAME πŸ’–

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


✨ SYNOPSIS ✨

Functions/Subroutines

  • subroutine STRMM (side, uplo, transa, diag, m, n, alpha, a, lda, b, ldb) β€” the STRMM subroutine call, exactly as listed.
subroutine STRMM (side, uplo, transa, diag, m, n, alpha, a, lda, b, ldb)

STRMM


🫢 Function/Subroutine Documentation 🫢

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

STRMM

Purpose πŸ’«

It’s giving β€œtransform B with alpha and op( A ) from the left or the right.” Here’s the exact energy:

!>
!> STRMM  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.
!>

Parameters 🌸

  • SIDE β€” SIDE is CHARACTER*1. On entry, SIDE specifies whether op( A ) multiplies B from the left or right, like this:
    • SIDE = 'L' or 'l' β†’ B := alpha*op( A )*B.
    • SIDE = 'R' or 'r' β†’ B := alpha*B*op( A ).
  • UPLO β€” UPLO is CHARACTER*1. On entry, UPLO specifies whether matrix A is upper or lower triangular, like this:
    • 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 ) used in the matrix multiplication, like this:
    • TRANSA = 'N' or 'n' β†’ op( A ) = A.
    • TRANSA = 'T' or 't' β†’ op( A ) = A**T.
    • TRANSA = 'C' or 'c' β†’ op( A ) = A**T.
  • DIAG β€” DIAG is CHARACTER*1. On entry, DIAG specifies whether or not A is unit triangular, like this:
    • 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 REAL. On entry, ALPHA specifies the scalar alpha. When alpha is zero, A is not referenced and B need not be set before entry.
  • A β€” A is REAL 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 REAL 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.
  • 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.
!>

Definition at line 176 of file strmm.f.


Author πŸ¦‹

Generated automatically by Doxygen for LAPACK from the source code.


Signed, sealed, delivered: LAPACK Version 3.12.0 πŸ’–, from /home/abui...SRC/strmm.f(3), with that iconic 8-February-1989 energy still going strong. Bye bestie, go slay that triangular multiply! πŸ’…βœ¨

πŸ“¦ where this page comes from