lagtm(3)

๐Ÿ’– NAME ๐Ÿ’–

okay so this is lagtm(3) from the Library Functions Manual โ€” part 1 of 2, bestie, and we are so back. It's the tridiagonal matrix-matrix multiply page, and it's giving precision-squad energy: four subroutines, same core vibe, different types. No cap. ๐Ÿ’…

lagtm - lagtm: tridiagonal matrix-matrix multiply.


โœจ SYNOPSIS โœจ

๐Ÿ’… Functions ๐Ÿ’…

  • subroutine clagtm (trans, n, nrhs, alpha, dl, d, du, x, ldx, beta, b, ldb) โ€” CLAGTM performs a matrix-matrix product of the form C = ฮฑAB+ฮฒC, where A is a tridiagonal matrix, B and C are rectangular matrices, and ฮฑ and ฮฒ are scalars, which may be 0, 1, or -1. ๐Ÿ’–
  • subroutine dlagtm (trans, n, nrhs, alpha, dl, d, du, x, ldx, beta, b, ldb) โ€” DLAGTM performs a matrix-matrix product of the form C = ฮฑAB+ฮฒC, where A is a tridiagonal matrix, B and C are rectangular matrices, and ฮฑ and ฮฒ are scalars, which may be 0, 1, or -1. โœจ
  • subroutine slagtm (trans, n, nrhs, alpha, dl, d, du, x, ldx, beta, b, ldb) โ€” SLAGTM performs a matrix-matrix product of the form C = ฮฑAB+ฮฒC, where A is a tridiagonal matrix, B and C are rectangular matrices, and ฮฑ and ฮฒ are scalars, which may be 0, 1, or -1. ๐ŸŽ€
  • subroutine zlagtm (trans, n, nrhs, alpha, dl, d, du, x, ldx, beta, b, ldb) โ€” ZLAGTM performs a matrix-matrix product of the form C = ฮฑAB+ฮฒC, where A is a tridiagonal matrix, B and C are rectangular matrices, and ฮฑ and ฮฒ are scalars, which may be 0, 1, or -1. ๐Ÿฆ‹

๐Ÿฆ‹ Detailed Description ๐Ÿฆ‹

okay so this section is giving โ€œheading onlyโ€ energy in the source โ€” no extra prose before the function docs, so we're keeping it cute and moving right along. ๐ŸŒธ

๐Ÿ‘‘ Function Documentation ๐Ÿ‘‘

the source wraps the purpose and parameter text in !> Fortran doc-comment confetti; the facts below are all the tea โ˜•

๐Ÿงš clagtm โ€” complex-precision bestie

subroutine clagtm (character trans, integer n, integer nrhs, real alpha,
    complex, dimension( * ) dl, complex, dimension( * ) d, complex,
    dimension( * ) du, complex, dimension( ldx, * ) x, integer ldx, real
    beta, complex, dimension( ldb, * ) b, integer ldb)

CLAGTM performs a matrix-matrix product of the form C = ฮฑAB+ฮฒC, where A is a tridiagonal matrix, B and C are rectangular matrices, and ฮฑ and ฮฒ are scalars, which may be 0, 1, or -1. Slay. ๐Ÿ’œ

โœจ Purpose โœจ

okay so it literally does:

B := alpha * A * X + beta * B

where A is a tridiagonal matrix of order N, B and X are N by NRHS matrices, and alpha and beta are real scalars, each of which may be 0., 1., or -1. periodt. ๐Ÿ’…

๐ŸŽ€ Parameters ๐ŸŽ€

  • TRANS โ€” TRANS is CHARACTER*1. Specifies the operation applied to A.
    • = 'N': No transpose, B := alpha * A * X + beta * B
    • = 'T': Transpose, B := alpha * A**T * X + beta * B
    • = 'C': Conjugate transpose, B := alpha * A**H * X + beta * B
  • N โ€” N is INTEGER. The order of the matrix A. N >= 0.
  • NRHS โ€” NRHS is INTEGER. The number of right hand sides, i.e., the number of columns of the matrices X and B.
  • ALPHA โ€” ALPHA is REAL. The scalar alpha. ALPHA must be 0., 1., or -1.; otherwise, it is assumed to be 0.
  • DL โ€” DL is COMPLEX array, dimension (N-1). The (n-1) sub-diagonal elements of T.
  • D โ€” D is COMPLEX array, dimension (N). The diagonal elements of T.
  • DU โ€” DU is COMPLEX array, dimension (N-1). The (n-1) super-diagonal elements of T.
  • X โ€” X is COMPLEX array, dimension (LDX,NRHS). The N by NRHS matrix X.
  • LDX โ€” LDX is INTEGER. The leading dimension of the array X. LDX >= max(N,1).
  • BETA โ€” BETA is REAL. The scalar beta. BETA must be 0., 1., or -1.; otherwise, it is assumed to be 1.
  • B โ€” B is COMPLEX array, dimension (LDB,NRHS). On entry, the N by NRHS matrix B. On exit, B is overwritten by the matrix expression B := alpha * A * X + beta * B.
  • LDB โ€” LDB is INTEGER. The leading dimension of the array B. LDB >= max(N,1).

