CTGSYL(3)
π NAME π
okay so this is the ctgsyl.f page from the Library Functions Manual, and the NAME is literally the whole path, bestie β no cap, that's the name:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/ctgsyl.f
periodt. π
πΈ SYNOPSIS πΈ
π Functions/Subroutines π
subroutine CTGSYL (trans, ijob, m, n, a, lda, b, ldb, c, ldc, d, ldd, e, lde, f, ldf, scale, dif, work, lwork, iwork, info)
CTGSYL
π¦ Function/Subroutine Documentation π¦
subroutine CTGSYL (character trans, integer ijob, integer m, integer n, complex, dimension( lda, * ) a, integer lda, complex, dimension( ldb, * ) b, integer ldb, complex, dimension( ldc, * ) c, integer ldc, complex, dimension( ldd, * ) d, integer ldd, complex, dimension( lde, * ) e, integer lde, complex, dimension( ldf, * ) f, integer ldf, real scale, real dif, complex, dimension( * ) work, integer lwork, integer, dimension( * ) iwork, integer info)
CTGSYL
β¨ Purpose β¨
okay so CTGSYL solves the generalized Sylvester equation:
A * R - L * B = scale * C (1)
D * R - L * E = scale * F
where R and L are unknown m-by-n matrices, (A, D), (B, E) and (C, F) are given matrix pairs of size m-by-m, n-by-n and m-by-n, respectively, with complex entries. A, B, D and E are upper triangular (i.e., (A,D) and (B,E) in generalized Schur form).
The solution (R, L) overwrites (C, F). 0 <= SCALE <= 1 is an output scaling factor chosen to avoid overflow.
In matrix notation (1) is equivalent to solve Zx = scale*b, where Z is defined as:
Z = [ kron(In, A) -kron(B**H, Im) ] (2)
[ kron(In, D) -kron(E**H, Im) ],
Here Ix is the identity matrix of size x and X**H is the conjugate transpose of X. Kron(X, Y) is the Kronecker product between the matrices X and Y.
If TRANS = 'C', y in the conjugate transposed system Z**H *y = scale*b is solved for, which is equivalent to solve for R and L in:
A**H * R + D**H * L = scale * C (3)
R * B**H + L * E**H = scale * -F
This case (TRANS = 'C') is used to compute an one-norm-based estimate of Dif[(A,D), (B,E)], the separation between the matrix pairs (A,D) and (B,E), using CLACON.
If IJOB >= 1, CTGSYL computes a Frobenius norm-based estimate of Dif[(A,D),(B,E)]. That is, the reciprocal of a lower bound on the reciprocal of the smallest singular value of Z.
This is a level-3 BLAS algorithm. π₯
π Parameters π
TRANSisCHARACTER*1'N': solve the generalized sylvester equation (1).'C': solve the system (3).
IJOBisINTEGERβ specifies what kind of functionality to be performed.=0: solve (1) only.=1: The functionality of 0 and 3.=2: The functionality of 0 and 4.=3: Only an estimate ofDif[(A,D), (B,E)]is computed. (look ahead strategy is used).=4: Only an estimate ofDif[(A,D), (B,E)]is computed. (CGECON on sub-systems is used).- Not referenced if
TRANS = 'C'.
MisINTEGERβ the order of the matricesAandD, and the row dimension of the matricesC,F,RandL.NisINTEGERβ the order of the matricesBandE, and the column dimension of the matricesC,F,RandL.AisCOMPLEX array, dimension (LDA, M)β the upper triangular matrixA.LDAisINTEGERβ the leading dimension of the arrayA.LDA >= max(1, M).BisCOMPLEX array, dimension (LDB, N)β the upper triangular matrixB.LDBisINTEGERβ the leading dimension of the arrayB.LDB >= max(1, N).CisCOMPLEX array, dimension (LDC, N)β on entry,Ccontains the right-hand-side of the first matrix equation in (1) or (3). On exit, ifIJOB = 0,1or2,Chas been overwritten by the solutionR. IfIJOB = 3or4andTRANS = 'N',CholdsR, the solution achieved during the computation of the Dif-estimate.LDCisINTEGERβ the leading dimension of the arrayC.LDC >= max(1, M).DisCOMPLEX array, dimension (LDD, M)β the upper triangular matrixD.LDDisINTEGERβ the leading dimension of the arrayD.LDD >= max(1, M).EisCOMPLEX array, dimension (LDE, N)β the upper triangular matrixE.LDEisINTEGERβ the leading dimension of the arrayE.LDE >= max(1, N).FisCOMPLEX array, dimension (LDF, N)β on entry,Fcontains the right-hand-side of the second matrix equation in (1) or (3). On exit, ifIJOB = 0,1or2,Fhas been overwritten by the solutionL. IfIJOB = 3or4andTRANS = 'N',FholdsL, the solution achieved during the computation of the Dif-estimate.LDFisINTEGERβ the leading dimension of the arrayF.LDF >= max(1, M).DIFisREALβ on exitDIFis the reciprocal of a lower bound of the reciprocal of the Dif-function, i.e.DIFis an upper bound ofDif[(A,D), (B,E)] = sigma-min(Z), whereZas in (2). IFIJOB = 0orTRANS = 'C',DIFis not referenced.SCALEisREALβ on exitSCALEis the scaling factor in (1) or (3). If0 < SCALE < 1,CandFhold the solutionsRandL, resp., to a slightly perturbed system but the input matricesA,B,DandEhave not been changed. IfSCALE = 0,RandLwill hold the solutions to the homogeneous system withC = F = 0.WORKisCOMPLEX array, dimension (MAX(1,LWORK))β on exit, ifINFO = 0,WORK(1)returns the optimalLWORK.LWORKisINTEGERβ the dimension of the arrayWORK.LWORK > = 1. IfIJOB = 1or2andTRANS = 'N',LWORK >= max(1,2*M*N).
If LWORK = -1, then a workspace query is assumed; the routine only calculates the optimal size of the WORK array, returns this value as the first entry of the WORK array, and no error message related to LWORK is issued by XERBLA.
IWORKisINTEGER array, dimension (M+N+2).INFOisINTEGER=0: successful exit<0: IfINFO = -i, the i-th argument had an illegal value.>0:(A, D)and(B, E)have common or very close eigenvalues.
π 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 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.
- [2] B. Kagstrom, A Perturbation Analysis of the Generalized Sylvester Equation (AR - LB, DR - LE ) = (C, F), SIAM J. Matrix Anal. Appl., 15(4):1045-1060, 1994.
- [3] B. Kagstrom and L. Westin, Generalized Schur Methods with Condition Estimators for Solving the Generalized Sylvester Equation, IEEE Transactions on Automatic Control, Vol. 34, No. 7, July 1989, pp 745-751.
π Definition at line π
Definition at line 292 of file ctgsyl.f.
π€ Author (Doxygen) π€
Generated automatically by Doxygen for LAPACK from the source code.
cute sign-off, bestie: this footer gave us LAPACK Version 3.12.0 and the source path /home/abui...RC/ctgsyl.f(3) β the footer didn't print a date, but the version is right there and it's giving iconic LAPACK energy πβ¨
π¦ 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