complex16GTcomputational(3)

πŸ“¦
version 3.11.0 Β· 2 versions
, in debian bookworm

πŸ’– 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's zgtcon, the condition-number girlie.
  • ZGTRFS β€” that's zgtrfs, she improves your solution and hands you error bounds like a true friend. 🫢
  • ZGTTRF β€” that's zgtroff… no wait, zgttrf. She does the LU factorization. Main character energy.
  • ZGTTRS β€” that's zgttrs, she solves the system.
  • ZGTTS2 β€” that's zgtts2, 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 says sgttrf in 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 β€” NORM is CHARACTER*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 β€” N is INTEGER. The order of the matrix A. N >= 0.
  • DL β€” DL is COMPLEX*16 array, dimension (N-1). The (n-1) multipliers that define the matrix L from the LU factorization of A as computed by ZGTTRF.
  • D β€” D is COMPLEX*16 array, dimension (N). The n diagonal elements of the upper triangular matrix U from the LU factorization of A.
  • DU β€” DU is COMPLEX*16 array, dimension (N-1). The (n-1) elements of the first superdiagonal of U.
  • DU2 β€” DU2 is COMPLEX*16 array, dimension (N-2). The (n-2) elements of the second superdiagonal of U.
  • IPIV β€” IPIV is INTEGER array, dimension (N). The pivot indices; for 1 <= i <= n, row i of the matrix was interchanged with row IPIV(i). IPIV(i) will always be either i or i+1; IPIV(i) = i indicates a row interchange was not required.
  • ANORM β€” ANORM is DOUBLE PRECISION. If NORM = '1' or 'O', the 1-norm of the original matrix A. If NORM = 'I', the infinity-norm of the original matrix A.
  • RCOND β€” RCOND is DOUBLE PRECISION. The reciprocal of the condition number of the matrix A, computed as RCOND = 1/(ANORM * AINVNM), where AINVNM is an estimate of the 1-norm of inv(A) computed in this routine.
  • WORK β€” WORK is COMPLEX*16 array, dimension (2*N).
  • INFO β€” INFO is INTEGER.
    • = 0: successful exit
    • < 0: if INFO = -i, the i-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 β€” TRANS is CHARACTER*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 β€” N is INTEGER. The order of the matrix A. N >= 0.
  • NRHS β€” NRHS is INTEGER. The number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0.
  • DL β€” DL is COMPLEX*16 array, dimension (N-1). The (n-1) subdiagonal elements of A.
  • D β€” D is COMPLEX*16 array, dimension (N). The diagonal elements of A.
  • DU β€” DU is COMPLEX*16 array, dimension (N-1). The (n-1) superdiagonal elements of A.
  • DLF β€” DLF is COMPLEX*16 array, dimension (N-1). The (n-1) multipliers that define the matrix L from the LU factorization of A as computed by ZGTTRF.
  • DF β€” DF is COMPLEX*16 array, dimension (N). The n diagonal elements of the upper triangular matrix U from the LU factorization of A.
  • DUF β€” DUF is COMPLEX*16 array, dimension (N-1). The (n-1) elements of the first superdiagonal of U.
  • DU2 β€” DU2 is COMPLEX*16 array, dimension (N-2). The (n-2) elements of the second superdiagonal of U.
  • IPIV β€” IPIV is INTEGER array, dimension (N). The pivot indices; for 1 <= i <= n, row i of the matrix was interchanged with row IPIV(i). IPIV(i) will always be either i or i+1; IPIV(i) = i indicates a row interchange was not required.
  • B β€” B is COMPLEX*16 array, dimension (LDB,NRHS). The right hand side matrix B.
  • LDB β€” LDB is INTEGER. The leading dimension of the array B. LDB >= max(1,N).
  • X β€” X is COMPLEX*16 array, dimension (LDX,NRHS). On entry, the solution matrix X, as computed by ZGTTRS. On exit, the improved solution matrix X.
  • LDX β€” LDX is INTEGER. The leading dimension of the array X. LDX >= max(1,N).
  • FERR β€” FERR is DOUBLE PRECISION array, dimension (NRHS). The estimated forward error bound for each solution vector X(j) (the j-th column of the solution matrix X). If XTRUE is the true solution corresponding to X(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 in X(j). The estimate is as reliable as the estimate for RCOND, and is almost always a slight overestimate of the true error.
  • BERR β€” BERR is DOUBLE PRECISION array, dimension (NRHS). The componentwise relative backward error of each solution vector X(j) (i.e., the smallest relative change in any element of A or B that makes X(j) an exact solution).
  • WORK β€” WORK is COMPLEX*16 array, dimension (2*N).
  • RWORK β€” RWORK is DOUBLE PRECISION array, dimension (N).
  • INFO β€” INFO is INTEGER.
    • = 0: successful exit
    • < 0: if INFO = -i, the i-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 β€” N is INTEGER. The order of the matrix A.
  • DL β€” DL is COMPLEX*16 array, dimension (N-1). On entry, DL must contain the (n-1) sub-diagonal elements of A. On exit, DL is overwritten by the (n-1) multipliers that define the matrix L from the LU factorization of A.
  • D β€” D is COMPLEX*16 array, dimension (N). On entry, D must contain the diagonal elements of A. On exit, D is overwritten by the n diagonal elements of the upper triangular matrix U from the LU factorization of A.
  • DU β€” DU is COMPLEX*16 array, dimension (N-1). On entry, DU must contain the (n-1) super-diagonal elements of A. On exit, DU is overwritten by the (n-1) elements of the first super-diagonal of U.
  • DU2 β€” DU2 is COMPLEX*16 array, dimension (N-2). On exit, DU2 is overwritten by the (n-2) elements of the second super-diagonal of U.
  • IPIV β€” IPIV is INTEGER array, dimension (N). The pivot indices; for 1 <= i <= n, row i of the matrix was interchanged with row IPIV(i). IPIV(i) will always be either i or i+1; IPIV(i) = i indicates a row interchange was not required.
  • INFO β€” INFO is INTEGER… and bestie, INFO has more to say β€” that's coming in part 2, don't go anywhere πŸ’–
  • INFO is INTEGER β€” the final report card, bestie πŸ“
    • = 0: successful exit, we ate and left no crumbs πŸŽ‰
    • < 0: if INFO = -k, the k-th argument had an illegal value πŸ’€
    • > 0: if INFO = k, U(k,k) is exactly zero. The factorization has been completed, but the factor U is 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 πŸ“‹

  • TRANS is CHARACTER*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)
  • N is INTEGER β€” the order of the matrix A. the main character, literally.
  • NRHS is INTEGER β€” the number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0. no negative vibes allowed.
  • DL is COMPLEX*16 array, dimension (N-1) β€” the (n-1) multipliers that define the matrix L from the LU factorization of A.
  • D is COMPLEX*16 array, dimension (N) β€” the n diagonal elements of the upper triangular matrix U from the LU factorization of A.
  • DU is COMPLEX*16 array, dimension (N-1) β€” the (n-1) elements of the first super-diagonal of U.
  • DU2 is COMPLEX*16 array, dimension (N-2) β€” the (n-2) elements of the second super-diagonal of U.
  • IPIV is INTEGER array, dimension (N) β€” the pivot indices; for 1 <= i <= n, row i of the matrix was interchanged with row IPIV(i). IPIV(i) will always be either i or i+1; IPIV(i) = i indicates a row interchange was not required.
  • B is COMPLEX*16 array, dimension (LDB,NRHS) β€” on entry, the matrix of right hand side vectors B. On exit, B is overwritten by the solution vectors X. glow up πŸ’…
  • LDB is INTEGER β€” the leading dimension of the array B. LDB >= max(1,N).
  • INFO is INTEGER β€” the final tea β˜•
    • = 0: successful exit πŸŽ‰
    • < 0: if INFO = -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 πŸ“‹

  • ITRANS is INTEGER β€” 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)
  • N is INTEGER β€” the order of the matrix A.
  • NRHS is INTEGER β€” the number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0.
  • DL is COMPLEX*16 array, dimension (N-1) β€” the (n-1) multipliers that define the matrix L from the LU factorization of A.
  • D is COMPLEX*16 array, dimension (N) β€” the n diagonal elements of the upper triangular matrix U from the LU factorization of A.
  • DU is COMPLEX*16 array, dimension (N-1) β€” the (n-1) elements of the first super-diagonal of U.
  • DU2 is COMPLEX*16 array, dimension (N-2) β€” the (n-2) elements of the second super-diagonal of U.
  • IPIV is INTEGER array, dimension (N) β€” the pivot indices; for 1 <= i <= n, row i of the matrix was interchanged with row IPIV(i). IPIV(i) will always be either i or i+1; IPIV(i) = i indicates a row interchange was not required.
  • B is COMPLEX*16 array, dimension (LDB,NRHS) β€” on entry, the matrix of right hand side vectors B. On exit, B is overwritten by the solution vectors X.
  • LDB is INTEGER β€” the leading dimension of the array B. 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