Author: Univ. of Tennessee, Univ. of California Berkeley, Univ. of Colorado Denver, NAG Ltd.

Definition at line 143 of file clagtm.f.


๐Ÿฆ‹ dlagtm โ€” double-precision icon

subroutine dlagtm (character trans, integer n, integer nrhs, double
    precision alpha, double precision, dimension( * ) dl, double precision,
    dimension( * ) d, double precision, dimension( * ) du, double precision,
    dimension( ldx, * ) x, integer ldx, double precision beta, double
    precision, dimension( ldb, * ) b, integer ldb)

DLAGTM performs a matrix-matrix product of the form C = ฮฑAB+ฮฒC, where A is a tridiagonal matrix, B and C are rectangular matrices, and ฮฑ and ฮฒ are scalars, which may be 0, 1, or -1. Obsessed. ๐Ÿ’–

โœจ Purpose โœจ

same iconic formula, double-precision edition:

B := alpha * A * X + beta * B

where A is a tridiagonal matrix of order N, B and X are N by NRHS matrices, and alpha and beta are real scalars, each of which may be 0., 1., or -1. fr fr. ๐Ÿ˜ญ

๐ŸŽ€ Parameters ๐ŸŽ€

  • TRANS โ€” TRANS is CHARACTER*1. Specifies the operation applied to A.
    • = 'N': No transpose, B := alpha * A * X + beta * B
    • = 'T': Transpose, B := alpha * A'* X + beta * B
    • = 'C': Conjugate transpose = Transpose
  • N โ€” N is INTEGER. The order of the matrix A. N >= 0.
  • NRHS โ€” NRHS is INTEGER. The number of right hand sides, i.e., the number of columns of the matrices X and B.
  • ALPHA โ€” ALPHA is DOUBLE PRECISION. The scalar alpha. ALPHA must be 0., 1., or -1.; otherwise, it is assumed to be 0.
  • DL โ€” DL is DOUBLE PRECISION array, dimension (N-1). The (n-1) sub-diagonal elements of T.
  • D โ€” D is DOUBLE PRECISION array, dimension (N). The diagonal elements of T.
  • DU โ€” DU is DOUBLE PRECISION array, dimension (N-1). The (n-1) super-diagonal elements of T.
  • X โ€” X is DOUBLE PRECISION array, dimension (LDX,NRHS). The N by NRHS matrix X.
  • LDX โ€” LDX is INTEGER. The leading dimension of the array X. LDX >= max(N,1).
  • BETA โ€” BETA is DOUBLE PRECISION. The scalar beta. BETA must be 0., 1., or -1.; otherwise, it is assumed to be 1.
  • B โ€” B is DOUBLE PRECISION array, dimension (LDB,NRHS). On entry, the N by NRHS matrix B. On exit, B is overwritten by the matrix expression B := alpha * A * X + beta * B.
  • LDB โ€” LDB is INTEGER. The leading dimension of the array B. LDB >= max(N,1).

Author: Univ. of Tennessee, Univ. of California Berkeley, Univ. of Colorado Denver, NAG Ltd.

Definition at line 143 of file dlagtm.f.


๐ŸŒˆ slagtm โ€” real-precision sweetie

subroutine slagtm (character trans, integer n, integer nrhs, real alpha,
    real, dimension( * ) dl, real, dimension( * ) d, real, dimension( * )
    du, real, dimension( ldx, * ) x, integer ldx, real beta, real,
    dimension( ldb, * ) b, integer ldb)

SLAGTM performs a matrix-matrix product of the form C = ฮฑAB+ฮฒC, where A is a tridiagonal matrix, B and C are rectangular matrices, and ฮฑ and ฮฒ are scalars, which may be 0, 1, or -1. It's giving main character energy. ๐Ÿ‘‘๐Ÿ”ฅ

โœจ Purpose โœจ

and it's doing the exact same product vibe, real-precision style:

B := alpha * A * X + beta * B

where A is a tridiagonal matrix of order N, B and X are N by NRHS matrices, and alpha and beta are real scalars, each of which may be 0., 1., or -1. no notes. ๐ŸŒŸ

