SRC/sorbdb5.f(3)
π SRC/sorbdb5.f β like, the whole entire manual page bestie β¨
okay so real quick context: this is from SRC/sorbdb5.f, and it's in the Library Functions Manual. Buckle up, we're doing linear algebra and we're doing it fabulously π
β¨ NAME β¨
SRC/sorbdb5.f β that's literally her. that's the file. periodt.
π¦ SYNOPSIS π¦
Functions/Subroutines
subroutine sorbdb5 (m1, m2, n, x1, incx1, x2, incx2, q1, ldq1, q2, ldq2,
work, lwork, info)
SORBDB5 β iconic name, no notes π
π Function/Subroutine Documentation π
subroutine sorbdb5 (integer m1, integer m2, integer n, real, dimension(*)
x1, integer incx1, real, dimension(*) x2, integer incx2, real,
dimension(ldq1,*) q1, integer ldq1, real, dimension(ldq2,*) q2, integer
ldq2, real, dimension(*) work, integer lwork, integer info)
SORBDB5 π
πΈ Purpose πΈ
okay so here's the vibe:
!>
!> SORBDB5 orthogonalizes the column vector
!> X = [ X1 ]
!> [ X2 ]
!> with respect to the columns of
!> Q = [ Q1 ] .
!> [ Q2 ]
!> The columns of Q must be orthonormal.
!>
!> If the projection is zero according to Kahan's
!> criterion, then some other vector from the orthogonal complement
!> is returned. This vector is chosen in an arbitrary but deterministic
!> way.
!>
!>
so basically: she takes your column vector X (which is X1 stacked on top of X2, obsessed with the layout) and orthogonalizes it against the columns of Q (which is Q1 stacked on Q2 β matching energy β¨). the columns of Q must be orthonormal, that's not optional, that's the whole assignment bestie.
and if the projection comes out zero according to Kahan's criterion, she doesn't just leave you hanging β she hands back some other vector from the orthogonal complement. it's picked in an arbitrary but deterministic way. so like, random vibes but reproducible random vibes. slay π₯
π Parameters π
M1βINTEGER. the dimension ofX1and the number of rows inQ1. constraint:0 <= M1.M2βINTEGER. the dimension ofX2and the number of rows inQ2. constraint:0 <= M2.NβINTEGER. the number of columns inQ1andQ2. constraint:0 <= N.X1βREAL array, dimension (M1). on entry, the top part of the vector to be orthogonalized. on exit, the top part of the projected vector. she goes in one thing and comes out another, main character transformation π«INCX1βINTEGER. increment for entries ofX1.X2βREAL array, dimension (M2). on entry, the bottom part of the vector to be orthogonalized. on exit, the bottom part of the projected vector. same glow-up, bottom half edition π«ΆINCX2βINTEGER. increment for entries ofX2.Q1βREAL array, dimension (LDQ1, N). the top part of the orthonormal basis matrix.LDQ1βINTEGER. the leading dimension ofQ1. constraint:LDQ1 >= M1.Q2βREAL array, dimension (LDQ2, N). the bottom part of the orthonormal basis matrix.LDQ2βINTEGER. the leading dimension ofQ2. constraint:LDQ2 >= M2.WORKβREAL array, dimension (LWORK). her little workspace, we respect her.LWORKβINTEGER. the dimension of the arrayWORK. constraint:LWORK >= N.INFOβINTEGER. the status report, and it's giving very concise:= 0: successful exit. we love a happy ending π< 0: ifINFO = -i, the i-th argument had an illegal value. π not the illegal argument
ngl bestie, watch those dimension constraints βLDQ1 >= M1,LDQ2 >= M2,LWORK >= N. she will notice. andINFOwill tell on you fr fr π
β Author β
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 154 of file sorbdb5.f. π
π Author π
Generated automatically by Doxygen for LAPACK from the source code. she was literally built by a machine and still ate π
and that's the whole page! stay orthonormal, bestie π§π
LAPACK β Version 3.12.0 β SRC/sorbdb5.f(3) β¨ that's the sign-off, mwah π
π¦ where this page comes from
- arch rolling: lapack-doc 3.12.1-2 Β· custom
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms