CLAVHE_ROOK(3)

πŸ“¦
version 3.12.1 Β· 2 versions
, in arch rolling

okay bestie, welcome to TESTING/LI...avhe_rook.f(3) from the Library Functions Manual, section 3 β€” the source file is TESTING/LIN/clavhe_rook.f, and today's main character is CLAVHE_ROOK πŸ’…πŸ«Ά.

✨ NAME ✨

TESTING/LIN/clavhe_rook.f

πŸ› οΈ SYNOPSIS πŸ› οΈ

πŸ“¦ Functions/Subroutines πŸ“¦

subroutine clavhe_rook (uplo, trans, diag, n, nrhs, a, lda, ipiv, b,
    ldb, info)

CLAVHE_ROOK β€” that's the icon, no cap πŸ‘‘

πŸ’– Function/Subroutine Documentation πŸ’–

subroutine clavhe_rook (character uplo, character trans, character diag,
    integer n, integer nrhs, complex, dimension( lda, * ) a, integer lda,
    integer, dimension( * ) ipiv, complex, dimension( ldb, * ) b, integer
    ldb, integer info)

CLAVHE_ROOK

🎯 Purpose 🎯

Okay so CLAVHE_ROOK performs one of these matrix-vector operations:

x := A*x  or  x := A^H*x

where x is an N element vector and A is one of the factors from the block U*D*U' or L*D*L' factorization computed by CHETRF_ROOK.

  • If TRANS = 'N', it multiplies by U or U * D (or L or L * D).
  • If TRANS = 'C', it multiplies by U' or D * U' (or L' or D * L').

🧩 Parameters 🧩

  • UPLO β€” CHARACTER*1. Tells you whether the factor stored in A is upper or lower triangular. = 'U': Upper triangular. = 'L': Lower triangular.
  • TRANS β€” CHARACTER*1. Specifies the operation to be performed. = 'N': x := A*x. = 'C': x := A^H*x.
  • DIAG β€” CHARACTER*1. Specifies whether or not the diagonal blocks are unit matrices. If the diagonal blocks are assumed to be unit, then A = U or A = L, otherwise A = U*D or A = L*D. = 'U': Diagonal blocks are assumed to be unit matrices. = 'N': Diagonal blocks are assumed to be non-unit matrices.
  • N β€” INTEGER. The number of rows and columns of the matrix A. N >= 0.
  • NRHS β€” INTEGER. The number of right hand sides, i.e., the number of vectors x to be multiplied by A. NRHS >= 0.
  • A β€” COMPLEX array, dimension (LDA,N). The block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by CHETRF_ROOK. Stored as a 2-D triangular matrix.
  • LDA β€” INTEGER. The leading dimension of the array A. LDA >= max(1,N).
  • IPIV β€” INTEGER array, dimension (N). Details of the interchanges and the block structure of D, as determined by CHETRF_ROOK.
    • If UPLO = 'U':
      • Only the last KB elements of IPIV are set.
      • If IPIV(k) > 0, then rows and columns k and IPIV(k) were interchanged and D(k,k) is a 1-by-1 diagonal block.
      • If IPIV(k) < 0 and IPIV(k-1) < 0, then rows and columns k and -IPIV(k) were interchanged and rows and columns k-1 and -IPIV(k-1) were inerchaged (yes, that's the spelling in the source 😭), D(k-1:k,k-1:k) is a 2-by-2 diagonal block.
    • If UPLO = 'L':
      • Only the first KB elements of IPIV are set.
      • If IPIV(k) > 0, then rows and columns k and IPIV(k) were interchanged and D(k,k) is a 1-by-1 diagonal block.
      • If IPIV(k) < 0 and IPIV(k+1) < 0, then rows and columns k and -IPIV(k) were interchanged and rows and columns k+1 and -IPIV(k+1) were inerchaged (again, source spelling πŸ’€), D(k:k+1,k:k+1) is a 2-by-2 diagonal block.
  • B β€” COMPLEX array, dimension (LDB,NRHS). On entry, B contains NRHS vectors of length N. On exit, B is overwritten with the product A * B.
  • 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.

Definition at line 154 of file clavhe_rook.f.

🌈 Author 🌈

Generated automatically by Doxygen for LAPACK from the source code.


okay that's the whole page, bestie β€” LAPACK Version 3.12.0, page TESTING/LI...avhe_rook.f(3), and the footer isn't showing a date so I'm not inventing one πŸŒˆπŸ’–βœ¨

πŸ“¦ where this page comes from