CHET01_ROOK(3)

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

🌸 NAME 🌸

hey bestie πŸ’– welcome to the Library Functions Manual page for TESTING/LIN/chet01_rook.f β€” the file that brings you CHET01_ROOK. yes, we're in testing/LIN land, and this one is lowkey iconic for matrix reconstruction vibes ✨


✨ SYNOPSIS ✨

🫢 Functions/Subroutines

  • subroutine chet01_rook (uplo, n, a, lda, afac, ldafac, ipiv, c, ldc, rwork, resid) β€” that's the CHET01_ROOK subroutine, bestie πŸŽ€

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

okay so here's the exact signature, no cap:

subroutine chet01_rook (uplo, n, a, lda, afac, ldafac, ipiv, c, ldc,
    rwork, resid)

and the full declaration is giving very much Fortran realness:

subroutine chet01_rook (character uplo, integer n, complex, dimension( lda,
    * ) a, integer lda, complex, dimension( ldafac, * ) afac, integer
    ldafac, integer, dimension( * ) ipiv, complex, dimension( ldc, * ) c,
    integer ldc, real, dimension( * ) rwork, real resid)

this subroutine is literally called CHET01_ROOK πŸ’…

🎯 Purpose

CHET01_ROOK reconstructs a complex Hermitian indefinite matrix A from its block L*D*L' or U*D*U' factorization and computes the residual:

norm( C - A ) / ( N * norm(A) * EPS ),

where C is the reconstructed matrix, EPS is the machine epsilon, L' is the transpose of L, and U' is the transpose of U. periodt ✨

🧚 Parameters

  • UPLO β€” UPLO is CHARACTER*1. it tells you whether the upper or lower triangular part of the complex Hermitian matrix A is stored:
= 'U':  Upper triangular
= 'L':  Lower triangular
  • N β€” N is INTEGER. the number of rows and columns of the matrix A. must be N >= 0 πŸ’–
  • A β€” A is COMPLEX array, dimension (LDA,N). it's the original complex Hermitian matrix A, the main character of this whole situation πŸ‘‘
  • LDA β€” LDA is INTEGER. the leading dimension of the array A. must be LDA >= max(1,N) 🌟
  • AFAC β€” AFAC is COMPLEX array, dimension (LDAFAC,N). this is the factored form of the matrix A. AFAC contains the block diagonal matrix D and the multipliers used to obtain the factor L or U from the block L*D*L' or U*D*U' factorization as computed by CSYTRF_ROOK πŸ”₯
  • LDAFAC β€” LDAFAC is INTEGER. the leading dimension of the array AFAC. must be LDAFAC >= max(1,N). πŸŽ€
  • IPIV β€” IPIV is INTEGER array, dimension (N). the pivot indices from CSYTRF_ROOK, slay πŸ’…
  • C β€” C is COMPLEX array, dimension (LDC,N). that's it, that's the whole description, bestie 🫢
  • LDC β€” LDC is INTEGER. the leading dimension of the array C. must be LDC >= max(1,N). 🌈
  • RWORK β€” RWORK is REAL array, dimension (N). real array energy ✨
  • RESID β€” RESID is REAL. here's the conditional tea:
If UPLO = 'L', norm(L*D*L' - A) / ( N * norm(A) * EPS )
If UPLO = 'U', norm(U*D*U' - A) / ( N * norm(A) * EPS )

πŸ‘‘ Author

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

Definition at line 123 of file chet01_rook.f. iconic πŸ“Œ


πŸ’œ Author πŸ’œ

Generated automatically by Doxygen for LAPACK from the source code. no notes, it's giving auto-generated excellence πŸ§šβ€β™€οΈ


mwah πŸ’‹ β€” cute little sign-off: this page is from LAPACK Version 3.12.0, and the footer source string is TESTING/LI...et01_rook.f(3). periodt, bye bestie πŸŽ€βœ¨

πŸ“¦ where this page comes from