/home/abui...N/dlakf2.f(3)

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

πŸ¦‹ DLAKF2 β€” the Kron-ecker Queen πŸ‘‘

ok so bestie, quick vibe check: this is a page from the Library Functions Manual, and the file it lives in is literally

/home/abuild/rpmbuild/BUILD/lapack-
static-3.12.0-build/lapack-3.12.0/TESTING/MATGEN/dlakf2.f

(the header shows it squished as /home/abui...N/dlakf2.f(3) πŸ’…). It's a Fortran thing from the LAPACK testing/matrix-generation crowd, and it is, lowkey, just here to build one extremely big matrix out of smaller ones. Kron energy only. ✨


🌸 SYNOPSIS 🌸

Functions/Subroutines, babes:

subroutine DLAKF2 (m, n, a, lda, b, d, e, z, ldz)
     DLAKF2

πŸ’– Function/Subroutine Documentation πŸ’–

πŸŽ€ subroutine DLAKF2

here's the full signature, character for character, no cap:

subroutine DLAKF2 (integer m, integer n, double precision, dimension( lda, *
) a, integer lda, double precision, dimension( lda, * ) b, double
precision, dimension( lda, * ) d, double precision, dimension( lda, * )
e, double precision, dimension( ldz, * ) z, integer ldz)

DLAKF2. that's the whole name. iconic, no notes. πŸ‘‘

⭐ Purpose:

ok so what it actually does β€” it forms the 2*M*N by 2*M*N matrix, and here's the whole thing in its natural habitat:

!>
!> Form the 2*M*N by 2*M*N matrix
!>
!>        Z = [ kron(In, A)  -kron(B', Im) ]
!>            [ kron(In, D)  -kron(E', Im) ],
!>
!> where In is the identity matrix of size n and X' is the transpose
!> of X. kron(X, Y) is the Kronecker product between the matrices X
!> and Y.
!>

so In is the identity matrix of size n, X' means the transpose of X, and kron(X, Y) is the Kronecker product between the matrices X and Y. it's giving block matrix main character energy. πŸ’€βœ¨

πŸ’œ Parameters

  • M β€” fr fr, here's the tea: M is INTEGER, and it's the Size of matrix, must be >= 1. so don't come in here with a zero. 🚫
  • N β€” N is INTEGER, Size of matrix, must be >= 1. same rules, bestie, >= 1 or nothing. πŸ’…
  • A β€” A is DOUBLE PRECISION, dimension ( LDA, M ), and it's The matrix A in the output matrix Z. she's a whole ingredient. πŸ“
  • LDA β€” LDA is INTEGER, The leading dimension of A, B, D, and E. ( LDA >= M+N ). notice that constraint: LDA >= M+N. not optional. πŸ™ˆ
  • B β€” B is DOUBLE PRECISION, dimension ( LDA, N ). yes that's the entire description, she's mysterious like that. πŸ¦‹
  • D β€” D is DOUBLE PRECISION, dimension ( LDA, M ). also just vibing with a dimension line. ✨
  • E β€” E is DOUBLE PRECISION, dimension ( LDA, N ), and together with the others: The matrices used in forming the output matrix Z. the squad. 🫢
  • Z β€” Z is DOUBLE PRECISION, dimension ( LDZ, 2*M*N ), The resultant Kronecker M*N*2 by M*N*2 matrix (see above.) β€” yes, "see above", they're pointing you back at the formula. go look. πŸ‘€
  • LDZ β€” LDZ is INTEGER, The leading dimension of Z. ( LDZ >= 2*M*N ). so if your LDZ isn't at least 2*M*N, we have a problem. ⚠️

πŸ‘‘ Author

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

all the legends, together, periodt. 🌈

🌟 Definition

Definition at line 104 of file dlakf2.f. β€” line 104, mark it, iykyk. πŸ“Œ


🧚 Author 🧚

Generated automatically by Doxygen for LAPACK from the source code. not me being literally generated by a robot, slay πŸ€–πŸ’…


ok that's the whole page bestie, nothing skipped, all facts intact, we ate and left no crumbs 🍽️✨

LAPACK β€” Version 3.12.0, footer written as /home/abui...N/dlakf2.f(3) β€” signed off with love, from your favorite Fortran group chat πŸ’ŒπŸŒΈ
πŸ“¦ where this page comes from