laexc(3)
π NAME π
okay bestie, this is laexc(3) from the Library Functions Manual, and it's literally the βreorder Schur formβ page. Like, laexc = laexc: reorder Schur form. That's the whole vibe. β¨
β¨ SYNOPSIS β¨
π Functions π
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.subroutine slaexc (wantq, n, t, ldt, q, ldq, j1, n1, n2, work, info)β SLAEXC swaps adjacent diagonal blocks of a real upper quasi-triangular matrix in Schur canonical form, by an orthogonal similarity transformation.
πΈ Detailed Description πΈ
This is the auto-docs zone, bestie β the two subroutine glow-ups below are the main characters. π«Ά
π₯ Function Documentation π₯
π¦ subroutine dlaexc π¦
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 the actual mission: 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.
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.
That's the canon, bestie. π¦
π Parameters π
WANTQβWANTQ is LOGICAL;= .TRUE.: accumulate the transformation in the matrixQ;= .FALSE.: do not accumulate the transformation.NβN is INTEGER; the order of the matrixT.N >= 0.TβT is DOUBLE PRECISION array, 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βLDT is INTEGER; the leading dimension of the arrayT.LDT >= max(1,N).QβQ is DOUBLE PRECISION array, dimension (LDQ,N); on entry, ifWANTQis.TRUE., the orthogonal matrixQ; on exit, ifWANTQis.TRUE., the updated matrixQ; ifWANTQis.FALSE.,Qis not referenced.LDQβLDQ is INTEGER; the leading dimension of the arrayQ.LDQ >= 1; and ifWANTQis.TRUE.,LDQ >= N.J1βJ1 is INTEGER; the index of the first row of the first blockT11.N1βN1 is INTEGER; the order of the first blockT11.N1 = 0, 1 or 2.N2βN2 is INTEGER; the order of the second blockT22.N2 = 0, 1 or 2.WORKβWORK is DOUBLE PRECISION array, dimension (N).INFOβINFO is INTEGER;= 0: successful exit;= 1: the transformed matrixTwould be too far from Schur form; the blocks are not swapped andTandQare unchanged.
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
β Definition at line β
Definition at line 136 of file dlaexc.f.
π¦ subroutine slaexc π¦
subroutine slaexc (logical wantq, integer n, real, dimension( ldt, * ) t,
integer ldt, real, dimension( ldq, * ) q, integer ldq, integer j1,
integer n1, integer n2, real, dimension( * ) work, integer info)
SLAEXC swaps adjacent diagonal blocks of a real upper quasi-triangular matrix in Schur canonical form, by an orthogonal similarity transformation.
π Purpose π
same energy, different precision: SLAEXC swaps adjacent diagonal blocks T11 and T22 of order 1 or 2 in an upper quasi-triangular matrix T by an orthogonal similarity transformation. π
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.
π Parameters π
WANTQβWANTQ is LOGICAL;= .TRUE.: accumulate the transformation in the matrixQ;= .FALSE.: do not accumulate the transformation.NβN is INTEGER; the order of the matrixT.N >= 0.TβT is REAL array, 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βLDT is INTEGER; the leading dimension of the arrayT.LDT >= max(1,N).QβQ is REAL array, dimension (LDQ,N); on entry, ifWANTQis.TRUE., the orthogonal matrixQ; on exit, ifWANTQis.TRUE., the updated matrixQ; ifWANTQis.FALSE.,Qis not referenced.LDQβLDQ is INTEGER; the leading dimension of the arrayQ.LDQ >= 1; and ifWANTQis.TRUE.,LDQ >= N.J1βJ1 is INTEGER; the index of the first row of the first blockT11.N1βN1 is INTEGER; the order of the first blockT11.N1 = 0, 1 or 2.N2βN2 is INTEGER; the order of the second blockT22.N2 = 0, 1 or 2.WORKβWORK is REAL array, dimension (N).INFOβINFO is INTEGER;= 0: successful exit;= 1: the transformed matrixTwould be too far from Schur form; the blocks are not swapped andTandQare unchanged.
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
β Definition at line β
Definition at line 136 of file slaexc.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
okay bestie, that's the whole laexc(3) page π«Άβ¨ β the footer is giving LAPACK Version 3.12.0 and laexc(3), and honestly? iconic. periodt. π
π
π¦ 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