CTGEXC(3)

πŸ“¦ version 3.12.0, in opensuse-leap 16.0

πŸ’… CTGEXC(3) πŸ’…

okay bestie, welcome to the CTGEXC(3) manual page from the Library Functions Manual. this one is all about reordering a generalized Schur decomposition, and yes, it is giving very main-character LAPACK energy. ✨

🏷️ NAME 🏷️

the name on this page is literally this source file path:

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/ctgexc.f

πŸ› οΈ SYNOPSIS πŸ› οΈ

🧩 Functions/Subroutines 🧩

here's the function/subroutine roster, bestie:

   subroutine CTGEXC (wantq, wantz, n, a, lda, b, ldb, q, ldq, z, ldz,
       ifst, ilst, info)
       CTGEXC

πŸ“– Function/Subroutine Documentation πŸ“–

okay, deep breath, here's the full signature with all the types and dimensions exactly as written:

   subroutine CTGEXC (logical wantq, logical wantz, integer n, complex,
       dimension( lda, * ) a, integer lda, complex, dimension( ldb, * ) b,
       integer ldb, complex, dimension( ldq, * ) q, integer ldq, complex,
       dimension( ldz, * ) z, integer ldz, integer ifst, integer ilst, integer
       info)
       CTGEXC

✨ Purpose: ✨

so CTGEXC reorders the generalized Schur decomposition of a complex matrix pair (A,B), using an unitary equivalence transformation (A, B) := Q * (A, B) * Z**H, so that the diagonal block of (A, B) with row index IFST is moved to row ILST. πŸ’«

(A, B) must be in generalized Schur canonical form, that is, A and B are both upper triangular.

optionally, the matrices Q and Z of generalized Schur vectors are updated.

!>        Q(in) * A(in) * Z(in)**H = Q(out) * A(out) * Z(out)**H
!>        Q(in) * B(in) * Z(in)**H = Q(out) * B(out) * Z(out)**H

πŸŽ›οΈ Parameters πŸŽ›οΈ

  • WANTQ β€” WANTQ is LOGICAL. .TRUE. means update the left transformation matrix Q; .FALSE. means do not update Q.
  • WANTZ β€” WANTZ is LOGICAL. .TRUE. means update the right transformation matrix Z; .FALSE. means do not update Z.
  • N β€” N is INTEGER. it's the order of the matrices A and B. N >= 0.
  • A β€” A is COMPLEX array, dimension (LDA,N). on entry, it's the upper triangular matrix A in the pair (A, B). on exit, it's the updated matrix A.
  • LDA β€” LDA is INTEGER. it's the leading dimension of the array A. LDA >= max(1,N).
  • B β€” B is COMPLEX array, dimension (LDB,N). on entry, it's the upper triangular matrix B in the pair (A, B). on exit, it's the updated matrix B.
  • LDB β€” LDB is INTEGER. it's the leading dimension of the array B. LDB >= max(1,N).
  • Q β€” Q is COMPLEX array, dimension (LDQ,N). on entry, if WANTQ = .TRUE., it's the unitary matrix Q. on exit, it's the updated matrix Q. if WANTQ = .FALSE., Q is not referenced.
  • LDQ β€” LDQ is INTEGER. it's the leading dimension of the array Q. LDQ >= 1; if WANTQ = .TRUE., LDQ >= N.
  • Z β€” Z is COMPLEX array, dimension (LDZ,N). on entry, if WANTZ = .TRUE., it's the unitary matrix Z. on exit, it's the updated matrix Z. if WANTZ = .FALSE., Z is not referenced.
  • LDZ β€” LDZ is INTEGER. it's the leading dimension of the array Z. LDZ >= 1; if WANTZ = .TRUE., LDZ >= N.
  • IFST β€” IFST is INTEGER.
  • ILST β€” ILST is INTEGER. it specifies the reordering of the diagonal blocks of (A, B). the block with row index IFST is moved to row ILST, by a sequence of swapping between adjacent blocks.
  • INFO β€” INFO is INTEGER, and it tells you how things went:
    • =0: successful exit.
    • <0: if INFO = -i, the i-th argument had an illegal value.
    • =1: the transformed matrix pair (A, B) would be too far from generalized Schur form; the problem is ill-conditioned. (A, B) may have been partially reordered, and ILST points to the first row of the current position of the block being moved.

🫢 Author 🫢

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

🌟 Contributors: 🌟

Bo Kagstrom and Peter Poromaa, Department of Computing Science, Umea University, S-901 87 Umea, Sweden.

πŸ“š References: πŸ“š

  1. B. Kagstrom; A Direct Method for Reordering Eigenvalues in the Generalized Real Schur Form of a Regular Matrix Pair (A, B), in M.S. Moonen et al (eds), Linear Algebra for Large Scale and Real-Time Applications, Kluwer Academic Publ. 1993, pp 195-218.
  2. B. Kagstrom and P. Poromaa; Computing Eigenspaces with Specified Eigenvalues of a Regular Matrix Pair (A, B) and Condition Estimation: Theory, Algorithms and Software, Report UMINF - 94.04, Department of Computing Science, Umea University, S-901 87 Umea, Sweden, 1994. Also as LAPACK Working Note 87. To appear in Numerical Algorithms, 1996.
  3. B. Kagstrom and P. Poromaa, LAPACK-Style Algorithms and Software for Solving the Generalized Sylvester Equation and Estimating the Separation between Regular Matrix Pairs, Report UMINF - 93.23, Department of Computing Science, Umea University, S-901 87 Umea, Sweden, December 1993, Revised April 1994, Also as LAPACK working Note 75. To appear in ACM Trans. on Math. Software, Vol 22, No 1, 1996.

πŸ“ Definition at line 198 of file ctgexc.f. πŸ“

🧚 Author 🧚

Generated automatically by Doxygen for LAPACK from the source code.


okay that's the whole page, bestie. πŸ’– this was LAPACK Version 3.12.0, source /home/abui...RC/ctgexc.f(3) β€” that's the footer's source/version sign-off, and the date slot is just not printed here. mwah. 🫢

πŸ“¦ where this page comes from