complex16GTcomputational(3)
π NAME π
complex16GTcomputational β bestie, this is the complex16 one, and it lives in the LAPACK manual, section 3. That's the whole name. Short, sweet, iconic. π
β¨ SYNOPSIS β¨
π¦ Functions
subroutine zgtcon (NORM, N, DL, D, DU, DU2, IPIV, ANORM, RCOND, WORK, INFO)
subroutine zgtrfs (TRANS, N, NRHS, DL, D, DU, DLF, DF, DUF, DU2, IPIV, B, LDB, X, LDX, FERR, BERR, WORK, RWORK, INFO)
subroutine zgttrf (N, DL, D, DU, DU2, IPIV, INFO)
subroutine zgttrs (TRANS, N, NRHS, DL, D, DU, DU2, IPIV, B, LDB, INFO)
subroutine zgtts2 (ITRANS, N, NRHS, DL, D, DU, DU2, IPIV, B, LDB)
Okay so real quick on who's who in this lineup π
ZGTCONβ that'szgtcon, the condition-number girlie.ZGTRFSβ that'szgtrfs, she improves your solution and hands you error bounds like a true friend. π«ΆZGTTRFβ that'szgtroffβ¦ no wait,zgttrf. She does the LU factorization. Main character energy.ZGTTRSβ that'szgttrs, she solves the system.ZGTTS2β that'szgtts2, and the manual says, and I quote fr fr: "ZGTTS2 solves a system of linear equations with a tridiagonal matrix using the LU factorization computed by sgttrf." Yes bestie, it literally sayssgttrfin there. Not a typo on my end, that's just what it says. Not me side-eyeing it π. We keep it exactly as written.
πΈ Detailed Description πΈ
This is the whole squad of complex16 computational functions for GT matrices. GT = general tridiagonal, iykyk. π
π Function Documentation π
π subroutine zgtcon (character NORM, integer N, complex*16, dimension( * ) DL, complex*16, dimension( * ) D, complex*16, dimension( * ) DU, complex*16, dimension( * ) DU2, integer, dimension( * ) IPIV, double precision ANORM, double precision RCOND, complex*16, dimension( * ) WORK, integer INFO)
β¨ ZGTCON β¨
Purpose
ZGTCON estimates the reciprocal of the condition number of a complex tridiagonal matrix A using the LU factorization as computed by ZGTTRF.
An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))). That's the whole vibe: how close to singular are we, basically. π
Parameters
NORMβNORMisCHARACTER*1. Specifies whether the 1-norm condition number or the infinity-norm condition number is required:= '1' or 'O':1-norm;= 'I':Infinity-norm.
NβNisINTEGER. The order of the matrixA.N >= 0.DLβDLisCOMPLEX*16array, dimension(N-1). The(n-1)multipliers that define the matrixLfrom the LU factorization ofAas computed byZGTTRF.DβDisCOMPLEX*16array, dimension(N). Thendiagonal elements of the upper triangular matrixUfrom the LU factorization ofA.DUβDUisCOMPLEX*16array, dimension(N-1). The(n-1)elements of the first superdiagonal ofU.DU2βDU2isCOMPLEX*16array, dimension(N-2). The(n-2)elements of the second superdiagonal ofU.IPIVβIPIVisINTEGERarray, dimension(N). The pivot indices; for1 <= i <= n, rowiof the matrix was interchanged with rowIPIV(i).IPIV(i)will always be eitheriori+1;IPIV(i) = iindicates a row interchange was not required.ANORMβANORMisDOUBLE PRECISION. IfNORM = '1'or'O', the 1-norm of the original matrixA. IfNORM = 'I', the infinity-norm of the original matrixA.RCONDβRCONDisDOUBLE PRECISION. The reciprocal of the condition number of the matrixA, computed asRCOND = 1/(ANORM * AINVNM), whereAINVNMis an estimate of the 1-norm ofinv(A)computed in this routine.WORKβWORKisCOMPLEX*16array, dimension(2*N).INFOβINFOisINTEGER.= 0:successful exit< 0:ifINFO = -i, thei-th argument had an illegal value
Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π subroutine zgtrfs (character TRANS, integer N, integer NRHS, complex*16, dimension( * ) DL, complex*16, dimension( * ) D, complex*16, dimension( * ) DU, complex*16, dimension( * ) DLF, complex*16, dimension( * ) DF, complex*16, dimension( * ) DUF, complex*16, dimension( * ) DU2, integer, dimension( * ) IPIV, complex*16, dimension( ldb, * ) B, integer LDB, complex*16, dimension( ldx, * ) X, integer LDX, double precision, dimension( * ) FERR, double precision, dimension( * ) BERR, complex*16, dimension( * ) WORK, double precision, dimension( * ) RWORK, integer INFO)
β¨ ZGTRFS β¨
Purpose
ZGTRFS improves the computed solution to a system of linear equations when the coefficient matrix is tridiagonal, and provides error bounds and backward error estimates for the solution. She's the glow-up arc for your answer. β¨
Parameters
TRANSβTRANSisCHARACTER*1. Specifies the form of the system of equations:= 'N':A * X = B(No transpose)= 'T':A**T * X = B(Transpose)= 'C':A**H * X = B(Conjugate transpose)
NβNisINTEGER. The order of the matrixA.N >= 0.NRHSβNRHSisINTEGER. The number of right hand sides, i.e., the number of columns of the matrixB.NRHS >= 0.DLβDLisCOMPLEX*16array, dimension(N-1). The(n-1)subdiagonal elements ofA.DβDisCOMPLEX*16array, dimension(N). The diagonal elements ofA.DUβDUisCOMPLEX*16array, dimension(N-1). The(n-1)superdiagonal elements ofA.DLFβDLFisCOMPLEX*16array, dimension(N-1). The(n-1)multipliers that define the matrixLfrom the LU factorization ofAas computed byZGTTRF.DFβDFisCOMPLEX*16array, dimension(N). Thendiagonal elements of the upper triangular matrixUfrom the LU factorization ofA.DUFβDUFisCOMPLEX*16array, dimension(N-1). The(n-1)elements of the first superdiagonal ofU.DU2βDU2isCOMPLEX*16array, dimension(N-2). The(n-2)elements of the second superdiagonal ofU.IPIVβIPIVisINTEGERarray, dimension(N). The pivot indices; for1 <= i <= n, rowiof the matrix was interchanged with rowIPIV(i).IPIV(i)will always be eitheriori+1;IPIV(i) = iindicates a row interchange was not required.BβBisCOMPLEX*16array, dimension(LDB,NRHS). The right hand side matrixB.LDBβLDBisINTEGER. The leading dimension of the arrayB.LDB >= max(1,N).XβXisCOMPLEX*16array, dimension(LDX,NRHS). On entry, the solution matrixX, as computed byZGTTRS. On exit, the improved solution matrixX.LDXβLDXisINTEGER. The leading dimension of the arrayX.LDX >= max(1,N).FERRβFERRisDOUBLE PRECISIONarray, dimension(NRHS). The estimated forward error bound for each solution vectorX(j)(thej-th column of the solution matrixX). IfXTRUEis the true solution corresponding toX(j),FERR(j)is an estimated upper bound for the magnitude of the largest element in(X(j) - XTRUE)divided by the magnitude of the largest element inX(j). The estimate is as reliable as the estimate forRCOND, and is almost always a slight overestimate of the true error.BERRβBERRisDOUBLE PRECISIONarray, dimension(NRHS). The componentwise relative backward error of each solution vectorX(j)(i.e., the smallest relative change in any element ofAorBthat makesX(j)an exact solution).WORKβWORKisCOMPLEX*16array, dimension(2*N).RWORKβRWORKisDOUBLE PRECISIONarray, dimension(N).INFOβINFOisINTEGER.= 0:successful exit< 0:ifINFO = -i, thei-th argument had an illegal value
Internal Parameters:
ITMAX is the maximum number of steps of iterative refinement. π She keeps going until she's done, periodt.
Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π subroutine zgttrf (integer N, complex*16, dimension( * ) DL, complex*16, dimension( * ) D, complex*16, dimension( * ) DU, complex*16, dimension( * ) DU2, integer, dimension( * ) IPIV, integer INFO)
β¨ ZGTTRF β¨
Purpose
ZGTTRF computes an LU factorization of a complex tridiagonal matrix A using elimination with partial pivoting and row interchanges.
The factorization has the form
A = L * U
where L is a product of permutation and unit lower bidiagonal matrices and U is upper triangular with nonzeros in only the main diagonal and first two superdiagonals. The way that U is only chunky in three lil strips?? Efficiency queen π§
Parameters
NβNisINTEGER. The order of the matrixA.DLβDLisCOMPLEX*16array, dimension(N-1). On entry,DLmust contain the(n-1)sub-diagonal elements ofA. On exit,DLis overwritten by the(n-1)multipliers that define the matrixLfrom the LU factorization ofA.DβDisCOMPLEX*16array, dimension(N). On entry,Dmust contain the diagonal elements ofA. On exit,Dis overwritten by thendiagonal elements of the upper triangular matrixUfrom the LU factorization ofA.DUβDUisCOMPLEX*16array, dimension(N-1). On entry,DUmust contain the(n-1)super-diagonal elements ofA. On exit,DUis overwritten by the(n-1)elements of the first super-diagonal ofU.DU2βDU2isCOMPLEX*16array, dimension(N-2). On exit,DU2is overwritten by the(n-2)elements of the second super-diagonal ofU.IPIVβIPIVisINTEGERarray, dimension(N). The pivot indices; for1 <= i <= n, rowiof the matrix was interchanged with rowIPIV(i).IPIV(i)will always be eitheriori+1;IPIV(i) = iindicates a row interchange was not required.INFOβINFOisINTEGERβ¦ and bestie,INFOhas more to say β that's coming in part 2, don't go anywhere πINFOisINTEGERβ the final report card, bestie π= 0: successful exit, we ate and left no crumbs π< 0: ifINFO = -k, the k-th argument had an illegal value π> 0: ifINFO = k,U(k,k)is exactly zero. The factorization has been completed, but the factorUis exactly singular, and division by zero will occur if it is used to solve a system of equations. π¨ like, do not pass go, do not solve that system.
Author π«Ά
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
subroutine zgttrs π
subroutine zgttrs (character TRANS, integer N, integer NRHS, complex*16,
dimension( * ) DL, complex*16, dimension( * ) D, complex*16, dimension(
* ) DU, complex*16, dimension( * ) DU2, integer, dimension( * ) IPIV,
complex*16, dimension( ldb, * ) B, integer LDB, integer INFO)
ZGTTRS β¨
Okay so ZGTTRS solves one of these systems of equations:
A * X = B, A**T * X = B, or A**H * X = B,
with a tridiagonal matrix A using the LU factorization computed by ZGTTRF. periodt.
Parameters π
TRANSisCHARACTER*1β specifies the form of the system of equations, iykyk.= 'N':A * X = B(No transpose)= 'T':A**T * X = B(Transpose)= 'C':A**H * X = B(Conjugate transpose)
NisINTEGERβ the order of the matrixA. the main character, literally.NRHSisINTEGERβ the number of right hand sides, i.e., the number of columns of the matrixB.NRHS >= 0. no negative vibes allowed.DLisCOMPLEX*16array, dimension(N-1)β the (n-1) multipliers that define the matrixLfrom the LU factorization ofA.DisCOMPLEX*16array, dimension(N)β the n diagonal elements of the upper triangular matrixUfrom the LU factorization ofA.DUisCOMPLEX*16array, dimension(N-1)β the (n-1) elements of the first super-diagonal ofU.DU2isCOMPLEX*16array, dimension(N-2)β the (n-2) elements of the second super-diagonal ofU.IPIVisINTEGERarray, dimension(N)β the pivot indices; for1 <= i <= n, rowiof the matrix was interchanged with rowIPIV(i).IPIV(i)will always be eitheriori+1;IPIV(i) = iindicates a row interchange was not required.BisCOMPLEX*16array, dimension(LDB,NRHS)β on entry, the matrix of right hand side vectorsB. On exit,Bis overwritten by the solution vectorsX. glow up πLDBisINTEGERβ the leading dimension of the arrayB.LDB >= max(1,N).INFOisINTEGERβ the final tea β= 0: successful exit π< 0: ifINFO = -k, the k-th argument had an illegal value π
Author π«Ά
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
subroutine zgtts2 π¦
subroutine zgtts2 (integer ITRANS, integer N, integer NRHS, complex*16,
dimension( * ) DL, complex*16, dimension( * ) D, complex*16, dimension(
* ) DU, complex*16, dimension( * ) DU2, integer, dimension( * ) IPIV,
complex*16, dimension( ldb, * ) B, integer LDB)
ZGTTS2 β¨
ZGTTS2 solves a system of linear equations with a tridiagonal matrix using the LU factorization computed by sgttrf. (yes bestie, sgttrf with a lowercase s, that's what it says.)
Purpose π
ZGTTS2 solves one of the systems of equations:
A * X = B, A**T * X = B, or A**H * X = B,
with a tridiagonal matrix A using the LU factorization computed by ZGTTRF.
Parameters π
ITRANSisINTEGERβ specifies the form of the system of equations, no cap.= 0:A * X = B(No transpose)= 1:A**T * X = B(Transpose)= 2:A**H * X = B(Conjugate transpose)
NisINTEGERβ the order of the matrixA.NRHSisINTEGERβ the number of right hand sides, i.e., the number of columns of the matrixB.NRHS >= 0.DLisCOMPLEX*16array, dimension(N-1)β the (n-1) multipliers that define the matrixLfrom the LU factorization ofA.DisCOMPLEX*16array, dimension(N)β the n diagonal elements of the upper triangular matrixUfrom the LU factorization ofA.DUisCOMPLEX*16array, dimension(N-1)β the (n-1) elements of the first super-diagonal ofU.DU2isCOMPLEX*16array, dimension(N-2)β the (n-2) elements of the second super-diagonal ofU.IPIVisINTEGERarray, dimension(N)β the pivot indices; for1 <= i <= n, rowiof the matrix was interchanged with rowIPIV(i).IPIV(i)will always be eitheriori+1;IPIV(i) = iindicates a row interchange was not required.BisCOMPLEX*16array, dimension(LDB,NRHS)β on entry, the matrix of right hand side vectorsB. On exit,Bis overwritten by the solution vectorsX.LDBisINTEGERβ the leading dimension of the arrayB.LDB >= max(1,N).
Author π«Ά
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
and that's the whole page, bestie π this manual page was generated automatically by Doxygen for LAPACK from the source code. it's version 3.11.0, dated Sun Nov 27 2022, and the page name is complex16GTcomputational(3). bye bye π
π¦ 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