๐ŸŽ€ Parameters ๐ŸŽ€

  • TRANS โ€” TRANS is CHARACTER*1. Specifies the operation applied to A.
    • = 'N': No transpose, B := alpha * A * X + beta * B
    • = 'T': Transpose, B := alpha * A'* X + beta * B
    • = 'C': Conjugate transpose = Transpose
  • N โ€” N is INTEGER. The order of the matrix A. N >= 0.
  • NRHS โ€” NRHS is INTEGER. The number of right hand sides, i.e., the number of columns of the matrices X and B.
  • ALPHA โ€” ALPHA is REAL. The scalar alpha. ALPHA must be 0., 1., or -1.; otherwise, it is assumed to be 0.
  • DL โ€” DL is REAL array, dimension (N-1). The (n-1) sub-diagonal elements of T.
  • D โ€” D is REAL array, dimension (N). The diagonal elements of T.
  • DU โ€” DU is REAL array, dimension (N-1). The (n-1) super-diagonal elements of T.
  • X โ€” X is REAL array, dimension (LDX,NRHS). The N by NRHS matrix X.
  • LDX โ€” LDX is INTEGER. The leading dimension of the array X. LDX >= max(N,1).
  • BETA โ€” BETA is REAL. The scalar beta. BETA must be 0., 1., or -1.; otherwise, it is assumed to be 1.
  • B โ€” B is REAL array, dimension (LDB,NRHS). On entry, the N by NRHS matrix B. On exit, B is overwritten by the matrix expression B := alpha * A * X + beta * B.
  • LDB โ€” LDB is INTEGER. The leading dimension of the array B. LDB >= max(N,1).

Author: Univ. of Tennessee, Univ. of California Berkeley, Univ. of Colorado Denver, NAG Ltd.

Definition at line 143 of file slagtm.f.


part 2 is loading with the zlagtm receipts โ€” don't touch that dial, bestie ๐Ÿ‘€๐Ÿซถ

okay so we already got the intro out of the way โ€” now itโ€™s time for the actual zlagtm glow-up โœจ this is the subroutine that does the tridiagonal matrix-matrix product, and honestly? it ate ๐Ÿ’…

   subroutine zlagtm (character trans, integer n, integer nrhs, double
       precision alpha, complex*16, dimension( * ) dl, complex*16, dimension( *
       ) d, complex*16, dimension( * ) du, complex*16, dimension( ldx, * ) x,
       integer ldx, double precision beta, complex*16, dimension( ldb, * ) b,
       integer ldb)

ZLAGTM performs a matrix-matrix product of the form C = ฮฑAB+ฮฒC, where A is a tridiagonal matrix, B and C are rectangular matrices, and ฮฑ and ฮฒ are scalars, which may be 0, 1, or -1. no cap, thatโ€™s the whole vibe ๐Ÿซถ

Purpose โ€” the actual math baddie ๐Ÿงฎ

okay so the purpose is literally this:

B := alpha * A * X + beta * B

where A is a tridiagonal matrix of order N, B and X are N by NRHS matrices, and alpha and beta are real scalars, each of which may be 0., 1., or -1. ๐Ÿ’–


Parameters ๐Ÿซถ

  • TRANS โ€” TRANS is CHARACTER*1. Specifies the operation applied to A.
    • = 'N': No transpose, B := alpha * A * X + beta * B
    • = 'T': Transpose, B := alpha * A**T * X + beta * B
    • = 'C': Conjugate transpose, B := alpha * A**H * X + beta * B
  • N โ€” N is INTEGER. The order of the matrix A. N >= 0.
  • NRHS โ€” NRHS is INTEGER. The number of right hand sides, i.e., the number of columns of the matrices X and B.
  • ALPHA โ€” ALPHA is DOUBLE PRECISION. The scalar alpha. ALPHA must be 0., 1., or -1.; otherwise, it is assumed to be 0.
  • DL โ€” DL is COMPLEX*16 array, dimension (N-1). The (n-1) sub-diagonal elements of T.
  • D โ€” D is COMPLEX*16 array, dimension (N). The diagonal elements of T.
  • DU โ€” DU is COMPLEX*16 array, dimension (N-1). The (n-1) super-diagonal elements of T.
  • X โ€” X is COMPLEX*16 array, dimension (LDX,NRHS). The N by NRHS matrix X.
  • LDX โ€” LDX is INTEGER. The leading dimension of the array X. LDX >= max(N,1).
  • BETA โ€” BETA is DOUBLE PRECISION. The scalar beta. BETA must be 0., 1., or -1.; otherwise, it is assumed to be 1.
  • B โ€” B is COMPLEX*16 array, dimension (LDB,NRHS). On entry, the N by NRHS matrix B. On exit, B is overwritten by the matrix expression B := alpha * A * X + beta * B.
  • LDB โ€” LDB is INTEGER. The leading dimension of the array B. LDB >= max(N,1).
โš ๏ธ bestie, please clock this: if ALPHA is not 0., 1., or -1., it gets assumed to be 0.. If BETA is not 0., 1., or -1., it gets assumed to be 1. and B is very much overwritten on exit. not a drill ๐Ÿ’€

Author ๐Ÿ’–

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

Definition at line 143 of file zlagtm.f.

Author (the automated one) ๐Ÿค–

Generated automatically by Doxygen for LAPACK from the source code.


and thatโ€™s the whole page, bestie โ€” LAPACK Version 3.12.0, lagtm(3), out ๐Ÿ’…โœจ๐ŸŽ€

๐Ÿ“ฆ where this page comes from