SRC/strsyl.f(3)
π SRC/strsyl.f π
okay bestie, welcome to the SRC/strsyl.f page from the Library Functions Manual β¨ this one is all about the STRSYL subroutine, and yes, it's giving linear algebra main character energy π
πΈ NAME πΈ
SRC/strsyl.f β literally the page name, no cap π«Ά
β¨ SYNOPSIS β¨
π Functions/Subroutines
subroutine strsyl (trana, tranb, isgn, m, n, a, lda, b, ldb, c, ldc,
scale, info)
STRSYL β that's the subroutine, periodt π«
π¦ Function/Subroutine Documentation π¦
π subroutine strsyl (...)
subroutine strsyl (character trana, character tranb, integer isgn, integer
m, integer n, real, dimension( lda, * ) a, integer lda, real, dimension(
ldb, * ) b, integer ldb, real, dimension( ldc, * ) c, integer ldc, real
scale, integer info)
STRSYL β again, iconic, no notes π
π Purpose
STRSYL solves the real Sylvester matrix equation:
op(A)*X + X*op(B) = scale*C or
op(A)*X - X*op(B) = scale*C,
where op(A) = A or A**T, and A and B are both upper quasi-triangular. A is M-by-M and B is N-by-N; the right hand side C and the solution X are M-by-N; and scale is an output scale factor, set <= 1 to avoid overflow in X.
A and B must be in Schur canonical form (as returned by SHSEQR), 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
TRANAβTRANAisCHARACTER*1. Specifies the optionop(A): ='N':op(A) = A(No transpose); ='T':op(A) = A**T(Transpose); ='C':op(A) = A**H(Conjugate transpose = Transpose).TRANBβTRANBisCHARACTER*1. Specifies the optionop(B): ='N':op(B) = B(No transpose); ='T':op(B) = B**T(Transpose); ='C':op(B) = B**H(Conjugate transpose = Transpose).ISGNβISGNisINTEGER. Specifies the sign in the equation: =+1: solveop(A)*X + X*op(B) = scale*C; =-1: solveop(A)*X - X*op(B) = scale*C.MβMisINTEGER. The order of the matrixA, and the number of rows in the matricesXandC.M >= 0.NβNisINTEGER. The order of the matrixB, and the number of columns in the matricesXandC.N >= 0.AβAisREALarray, dimension(LDA,M). The upper quasi-triangular matrixA, in Schur canonical form.LDAβLDAisINTEGER. The leading dimension of the arrayA.LDA >= max(1,M).BβBisREALarray, dimension(LDB,N). The upper quasi-triangular matrixB, in Schur canonical form.LDBβLDBisINTEGER. The leading dimension of the arrayB.LDB >= max(1,N).CβCisREALarray, dimension(LDC,N). On entry, theM-by-Nright hand side matrixC. On exit,Cis overwritten by the solution matrixX.LDCβLDCisINTEGER. The leading dimension of the arrayC.LDC >= max(1,M)SCALEβSCALEisREAL. The scale factor,scale, set<= 1to avoid overflow inX.INFOβINFOisINTEGER. =0: successful exit; <0: ifINFO = -i, thei-th argument had an illegal value; =1:AandBhave common or very close eigenvalues; perturbed values were used to solve the equation (but the matricesAandBare unchanged).
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 162 of file strsyl.f. π
π§ Author
Generated automatically by Doxygen for LAPACK from the source code β¨
sign-off bestie: this footer saysLAPACK Version 3.12.0andSRC/strsyl.f(3)β no extra date is shown, so no invented date, 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