/home/abui...N/dlakf2.f(3)
π¦ 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 theSize 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,>= 1or nothing. πAβA is DOUBLE PRECISION, dimension ( LDA, M ), and it'sThe 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 yourLDZisn't at least2*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
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms