SRC/ctrsyl3.f(3)
SRC/ctrsyl3.f(3) π
okay bestie, welcome to the Library Functions Manual corner for SRC/ctrsyl3.f. This is the ctrsyl3 lore drop, and yes itβs giving linear algebra main character energy. π
NAME
SRC/ctrsyl3.f β thatβs the name on the label, no cap. π
SYNOPSIS β¨
Functions/Subroutines π«Ά
subroutine ctrsyl3 (...)βCTRSYL3
subroutine ctrsyl3 (trana, tranb, isgn, m, n, a, lda, b, ldb, c, ldc,
scale, swork, ldswork, info)
Function/Subroutine Documentation π
Hereβs the full signature, character-for-character, bestie:
subroutine ctrsyl3 (character trana, character tranb, integer isgn, integer
m, integer n, complex, dimension( lda, * ) a, integer lda, complex,
dimension( ldb, * ) b, integer ldb, complex, dimension( ldc, * ) c,
integer ldc, real scale, real, dimension( ldswork, * ) swork, integer
ldswork, integer info)
CTRSYL3 β iconic.
Purpose β¨
CTRSYL3 solves the complex 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**H, and A and B are both upper 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.
This is the block version of the algorithm. periodt.
Parameters πΈ
TRANAβCHARACTER*1. Specifies the optionop(A):= 'N':op(A) = A(No transpose)= 'C':op(A) = A**H(Conjugate transpose)
TRANBβCHARACTER*1. Specifies the optionop(B):= 'N':op(B) = B(No transpose)= 'C':op(B) = B**H(Conjugate transpose)
ISGNβINTEGER. 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βINTEGER. The order of the matrixA, and the number of rows in the matricesXandC.M >= 0.NβINTEGER. The order of the matrixB, and the number of columns in the matricesXandC.N >= 0.AβCOMPLEX array, dimension (LDA,M). The upper triangular matrixA.LDAβINTEGER. The leading dimension of the arrayA.LDA >= max(1,M).BβCOMPLEX array, dimension (LDB,N). The upper triangular matrixB.LDBβINTEGER. The leading dimension of the arrayB.LDB >= max(1,N).CβCOMPLEX array, dimension (LDC,N). On entry, theM-by-Nright hand side matrixC. On exit,Cis overwritten by the solution matrixX.LDCβINTEGER. The leading dimension of the arrayC.LDC >= max(1,M)SCALEβREAL. The scale factor,scale, set<= 1to avoid overflow inX.SWORKβREAL array, dimension (MAX(2, ROWS), MAX(1,COLS)). On exit, ifINFO = 0,SWORK(1)returns the optimal valueROWSandSWORK(2)returns the optimalCOLS.LDSWORKβINTEGER.LDSWORK >= MAX(2,ROWS), whereROWS = ((M + NB - 1) / NB + 1)andNBis the optimal block size. IfLDSWORK = -1, then a workspace query is assumed; the routine only calculates the optimal dimensions of theSWORKmatrix, returns these values as the first and second entry of theSWORKmatrix, and no error message relatedLWORKis issued byXERBLA.INFOβINTEGER.= 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).
Definition at line 167 of file ctrsyl3.f.
Author π
Generated automatically by Doxygen for LAPACK from the source code.
Cute sign-off: this whole vibe check came from LAPACK, Version 3.12.0, and the footer energy is literally SRC/ctrsyl3.f(3). bye bestie, slay your Sylvester equation responsibly ππ¦
π¦ 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