SRC/dlaexc.f(3)
β¨ NAME β¨
SRC/dlaexc.f β okay bestie, this is the SRC/dlaexc.f(3) page from the Library Functions Manual, and itβs literally the file/name situation, no extra lore needed π
π¦ SYNOPSIS π¦
π§ Functions/Subroutines π§
subroutine dlaexc (wantq, n, t, ldt, q, ldq, j1, n1, n2, work, info)
DLAEXC swaps adjacent diagonal blocks of a real upper quasi-triangular matrix in Schur canonical form, by an orthogonal similarity transformation. Slay, but make it linear algebra π
π Function/Subroutine Documentation π
subroutine dlaexc (logical wantq, integer n, double precision, dimension(
ldt, * ) t, integer ldt, double precision, dimension( ldq, * ) q,
integer ldq, integer j1, integer n1, integer n2, double precision,
dimension( * ) work, integer info)
DLAEXC swaps adjacent diagonal blocks of a real upper quasi-triangular matrix in Schur canonical form, by an orthogonal similarity transformation.
πΈ Purpose πΈ
Okay so hereβs the tea π: DLAEXC swaps adjacent diagonal blocks T11 and T22 of order 1 or 2 in an upper quasi-triangular matrix T by an orthogonal similarity transformation.
And the vibe check is real: T must be in Schur canonical form, that is, block upper triangular with 1-by-1 and 2-by-2 diagonal blocks; each 2-by-2 diagonal block has its diagonal elements equal and its off-diagonal elements of opposite sign. No cap, thatβs the requirement β¨
π Parameters π
WANTQβWANTQisLOGICAL.= .TRUE.: accumulate the transformation in the matrixQ;= .FALSE.: do not accumulate the transformation.NβNisINTEGER. The order of the matrixT.N >= 0.TβTisDOUBLE PRECISIONarray, dimension(LDT,N). On entry, the upper quasi-triangular matrixT, in Schur canonical form. On exit, the updated matrixT, again in Schur canonical form.LDTβLDTisINTEGER. The leading dimension of the arrayT.LDT >= max(1,N).QβQisDOUBLE PRECISIONarray, dimension(LDQ,N). On entry, ifWANTQis.TRUE., the orthogonal matrixQ. On exit, ifWANTQis.TRUE., the updated matrixQ. IfWANTQis.FALSE.,Qis not referenced.LDQβLDQisINTEGER. The leading dimension of the arrayQ.LDQ >= 1; and ifWANTQis.TRUE.,LDQ >= N.J1βJ1isINTEGER. The index of the first row of the first blockT11.N1βN1isINTEGER. The order of the first blockT11.N1 = 0, 1 or 2.N2βN2isINTEGER. The order of the second blockT22.N2 = 0, 1 or 2.WORKβWORKisDOUBLE PRECISIONarray, dimension(N).INFOβINFOisINTEGER.= 0: successful exit= 1: the transformed matrixTwould be too far from Schur form; the blocks are not swapped andTandQare unchanged.
bestie,INFO = 1is the βnot todayβ outcome π β the blocks are not swapped andTandQare unchanged. Keep that in mind fr fr.
π«Ά Author π«Ά
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 136 of file dlaexc.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code. Yes, the page itself has author energy twice β iconic, honestly π
okay bye bestie π«Ά this was SRC/dlaexc.f(3) from LAPACK Version 3.12.0 β thatβs the source/version info on the footer, and itβs giving βmanual page but make it cuteβ πβ¨π
π¦ 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