SRC/clacrm.f(3)

✨ SRC/clacrm.f ✨

ok so this is a page from the LAPACK Library Functions Manual and it's literally all about one little subroutine that just wants to multiply stuff πŸ’…


🌸 SYNOPSIS 🌸

Functions/Subroutines

  • subroutine clacrm (m, n, a, lda, b, ldb, c, ldc, rwork) β€” CLACRM multiplies a complex matrix by a square real matrix.

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

subroutine clacrm (integer m, integer n, complex, dimension( lda, * ) a, integer lda, real, dimension( ldb, * ) b, integer ldb, complex, dimension( ldc, * ) c, integer ldc, real, dimension( * ) rwork)

CLACRM multiplies a complex matrix by a square real matrix. no cap, that's the whole gig 🫢

πŸ’– Purpose:

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

ok bestie, it's giving "very simple" and honestly it means it β€” this is just a good old C := A * B and nothing else. iconic behavior honestly ✨

πŸŽ€ Parameters

  • M
!>          M is INTEGER
!>          The number of rows of the matrix A and of the matrix C.
!>          M >= 0.
!>

the row count, for both A and C β€” and it's gotta be M >= 0 fr fr.

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

N is doing double duty here 😭 it's the columns and rows of B (so B is square, lowkey the main character), plus the columns of C. N >= 0, periodt.

  • A
!>          A is COMPLEX array, dimension (LDA, N)
!>          On entry, A contains the M by N matrix A.
!>

complex array, dimension (LDA, N). on entry it's holding your M by N matrix A πŸ’œ

  • LDA
!>          LDA is INTEGER
!>          The leading dimension of the array A. LDA >=max(1,M).
!>

the leading dimension of A, and it has to satisfy LDA >=max(1,M) β€” no exceptions bestie πŸ™ˆ

  • B
!>          B is REAL array, dimension (LDB, N)
!>          On entry, B contains the N by N matrix B.
!>

real array, dimension (LDB, N). on entry it's your N by N matrix B ⭐

  • LDB
!>          LDB is INTEGER
!>          The leading dimension of the array B. LDB >=max(1,N).
!>

leading dimension of B, and LDB >=max(1,N), okurrr πŸ“

  • C
!>          C is COMPLEX array, dimension (LDC, N)
!>          On exit, C contains the M by N matrix C.
!>

complex array, dimension (LDC, N). on exit it's the M by N matrix C β€” that's the whole point of the whole function, she ate πŸ”₯

  • LDC
!>          LDC is INTEGER
!>          The leading dimension of the array C. LDC >=max(1,N).
!>

leading dimension of C, LDC >=max(1,N). yes it says N and not M, don't come for me, I'm just reading the page πŸ’€

  • RWORK
!>          RWORK is REAL array, dimension (2*M*N)
!>

a real workspace array, dimension (2*M*N) β€” she needs room to vibe while she computes 🌈

πŸ‘‘ Author

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

Definition at line 113 of file clacrm.f.


🌸 Author 🌸

Generated automatically by Doxygen for LAPACK from the source code.


lowkey the cutest part: this whole page was generated automatically by Doxygen for LAPACK, straight from the source code 🧚

and that's the tea, bestie πŸ’… this page is LAPACK Version 3.12.0, dated SRC/clacrm.f(3) β€” mwah, go multiply something πŸŽ€

πŸ“¦ where this page comes from