doubleSYauxiliary(3)
π NAME π
doubleSYauxiliary β double. This is doubleSYauxiliary(3) from LAPACK, bestie. π
β¨ SYNOPSIS β¨
Okay so here are the functions, bestie. Read the signatures exactly β no vibes-based renaming. π¦
double precision function dlansy (NORM, UPLO, N, A, LDA, WORK)β DLANSY returns the value of the 1-norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a real symmetric matrix.subroutine dlaqsy (UPLO, N, A, LDA, S, SCOND, AMAX, EQUED)β DLAQSY scales a symmetric/Hermitian matrix, using scaling factors computed byspoequ.subroutine dlasy2 (LTRANL, LTRANR, ISGN, N1, N2, TL, LDTL, TR, LDTR, B, LDB, SCALE, X, LDX, XNORM, INFO)β DLASY2 solves the Sylvester matrix equation where the matrices are of order 1 or 2.subroutine dsyswapr (UPLO, N, A, LDA, I1, I2)β DSYSWAPR applies an elementary permutation on the rows and columns of a symmetric matrix.subroutine dtgsy2 (TRANS, IJOB, M, N, A, LDA, B, LDB, C, LDC, D, LDD, E, LDE, F, LDF, SCALE, RDSUM, RDSCAL, IWORK, PQ, INFO)β DTGSY2 solves the generalized Sylvester equation (unblocked algorithm).
πΈ Detailed Description πΈ
This is the group of double auxiliary functions for SY matrices. That's the whole vibe. β¨
π¦ Function Documentation π¦
π« dlansy π«
double precision function dlansy (character NORM, character UPLO, integer N,
double precision, dimension( lda, * ) A, integer LDA, double precision,
dimension( * ) WORK)
DLANSY returns the value of the 1-norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a real symmetric matrix.
Purpose
DLANSY returns the value of the one norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a real symmetric matrix A.
Returns
DLANSY
DLANSY = ( max(abs(A(i,j))), NORM = 'M' or 'm'
(
( norm1(A), NORM = '1', 'O' or 'o'
(
( normI(A), NORM = 'I' or 'i'
(
( normF(A), NORM = 'F', 'f', 'E' or 'e'
where norm1 denotes the one norm of a matrix (maximum column sum), normI denotes the infinity norm of a matrix (maximum row sum) and normF denotes the Frobenius norm of a matrix (square root of sum of squares). Note that max(abs(A(i,j))) is not a consistent matrix norm.
Parameters
NORMβNORMisCHARACTER*1. Specifies the value to be returned inDLANSYas described above. You already saw the menu, bestie. β¨UPLOβUPLOisCHARACTER*1. Specifies whether the upper or lower triangular part of the symmetric matrixAis to be referenced.= 'U': Upper triangular part ofAis referenced= 'L': Lower triangular part ofAis referenced
NβNisINTEGER. The order of the matrixA.N >= 0. WhenN = 0,DLANSYis set to zero.AβAisDOUBLE PRECISIONarray, dimension(LDA,N). The symmetric matrixA. IfUPLO = 'U', the leading n by n upper triangular part ofAcontains the upper triangular part of the matrixA, and the strictly lower triangular part ofAis not referenced. IfUPLO = 'L', the leading n by n lower triangular part ofAcontains the lower triangular part of the matrixA, and the strictly upper triangular part ofAis not referenced.LDAβLDAisINTEGER. The leading dimension of the arrayA.LDA >= max(N,1).WORKβWORKisDOUBLE PRECISIONarray, dimension(MAX(1,LWORK)), whereLWORK >= NwhenNORM = 'I'or'1'or'O'; otherwise,WORKis not referenced.
Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π« dlaqsy π«
subroutine dlaqsy (character UPLO, integer N, double precision, dimension(
lda, * ) A, integer LDA, double precision, dimension( * ) S, double
precision SCOND, double precision AMAX, character EQUED)
DLAQSY scales a symmetric/Hermitian matrix, using scaling factors computed by spoequ.
Purpose
DLAQSY equilibrates a symmetric matrix A using the scaling factors in the vector S.
Parameters
UPLOβUPLOisCHARACTER*1. Specifies whether the upper or lower triangular part of the symmetric matrixAis stored.= 'U': Upper triangular= 'L': Lower triangular
NβNisINTEGER. The order of the matrixA.N >= 0.AβAisDOUBLE PRECISIONarray, dimension(LDA,N). On entry, the symmetric matrixA. IfUPLO = 'U', the leading n by n upper triangular part ofAcontains the upper triangular part of the matrixA, and the strictly lower triangular part ofAis not referenced. IfUPLO = 'L', the leading n by n lower triangular part ofAcontains the lower triangular part of the matrixA, and the strictly upper triangular part ofAis not referenced.
On exit, if EQUED = 'Y', the equilibrated matrix: diag(S) * A * diag(S).
LDAβLDAisINTEGER. The leading dimension of the arrayA.LDA >= max(N,1).SβSisDOUBLE PRECISIONarray, dimension(N). The scale factors forA.SCONDβSCONDisDOUBLE PRECISION. Ratio of the smallestS(i)to the largestS(i).AMAXβAMAXisDOUBLE PRECISION. Absolute value of largest matrix entry.EQUEDβEQUEDisCHARACTER*1. Specifies whether or not equilibration was done.= 'N': No equilibration.= 'Y': Equilibration was done, i.e.,Ahas been replaced bydiag(S) * A * diag(S).
Internal Parameters
THRESH is a threshold value used to decide if scaling should be done based on the ratio of the scaling factors. If SCOND < THRESH, scaling is done.
LARGE and SMALL are threshold values used to decide if scaling should be done based on the absolute size of the largest matrix element. If AMAX > LARGE or AMAX < SMALL, scaling is done.
Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π« dlasy2 π«
subroutine dlasy2 (logical LTRANL, logical LTRANR, integer ISGN, integer N1,
integer N2, double precision, dimension( ldtl, * ) TL, integer LDTL,
double precision, dimension( ldtr, * ) TR, integer LDTR, double
precision, dimension( ldb, * ) B, integer LDB, double precision SCALE,
double precision, dimension( ldx, * ) X, integer LDX, double precision
XNORM, integer INFO)
DLASY2 solves the Sylvester matrix equation where the matrices are of order 1 or 2.
Purpose
DLASY2 solves for the N1 by N2 matrix X, 1 <= N1,N2 <= 2, in
op(TL)*X + ISGN*X*op(TR) = SCALE*B,
where TL is N1 by N1, TR is N2 by N2, B is N1 by N2, and ISGN = 1 or -1. op(T) = T or T**T, where T**T denotes the transpose of T.
Parameters
LTRANLβLTRANLisLOGICAL. On entry,LTRANLspecifies theop(TL):= .FALSE.,op(TL) = TL,= .TRUE.,op(TL) = TL**T.
LTRANRβLTRANRisLOGICAL. On entry,LTRANRspecifies theop(TR):= .FALSE.,op(TR) = TR,= .TRUE.,op(TR) = TR**T.
ISGNβISGNisINTEGER. On entry,ISGNspecifies the sign of the equation as described before.ISGNmay only be1or-1.N1βN1isINTEGER. On entry,N1specifies the order of matrixTL.N1may only be0,1or2.N2βN2isINTEGER. On entry,N2specifies the order of matrixTR.N2may only be0,1or2.TLβTLisDOUBLE PRECISIONarray, dimension(LDTL,2). On entry,TLcontains anN1byN1matrix.LDTLβLDTLisINTEGER. The leading dimension of the matrixTL.LDTL >= max(1,N1).TRβTRisDOUBLE PRECISIONarray, dimension(LDTR,2). On entry,TRcontains anN2byN2matrix.LDTRβLDTRisINTEGER. The leading dimension of the matrixTR.LDTR >= max(1,N2).BβBisDOUBLE PRECISIONarray, dimension(LDB,2). On entry, theN1byN2matrixBcontains the right-hand side of the equation.LDBβLDBisINTEGER. The leading dimension of the matrixB.LDB >= max(1,N1).SCALEβSCALEisDOUBLE PRECISION. On exit,SCALEcontains the scale factor.SCALEis chosen less than or equal to1to prevent the solution overflowing.XβXisDOUBLE PRECISIONarray, dimension(LDX,2). On exit,Xcontains theN1byN2solution.LDXβLDXisINTEGER. The leading dimension of the matrixX.LDX >= max(1,N1).XNORMβXNORMisDOUBLE PRECISION. On exit,XNORMis the infinity-norm of the solution.INFOβINFOisINTEGER. On exit,INFOis set to0: successful exit.1:TLandTRhave too close eigenvalues, soTLorTRis perturbed to get a nonsingular equation.
NOTE: In the interests of speed, this routine does not check the inputs for errors.
Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π« dsyswapr π«
subroutine dsyswapr (character UPLO, integer N, double precision, dimension(
lda, * ) A, integer LDA, integer I1, integer I2)
DSYSWAPR applies an elementary permutation on the rows and columns of a symmetric matrix.
Purpose
DSYSWAPR applies an elementary permutation on the rows and the columns of a symmetric matrix.
Parameters
UPLOUPLOβUPLOisCHARACTER*1. It specifies whether the details of the factorization are stored as an upper or lower triangular matrix.= 'U': Upper triangular, form isA = U*D*U**T;= 'L': Lower triangular, form isA = L*D*L**T.NβNisINTEGER. The order of the matrixA.N >= 0.AβAisDOUBLE PRECISIONarray, dimension(LDA,*). On entry, theN-by-NmatrixA. On exit, the permuted matrix where the rowsI1andI2and columnsI1andI2are interchanged. IfUPLO = 'U', the interchanges are applied to the upper triangular part and the strictly lower triangular part ofAis not referenced; ifUPLO = 'L', the interchanges are applied to the lower triangular part and the part ofAabove the diagonal is not referenced.LDAβLDAisINTEGER. The leading dimension of the arrayA.LDA >= max(1,N).I1βI1isINTEGER. Index of the first row to swapI2βI2isINTEGER. Index of the second row to swap
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
β¨ subroutine dtgsy2 β¨
subroutine dtgsy2 (character TRANS, integer IJOB, integer M, integer N,
double precision, dimension( lda, * ) A, integer LDA, double precision,
dimension( ldb, * ) B, integer LDB, double precision, dimension( ldc, *
) C, integer LDC, double precision, dimension( ldd, * ) D, integer LDD,
double precision, dimension( lde, * ) E, integer LDE, double precision,
dimension( ldf, * ) F, integer LDF, double precision SCALE, double
precision RDSUM, double precision RDSCAL, integer, dimension( * ) IWORK,
integer PQ, integer INFO)
DTGSY2 solves the generalized Sylvester equation (unblocked algorithm). β¨
π― Purpose π―
DTGSY2 solves the generalized Sylvester equation:
A * R - L * B = scale * C (1)
D * R - L * E = scale * F,
using Level 1 and 2 BLAS. 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 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.
In matrix notation solving equation (1) corresponds to solve 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 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 is used to compute an estimate of Dif[(A, D), (B, E)] = sigma_min(Z) using reverse communication with DLACON.
DTGSY2 also (IJOB >= 1) contributes to the computation in DTGSYL 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 DTGSYL. See DTGSYL for details.
π§ 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: 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. (DGECON on sub-systems is used.)- Not referenced if
TRANS = 'T'.
MβMisINTEGER. On entry,Mspecifies the order ofAandD, and the row dimension ofC,F,RandL.NβNisINTEGER. On entry,Nspecifies the order ofBandE, and the column dimension ofC,F,RandL.AβAisDOUBLE PRECISIONarray, dimension(LDA, M). On entry,Acontains an upper quasi triangular matrix.LDAβLDAisINTEGER. The leading dimension of the matrixA.LDA >= max(1, M).BβBisDOUBLE PRECISIONarray, dimension(LDB, N). On entry,Bcontains an upper quasi triangular matrix.LDBβLDBisINTEGER. The leading dimension of the matrixB.LDB >= max(1, N).CβCisDOUBLE PRECISIONarray, 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βLDCisINTEGER. The leading dimension of the matrixC.LDC >= max(1, M).DβDisDOUBLE PRECISIONarray, dimension(LDD, M). On entry,Dcontains an upper triangular matrix.LDDβLDDisINTEGER. The leading dimension of the matrixD.LDD >= max(1, M).EβEisDOUBLE PRECISIONarray, dimension(LDE, N). On entry,Econtains an upper triangular matrix.LDEβLDEisINTEGER. The leading dimension of the matrixE.LDE >= max(1, N).FβFisDOUBLE PRECISIONarray, 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βLDFisINTEGER. The leading dimension of the matrixF.LDF >= max(1, M).SCALEβSCALEisDOUBLE PRECISION. 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βRDSUMisDOUBLE PRECISION. On entry, the sum of squares of computed contributions to the Dif-estimate under computation byDTGSYL, 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 whenDTGSY2is called byDTGSYL.RDSCALβRDSCALisDOUBLE PRECISION. 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 whenDTGSY2is called byDTGSYL.IWORKβIWORKisINTEGERarray, dimension(M+N+2)PQβPQisINTEGER. On exit, the number of subsystems (of size2-by-2,4-by-4and8-by-8) solved by this routine.INFOβINFOisINTEGER. 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.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
That's the whole vibe, bestie! π This page was auto-cooked by Doxygen for LAPACK from the source code β Version 3.11.0, dated Sun Nov 27 2022 β and it's the doubleSYauxiliary(3) manual page. Slay, read, and go solve those matrix equations. π
β¨
π¦ where this page comes from
- debian bookworm: liblapack-doc 3.11.0-2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms