SRC/stgsy2.f(3)
π
SRC/stgsy2.f β Library Functions Manual π
π NAME π
SRC/stgsy2.f β bestie, thatβs the whole name section, no cap π
π SYNOPSIS π
π«Ά Functions/Subroutines π«Ά
subroutine stgsy2 (trans, ijob, m, n, a, lda, b, ldb, c, ldc, d, ldd, e,
lde, f, ldf, scale, rdsum, rdscal, iwork, pq, info)
stgsy2β STGSY2 solves the generalized Sylvester equation (unblocked algorithm). β¨
π§ Function/Subroutine Documentation π§
π¦ subroutine stgsy2
subroutine stgsy2 (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 rdsum, real rdscal,
integer, dimension( * ) iwork, integer pq, integer info)
STGSY2 solves the generalized Sylvester equation (unblocked algorithm). π
π― Purpose π―
okay so STGSY2 solves the generalized Sylvester equation:
A * R - L * B = scale * C (1)
D * R - L * E = scale * F,
It uses Level 1 and 2 BLAS. Here R and L are unknown M-by-N matrices, and (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. The pairs (A, D) and (B, E) must be in generalized Schur canonical form, i.e. A, B are upper quasi triangular and D, E are upper triangular. The solution (R, L) overwrites (C, F). Also, 0 <= SCALE <= 1 is an output scaling factor chosen to avoid overflow. π«Ά
In matrix notation, solving equation (1) corresponds to solving Z*x = scale*b, where Z is defined as:
Z = [ kron(In, A) -kron(B**T, Im) ] (2)
[ kron(In, D) -kron(E**T, Im) ],
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. In the process of solving (1), we solve a number of such systems where Dim(In), Dim(In) = 1 or 2. π
If TRANS = 'T', solve the transposed system Z**T*y = scale*b for y, which is equivalent to solving for R and L in:
A**T * R + D**T * L = scale * C (3)
R * B**T + L * E**T = scale * -F
This case is used to compute an estimate of Dif[(A, D), (B, E)] = sigma_min(Z) using reverse communication with SLACON. π₯
STGSY2 also (IJOB >= 1) contributes to the computation in STGSYL of an upper bound on the separation between to matrix pairs. Then the input (A, D), (B, E) are sub-pencils of the matrix pair in STGSYL. See STGSYL for details. π
π Parameters π
TRANSβCHARACTER*1.= 'N': solve the generalized Sylvester equation (1).= 'T': solve the'transposed'system (3). π«IJOBβINTEGER. Specifies what kind of functionality to be performed.= 0: solve (1) only.= 1: A contribution from this subsystem to a Frobenius norm-based estimate of the separation between two matrix pairs is computed. (look ahead strategy is used).= 2: A contribution from this subsystem to a Frobenius norm-based estimate of the separation between two matrix pairs is computed. (SGECONon sub-systems is used.) Not referenced ifTRANS = 'T'. πMβINTEGER. On entry,Mspecifies the order ofAandD, and the row dimension ofC,F,RandL. πΈNβINTEGER. On entry,Nspecifies the order ofBandE, and the column dimension ofC,F,RandL. πΈAβREAL array, dimension (LDA, M). On entry,Acontains an upper quasi triangular matrix. πLDAβINTEGER. The leading dimension of the matrixA.LDA >= max(1, M). β¨BβREAL array, dimension (LDB, N). On entry,Bcontains an upper quasi triangular matrix. πLDBβINTEGER. The leading dimension of the matrixB.LDB >= max(1, N). β¨CβREAL array, dimension (LDC, N). On entry,Ccontains the right-hand-side of the first matrix equation in (1). On exit, ifIJOB = 0,Chas been overwritten by the solutionR. π¦LDCβINTEGER. The leading dimension of the matrixC.LDC >= max(1, M). β¨DβREAL array, dimension (LDD, M). On entry,Dcontains an upper triangular matrix. πLDDβINTEGER. The leading dimension of the matrixD.LDD >= max(1, M). β¨EβREAL array, dimension (LDE, N). On entry,Econtains an upper triangular matrix. πLDEβINTEGER. The leading dimension of the matrixE.LDE >= max(1, N). β¨FβREAL array, dimension (LDF, N). On entry,Fcontains the right-hand-side of the second matrix equation in (1). On exit, ifIJOB = 0,Fhas been overwritten by the solutionL. π¦LDFβINTEGER. The leading dimension of the matrixF.LDF >= max(1, M). β¨SCALEβREAL. On exit,0 <= SCALE <= 1. If0 < SCALE < 1, the solutionsRandL(CandFon entry) will hold the solutions 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. Normally,SCALE = 1. πRDSUMβREAL. On entry, the sum of squares of computed contributions to the Dif-estimate under computation bySTGSYL, where the scaling factorRDSCAL(see below) has been factored out. On exit, the corresponding sum of squares updated with the contributions from the current sub-system. IfTRANS = 'T',RDSUMis not touched. NOTE:RDSUMonly makes sense whenSTGSY2is called bySTGSYL. πRDSCALβREAL. On entry, scaling factor used to prevent overflow inRDSUM. On exit,RDSCALis updated w.r.t. the current contributions inRDSUM. IfTRANS = 'T',RDSCALis not touched. NOTE:RDSCALonly makes sense whenSTGSY2is called bySTGSYL. πIWORKβINTEGER array, dimension (M+N+2). π§PQβINTEGER. On exit, the number of subsystems (of size2-by-2,4-by-4and8-by-8) solved by this routine. πINFOβINTEGER. On exit, ifINFOis set to:=0: Successful exit. β<0: IfINFO = -i, thei-th argument had an illegal value. π>0: The matrix pairs(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. π
Definition at line 271 of file stgsy2.f. π
π Author π
Generated automatically by Doxygen for LAPACK from the source code. β¨
k bye bestie π β this is LAPACK, version 3.12.0, source SRC/stgsy2.f(3). Thatβs the footer vibe, 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