STGSYL(3)
π STGSYL(3) β Library Functions Manual π
okay so bestie, welcome to the Library Functions Manual page for STGSYL(3). This is the LAPACK generalized Sylvester equation girlie, and she has main character energy because she is literally a level 3 BLAS algorithm. Let's get into it. π
πΈ NAME πΈ
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/stgsyl.fβ that's the source file. That's the whole NAME section, periodt. π
β¨ SYNOPSIS β¨
Functions/Subroutines
subroutine STGSYL (trans, ijob, m, n, a, lda, b, ldb, c, ldc, d, ldd, e,
lde, f, ldf, scale, dif, work, lwork, iwork, info)
STGSYL β iconic, no notes. β¨
π«Ά Function/Subroutine Documentation π«Ά
here's the full documented signature, character-for-character, because we do not play with signatures:
subroutine STGSYL (character trans, integer ijob, integer m, integer n,
real, dimension( lda, * ) a, integer lda, real, dimension( ldb, * ) b,
integer ldb, real, dimension( ldc, * ) c, integer ldc, real, dimension(
ldd, * ) d, integer ldd, real, dimension( lde, * ) e, integer lde, real,
dimension( ldf, * ) f, integer ldf, real scale, real dif, real,
dimension( * ) work, integer lwork, integer, dimension( * ) iwork,
integer info)
STGSYL β again, iconic. π«Ά
π Purpose π
okay so STGSYL 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 real entries. (A, D) and (B, E) must be in generalized (real) Schur canonical form, i.e. A, B are upper quasi triangular and D, E are upper triangular. π
The solution (R, L) overwrites (C, F). 0 <= SCALE <= 1 is an output scaling factor chosen to avoid overflow. periodt.
In matrix notation (1) is equivalent to solve Zx = scale b, where Z is defined as:
Z = [ kron(In, A) -kron(B**T, Im) ] (2)
[ kron(In, D) -kron(E**T, Im) ].
Here Ik is the identity matrix of size k and X**T is the transpose of X. kron(X, Y) is the Kronecker product between the matrices X and Y. iykyk.
If TRANS = 'T', STGSYL solves the transposed system Z**T*y = scale*b, which is equivalent to solve for R and L in:
A**T * R + D**T * L = scale * C (3)
R * B**T + L * E**T = scale * -F
This case (TRANS = 'T') 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 SLACON. πΈ
If IJOB >= 1, STGSYL 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. See [1-2] for more information. π«Ά
This is a level 3 BLAS algorithm. ate.
π Parameters π
TRANSβTRANSisCHARACTER*1:= 'N': solve the generalized Sylvester equation (1).= 'T': solve the'transposed'system (3).
IJOBβ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 strategyIJOB = 1is used).= 4: Only an estimate ofDif[(A,D), (B,E)]is computed. (SGECONon sub-systems is used ).- Not referenced if
TRANS = 'T'.
MβINTEGER. The order of the matricesAandD, and the row dimension of the matricesC,F,RandL.NβINTEGER. The order of the matricesBandE, and the column dimension of the matricesC,F,RandL.AβREAL array, dimension (LDA, M). The upper quasi triangular matrixA.LDAβINTEGER. The leading dimension of the arrayA.LDA >= max(1, M).BβREAL array, dimension (LDB, N). The upper quasi triangular matrixB.LDBβINTEGER. The leading dimension of the arrayB.LDB >= max(1, N).CβREAL array, dimension (LDC, N). On entry,Ccontains the right-hand-side of the first matrix equation in (1) or (3). On exit, ifIJOB = 0, 1 or 2,Chas been overwritten by the solutionR. IfIJOB = 3 or 4andTRANS = 'N',CholdsR, the solution achieved during the computation of the Dif-estimate.LDCβINTEGER. The leading dimension of the arrayC.LDC >= max(1, M).DβREAL array, dimension (LDD, M). The upper triangular matrixD.LDDβINTEGER. The leading dimension of the arrayD.LDD >= max(1, M).EβREAL array, dimension (LDE, N). The upper triangular matrixE.LDEβINTEGER. The leading dimension of the arrayE.LDE >= max(1, N).FβREAL array, dimension (LDF, N). On entry,Fcontains the right-hand-side of the second matrix equation in (1) or (3). On exit, ifIJOB = 0, 1 or 2,Fhas been overwritten by the solutionL. IfIJOB = 3 or 4andTRANS = 'N',FholdsL, the solution achieved during the computation of the Dif-estimate.LDFβINTEGER. The leading dimension of the arrayF.LDF >= max(1, M).DIFβREAL. 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).IF IJOB = 0 or TRANS = 'T',DIFis not touched.SCALEβREAL. 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,CandFhold the solutionsRandL, respectively, to the homogeneous system withC = F = 0. Normally,SCALE = 1.WORKβREAL array, dimension (MAX(1,LWORK)). On exit, ifINFO = 0,WORK(1)returns the optimalLWORK.LWORKβINTEGER. The dimension of the arrayWORK.LWORK > = 1. IfIJOB = 1 or 2andTRANS = 'N',LWORK >= max(1,2*M*N).- If
LWORK = -1, then a workspace query is assumed; the routine only calculates the optimal size of theWORKarray, returns this value as the first entry of theWORKarray, and no error message related toLWORKis issued byXERBLA.
- If
IWORKβINTEGER array, dimension (M+N+6).INFOβINTEGER.=0: successful exit<0: IfINFO = -i, thei-th argument had an illegal value.>0:(A, D)and(B, E)have common or 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 296 of file stgsyl.f.
πͺ Author (Doxygen-generated note) πͺ
Generated automatically by Doxygen for LAPACK from the source code.
Later, bestie π β this page is LAPACK Version 3.12.0, sourced from /home/abui...RC/stgsyl.f(3). Slay and stay numeric. π
π¦ 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