SRC/zlacrm.f(3)

✨ SRC/zlacrm.f ✨

okay bestie, so this is a page out of the LAPACK manual (that's the Library Functions Manual, in case you were wondering πŸ’…) and today's main character is a lil Fortran file called zlacrm.f. it's giving "quiet overachiever" and honestly? we're obsessed.


πŸ¦‹ SYNOPSIS πŸ¦‹

Functions/Subroutines

  • subroutine zlacrm (m, n, a, lda, b, ldb, c, ldc, rwork) β€” ZLACRM multiplies a complex matrix by a square real matrix. that's it, that's the girl πŸŽ€

🌸 Function/Subroutine Documentation 🌸

subroutine zlacrm (integer m, integer n, complex*16, dimension( lda, * ) a, integer lda, double precision, dimension( ldb, * ) b, integer ldb, complex*16, dimension( ldc, * ) c, integer ldc, double precision, dimension( * ) rwork)

okay so picture this: ZLACRM multiplies a complex matrix by a square real matrix. no cap, that's the whole job description πŸ”₯

πŸ’– Purpose:

!>
!> ZLACRM performs a very simple matrix-matrix multiplication:
!>          C := A * B,
!> where A is M by N and complex; B is N by N and real;
!> C is M by N and complex.
!>

literally just C := A * B. simple queen behavior. A is M by N and complex 🌈, B is N by N and real πŸ“, C is M by N and complex πŸ’œ. that's the whole lore.


πŸŽ€ Parameters πŸŽ€

  • M β€” !> M is INTEGER, !> The number of rows of the matrix A and of the matrix C., !> M >= 0. so like, how many rows A and C are serving. and bestie, M >= 0 β€” no negative row counts allowed, we don't do that here πŸ™ˆ
  • N β€” !> N is INTEGER, !> The number of columns and rows of the matrix B and, !> the number of columns of the matrix C., !> N >= 0. so N is doing double duty: it's how many columns AND rows B has (she's square, iconic πŸ‘‘) and how many columns C has. N >= 0 too, keep it legal ✨
  • A β€” !> A is COMPLEX*16 array, dimension (LDA, N), !> On entry, A contains the M by N matrix A. on entry! so this is the input era, she's incoming complex and ready to slay πŸ’…
  • LDA β€” !> LDA is INTEGER, !> The leading dimension of the array A. LDA >=max(1,M). leading dimension of A. note the constraint exactly as written: LDA >=max(1,M) ⭐
  • B β€” !> B is DOUBLE PRECISION array, dimension (LDB, N), !> On entry, B contains the N by N matrix B. on entry, and she's DOUBLE PRECISION β€” real numbers only, no imaginary drama πŸ™…
  • LDB β€” !> LDB is INTEGER, !> The leading dimension of the array B. LDB >=max(1,N). leading dimension of B, and yes: LDB >=max(1,N) πŸ¦‹
  • C β€” !> C is COMPLEX*16 array, dimension (LDC, N), !> On exit, C contains the M by N matrix C. on exit β€” this is the glow-up moment, C comes back with the answer πŸ’–
  • LDC β€” !> LDC is INTEGER, !> The leading dimension of the array C. LDC >=max(1,N). leading dimension of C. and here's the tea: the source literally says LDC >=max(1,N) β€” we're reporting it exactly as it appears, don't come for me 😭
  • RWORK β€” !> RWORK is DOUBLE PRECISION array, dimension (2*M*N) that's the workspace, dimension (2*M*N), doing the behind-the-scenes heavy lifting so A, B and C can have their main character moment ✨

πŸ‘‘ Author πŸ‘‘

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

the whole squad gets credit, as they should 🫢

Definition at line 113 of file zlacrm.f. β€” yes, line 113, go look if you don't believe me πŸ’€


🌈 Author (the meta one) 🌈

Generated automatically by Doxygen for LAPACK from the source code. not a human, just vibes and a doc generator doing its thing πŸ€–βœ¨


lowkey reminder bestie: all those array dimension constraints and >= bounds up there are load-bearing β€” they're not decoration, so respect them fr fr πŸŽ€

and that's the page! πŸ’œ brought to you by LAPACK, Version 3.12.0, dated on that LAPACK footer energy β€” mwah, go multiply something complex by something real, you've got this 🌸✨

πŸ“¦ where this page comes from