complexGTcomputational(3)

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

🌸 NAME 🌸

complexGTcomputational β€” and the one-liner? complex. that's the whole thing bestie, no elaboration, the name ate and left no crumbs. it's the group of complex computational functions for GT matrices, and honestly the naming department was feeling efficient that day. πŸ’…

✨ SYNOPSIS ✨

🫢 Functions

  • subroutine cgtcon (NORM, N, DL, D, DU, DU2, IPIV, ANORM, RCOND, WORK, INFO) β€” CGTCON
  • subroutine cgtrfs (TRANS, N, NRHS, DL, D, DU, DLF, DF, DUF, DU2, IPIV, B, LDB, X, LDX, FERR, BERR, WORK, RWORK, INFO) β€” CGTRFS
  • subroutine cgttrf (N, DL, D, DU, DU2, IPIV, INFO) β€” CGTTRF
  • subroutine cgttrs (TRANS, N, NRHS, DL, D, DU, DU2, IPIV, B, LDB, INFO) β€” CGTTRS
  • subroutine cgtts2 (ITRANS, N, NRHS, DL, D, DU, DU2, IPIV, B, LDB) β€” CGTTS2 solves a system of linear equations with a tridiagonal matrix using the LU factorization computed by sgttrf.

πŸ’… DETAILED DESCRIPTION πŸ’…

This is the group of complex computational functions for GT matrices. that's it, that's the whole vibe check, lowkey iconic. πŸ¦‹


πŸ‘‘ FUNCTION DOCUMENTATION πŸ‘‘

🌟 subroutine cgtcon

subroutine cgtcon (character NORM, integer N, complex, dimension( * ) DL,
    complex, dimension( * ) D, complex, dimension( * ) DU, complex,
    dimension( * ) DU2, integer, dimension( * ) IPIV, real ANORM, real
    RCOND, complex, dimension( * ) WORK, integer INFO)

CGTCON

πŸŽ€ Purpose

CGTCON estimates the reciprocal of the condition number of a complex tridiagonal matrix A using the LU factorization as computed by CGTTRF.

An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))). math is mathing, we love to see it. ✨

πŸŽ€ Parameters

  • NORM β€” NORM is CHARACTER*1. it tells us whether you want the 1-norm condition number or the infinity-norm condition number:
    • = '1' or 'O': 1-norm;
    • = 'I': Infinity-norm.
  • N β€” N is INTEGER. the order of the matrix A. N >= 0.
  • DL β€” DL is COMPLEX array, dimension (N-1). the (n-1) multipliers that define the matrix L from the LU factorization of A as computed by CGTTRF.
  • D β€” D is COMPLEX array, dimension (N). the n diagonal elements of the upper triangular matrix U from the LU factorization of A.
  • DU β€” DU is COMPLEX array, dimension (N-1). the (n-1) elements of the first superdiagonal of U.
  • DU2 β€” DU2 is COMPLEX 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. so chill of it honestly.
  • ANORM β€” ANORM is REAL. 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 REAL. 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 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 cgtrfs

subroutine cgtrfs (character TRANS, integer N, integer NRHS, complex,
    dimension( * ) DL, complex, dimension( * ) D, complex, dimension( * )
    DU, complex, dimension( * ) DLF, complex, dimension( * ) DF, complex,
    dimension( * ) DUF, complex, dimension( * ) DU2, integer, dimension( * )
    IPIV, complex, dimension( ldb, * ) B, integer LDB, complex, dimension(
    ldx, * ) X, integer LDX, real, dimension( * ) FERR, real, dimension( * )
    BERR, complex, dimension( * ) WORK, real, dimension( * ) RWORK, integer
    INFO)

CGTRFS

πŸŽ€ Purpose

CGTRFS 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. glow-up for your answer, bestie. πŸ”₯

πŸŽ€ 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 array, dimension (N-1). the (n-1) subdiagonal elements of A.
  • D β€” D is COMPLEX array, dimension (N). the diagonal elements of A.
  • DU β€” DU is COMPLEX array, dimension (N-1). the (n-1) superdiagonal elements of A.
  • DLF β€” DLF is COMPLEX array, dimension (N-1). the (n-1) multipliers that define the matrix L from the LU factorization of A as computed by CGTTRF.
  • DF β€” DF is COMPLEX array, dimension (N). the n diagonal elements of the upper triangular matrix U from the LU factorization of A.
  • DUF β€” DUF is COMPLEX array, dimension (N-1). the (n-1) elements of the first superdiagonal of U.
  • DU2 β€” DU2 is COMPLEX 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 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 array, dimension (LDX,NRHS). on entry, the solution matrix X, as computed by CGTTRS. on exit, the improved solution matrix X. ✨ glow-up complete.
  • LDX β€” LDX is INTEGER. the leading dimension of the array X. LDX >= max(1,N).
  • FERR β€” FERR is REAL 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 REAL 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 array, dimension (2*N).
  • RWORK β€” RWORK is REAL 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.

