ZGET54(3)
π¦ ZGET54(3) β the LAPACK check-my-decomposition girlie π¦
okay so this page lives in the Library Functions Manual for LAPACK (yes, the /home/abui...IG/zget54.f(3) one, mwah π
), and it's literally all about one lil Fortran subroutine that does a vibe check on your generalized decomposition. buckle up bestie, we're going in π
β¨ NAME β¨
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/EIG/zget54.f β that's the whole glowing file path, and honestly she's that file. π
πΈ SYNOPSIS πΈ
Functions/Subroutines
subroutine ZGET54 (n, a, lda, b, ldb, s, lds, t, ldt, u, ldu, v, ldv, work, result)β the icon herself,ZGET54π
subroutine ZGET54 (n, a, lda, b, ldb, s, lds, t, ldt, u, ldu, v, ldv,
work, result)
ZGET54
π Function/Subroutine Documentation π
subroutine ZGET54 (integer n, complex*16, dimension( lda, * ) a, integer
lda, complex*16, dimension( ldb, * ) b, integer ldb, complex*16,
dimension( lds, * ) s, integer lds, complex*16, dimension( ldt, * ) t,
integer ldt, complex*16, dimension( ldu, * ) u, integer ldu, complex*16,
dimension( ldv, * ) v, integer ldv, complex*16, dimension( * ) work,
double precision result)
ZGET54
she's giving main character energy, fr fr π
π§ Purpose
!>!> ZGET54 checks a generalized decomposition of the form!>!> A = U*S*V' and B = U*T* V'!>!> where ' means conjugate transpose and U and V are unitary.!>!> Specifically,!>!> RESULT = ||( A - U*S*V', B - U*T*V' )|| / (||( A, B )||*n*ulp )!>
so basically: you hand her your A, your B, and the whole factored situation, and she tells you how far off your reconstruction is, scaled by (||( A, B )||*n*ulp ). the way that this is literally just a normalized error check ππ₯
π Parameters
N
!> N is INTEGER!> The size of the matrix. If it is zero, DGET54 does nothing.!> It must be at least zero.!>
(yes she says DGET54 in the source, and no we do not correct our queen's typo π β and also N has to be at least zero, okurr)
A
!> A is COMPLEX*16 array, dimension (LDA, N)!> The original (unfactored) matrix A.!>
the raw, un-factored, pre-glow-up A β¨
LDA
!> LDA is INTEGER!> The leading dimension of A. It must be at least 1!> and at least N.!>
so it's gotta be at least 1 and at least N, no skipping π
B
!> B is COMPLEX*16 array, dimension (LDB, N)!> The original (unfactored) matrix B.!>
the other original (unfactored) matrix, B π«Ά
LDB
!> LDB is INTEGER!> The leading dimension of B. It must be at least 1!> and at least N.!>
at least 1, at least N. periodt π
S
!> S is COMPLEX*16 array, dimension (LDS, N)!> The factored matrix S.!>
the factored one, she's been through something πΈ
LDS
!> LDS is INTEGER!> The leading dimension of S. It must be at least 1!> and at least N.!>
T
!> T is COMPLEX*16 array, dimension (LDT, N)!> The factored matrix T.!>
LDT
!> LDT is INTEGER!> The leading dimension of T. It must be at least 1!> and at least N.!>
U
!> U is COMPLEX*16 array, dimension (LDU, N)!> The orthogonal matrix on the left-hand side in the!> decomposition.!>
left-hand side icon π
LDU
!> LDU is INTEGER!> The leading dimension of U. LDU must be at least N and!> at least 1.!>
(LDU must be at least N and at least 1 β same vibe, slightly different word order, and we respect it π)
V
!> V is COMPLEX*16 array, dimension (LDV, N)!> The orthogonal matrix on the left-hand side in the!> decomposition.!>
yes, the source literally also says "left-hand side" for V β not me, not my fault, I'm just the messenger π§
LDV
!> LDV is INTEGER!> The leading dimension of V. LDV must be at least N and!> at least 1.!>
WORK
!> WORK is COMPLEX*16 array, dimension (3*N**2)!>
she needs room to cook β (3*N**2) of it π₯
RESULT
!> RESULT is DOUBLE PRECISION!> The value RESULT, It is currently limited to 1/ulp, to!> avoid overflow. Errors are flagged by RESULT=10/ulp.!>
β οΈ heads up bestie:RESULTis capped at1/ulpso nothing overflows, and if things go wrong you getRESULT=10/ulpthrown at you π that's your error flag, iykyk
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 154 of file zget54.f. π
π Author
Generated automatically by Doxygen for LAPACK from the source code. π€ (the bot did her makeup and she ate, ngl)
and that's the whole page, bestie β no cap, every flag, every dimension, every !> line accounted for π
LAPACK, Version 3.12.0 β and the source path on the footer is /home/abui...IG/zget54.f(3), so likeβ¦ that's the whole sign-off, mwah π«Άβ¨π
π¦ 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