ZHET01_ROOK(3)

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

πŸ’– ZHET01_ROOK(3) β€” okay bestie, let’s get into it πŸ’–

This is the ZHET01_ROOK(3) page from the Library Functions Manual, filed under TESTING/LIN/zhet01_rook.f. It’s giving β€œroutine that reconstructs a matrix and checks the residual” energy. No cap. πŸŽ€


✨ NAME ✨

TESTING/LIN/zhet01_rook.f β€” that’s the file, that’s the name, we’re not doing mystery here. πŸ¦‹


🌸 SYNOPSIS 🌸

Functions/Subroutines

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

And the routine is literally named ZHET01_ROOK. Iconic. πŸ’…


πŸ¦‹ Function/Subroutine Documentation πŸ¦‹

   subroutine zhet01_rook (character uplo, integer n, complex*16, dimension(
       lda, * ) a, integer lda, complex*16, dimension( ldafac, * ) afac,
       integer ldafac, integer, dimension( * ) ipiv, complex*16, dimension(
       ldc, * ) c, integer ldc, double precision, dimension( * ) rwork, double
       precision resid)

ZHET01_ROOK β€” yes, again, because the docs said so. Periodt. πŸ‘‘

Purpose

Okay so here’s the vibe: ZHET01_ROOK reconstructs a complex Hermitian indefinite matrix A from its block L*D*L' or U*D*U' factorization, then 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. That’s the whole check, bestie. πŸ”₯

Parameters

  • UPLO β€” is CHARACTER*1; it specifies whether the upper or lower triangular part of the complex Hermitian matrix A is stored:
    • = 'U': Upper triangular
    • = 'L': Lower triangular
  • N β€” is INTEGER; the number of rows and columns of the matrix A. N >= 0.
  • A β€” is COMPLEX*16 array, dimension (LDA,N); the original complex Hermitian matrix A.
  • LDA β€” is INTEGER; the leading dimension of the array A. LDA >= max(1,N).
  • AFAC β€” is COMPLEX*16 array, dimension (LDAFAC,N); 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 β€” is INTEGER; the leading dimension of the array AFAC. LDAFAC >= max(1,N).
  • IPIV β€” is INTEGER array, dimension (N); the pivot indices from CSYTRF_ROOK.
  • C β€” is COMPLEX*16 array, dimension (LDC,N).
  • LDC β€” is INTEGER; the leading dimension of the array C. LDC >= max(1,N).
  • RWORK β€” is DOUBLE PRECISION array, dimension (N).
  • RESID β€” is DOUBLE PRECISION; if UPLO = 'L', then norm(L*D*L' - A) / ( N * norm(A) * EPS ); if UPLO = 'U', then 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 zhet01_rook.f.

Author

Generated automatically by Doxygen for LAPACK from the source code.


Okay bye bestie β€” this page came from TESTING/LI...et01_rook.f(3), LAPACK Version 3.12.0. Mwah. πŸ’‹βœ¨

πŸ“¦ where this page comes from