πŸŽ€ Author

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

🌟 subroutine cgttrf

subroutine cgttrf (integer N, complex, dimension( * ) DL, complex,
    dimension( * ) D, complex, dimension( * ) DU, complex, dimension( * )
    DU2, integer, dimension( * ) IPIV, integer INFO)

CGTTRF

πŸŽ€ Purpose

CGTTRF 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.

πŸŽ€ Parameters

  • N β€” N is INTEGER. the order of the matrix A.
  • DL β€” DL is COMPLEX 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 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 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 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:
    • = 0: successful exit
    • < 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.
🚨 bestie this is the one to watch out for. INFO > 0 means the factorization went through but U is exactly singular, and if you try to solve a system with it you get division by zero. not a vibe. check your INFO before you use the result, no cap.

πŸŽ€ Author

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

cgttrs πŸ’…

subroutine cgttrs (character TRANS, integer N, integer NRHS, complex,
    dimension( * ) DL, complex, dimension( * ) D, complex, dimension( * )
    DU, complex, dimension( * ) DU2, integer, dimension( * ) IPIV, complex,
    dimension( ldb, * ) B, integer LDB, integer INFO)

CGTTRS β€” okay bestie, this one solves one of these systems:

Purpose

CGTTRS 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 CGTTRF. Like, it's the solve after factor moment. πŸ’…

Parameters

  • TRANS β€” CHARACTER*1. Tells us which form of the system we're solving, no cap:
    • = 'N': A * X = B (No transpose)
    • = 'T': A**T * X = B (Transpose)
    • = 'C': A**H * X = B (Conjugate transpose)
  • N β€” INTEGER. The order of the matrix A. The main character size, basically.
  • NRHS β€” INTEGER. The number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0.
  • DL β€” COMPLEX array, dimension (N-1). The (n-1) multipliers that define the matrix L from the LU factorization of A. The little lower-diagonal besties.
  • D β€” COMPLEX array, dimension (N). The n diagonal elements of the upper triangular matrix U from the LU factorization of A. Diag energy ✨
  • DU β€” COMPLEX array, dimension (N-1). The (n-1) elements of the first super-diagonal of U.
  • DU2 β€” COMPLEX array, dimension (N-2). The (n-2) elements of the second super-diagonal of U.
  • IPIV β€” 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. So basically the row-swap receipts. 🧾
  • B β€” COMPLEX array, dimension (LDB,NRHS). On entry, the matrix of right hand side vectors B. On exit, B is overwritten by the solution vectors X. It's giving glow-up: RHS in, solution out. πŸ’–
  • LDB β€” INTEGER. The leading dimension of the array B. LDB >= max(1,N).
  • INFO β€” INTEGER.
    • = 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.

cgtts2 πŸ¦‹

subroutine cgtts2 (integer ITRANS, integer N, integer NRHS, complex,
    dimension( * ) DL, complex, dimension( * ) D, complex, dimension( * )
    DU, complex, dimension( * ) DU2, integer, dimension( * ) IPIV, complex,
    dimension( ldb, * ) B, integer LDB)

CGTTS2 solves a system of linear equations with a tridiagonal matrix using the LU factorization computed by sgttrf. (Yes, the original says sgttrf β€” we're not fixing it, bestie, we're just reading it fr fr.)

Purpose

CGTTS2 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 CGTTRF.

Parameters

  • ITRANS β€” INTEGER. Specifies the form of the system of equations. The integer-coded version of the vibe check:
    • = 0: A * X = B (No transpose)
    • = 1: A**T * X = B (Transpose)
    • = 2: A**H * X = B (Conjugate transpose)
  • N β€” INTEGER. The order of the matrix A.
  • NRHS β€” INTEGER. The number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0.
  • DL β€” COMPLEX array, dimension (N-1). The (n-1) multipliers that define the matrix L from the LU factorization of A.
  • D β€” COMPLEX array, dimension (N). The n diagonal elements of the upper triangular matrix U from the LU factorization of A.
  • DU β€” COMPLEX array, dimension (N-1). The (n-1) elements of the first super-diagonal of U.
  • DU2 β€” COMPLEX array, dimension (N-2). The (n-2) elements of the second super-diagonal of U.
  • IPIV β€” 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 β€” COMPLEX 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 β€” 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.

Author

Generated automatically by Doxygen for LAPACK from the source code.

This page is from LAPACK version 3.11.0, dated Sun Nov 27 2022, complexGTcomputational(3). Auto-generated by Doxygen, but the slay is manual. πŸ’…βœ¨ Byeee!
πŸ“¦ where this page comes from