TESTING/LIN/chet01_3.f(3)

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

πŸ’– TESTING/LIN/chet01_3.f(3) πŸ’–

okay so bestie, this is the Library Functions Manual page for TESTING/LIN/chet01_3.f(3). It's a LAPACK testing subroutine situation and we are obsessed. No cap.

🌸 NAME 🌸

TESTING/LIN/chet01_3.f β€” that's the file name, that's the whole name, periodt.

✨ SYNOPSIS ✨

Functions/Subroutines

       subroutine chet01_3 (uplo, n, a, lda, afac, ldafac, e, ipiv, c, ldc,
           rwork, resid)
           CHET01_3

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

Here's the full signature, copied exactly because we do not mess with source code:

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

🎯 Purpose 🎯

The !> block is literally the main character, so here it is verbatim:

!>
!> CHET01_3 reconstructs a Hermitian indefinite matrix A from its
!> block L*D*L' or U*D*U' factorization computed by CHETRF_RK
!> (or CHETRF_BK) and computes the residual
!>    norm( C - A ) / ( N * norm(A) * EPS ),
!> where C is the reconstructed matrix and EPS is the machine epsilon.
!>

So yes: it reconstructs a Hermitian indefinite matrix A from its block L*D*L' or U*D*U' factorization computed by CHETRF_RK (or CHETRF_BK) and computes the residual norm( C - A ) / ( N * norm(A) * EPS ), where C is the reconstructed matrix and EPS is the machine epsilon. Iconic. πŸ‘‘

πŸŽ€ Parameters πŸŽ€

  • UPLO β€” UPLO is CHARACTER*1. It specifies whether the upper or lower triangular part of the 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. N >= 0.
  • A β€” A is COMPLEX*16 array, dimension (LDA,N). The original Hermitian matrix A.
  • LDA β€” LDA is INTEGER. The leading dimension of the array A. LDA >= max(1,N).
  • AFAC β€” AFAC is COMPLEX array, dimension (LDAFAC,N). Diagonal of the block diagonal matrix D and factors U or L as computed by CHETRF_RK and CHETRF_BK:
    • a) ONLY diagonal elements of the Hermitian block diagonal matrix D on the diagonal of A, i.e. D(k,k) = A(k,k); (superdiagonal (or subdiagonal) elements of D should be provided on entry in array E), and
    • b) If UPLO = 'U': factor U in the superdiagonal part of A. If UPLO = 'L': factor L in the subdiagonal part of A.
  • LDAFAC β€” LDAFAC is INTEGER. The leading dimension of the array AFAC. LDAFAC >= max(1,N).
  • E β€” E is COMPLEX array, dimension (N). On entry, contains the superdiagonal (or subdiagonal) elements of the Hermitian block diagonal matrix D with 1-by-1 or 2-by-2 diagonal blocks, where If UPLO = 'U': E(i) = D(i-1,i),i=2:N, E(1) not referenced; If UPLO = 'L': E(i) = D(i+1,i),i=1:N-1, E(N) not referenced.
  • IPIV β€” IPIV is INTEGER array, dimension (N). The pivot indices from CHETRF_RK (or CHETRF_BK).
  • C β€” C is COMPLEX array, dimension (LDC,N).
  • LDC β€” LDC is INTEGER. The leading dimension of the array C. LDC >= max(1,N).
  • RWORK β€” RWORK is REAL array, dimension (N).
  • RESID β€” RESID is REAL. 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 139 of file chet01_3.f.

πŸͺ„ Author πŸͺ„

Generated automatically by Doxygen for LAPACK from the source code.


okay bestie, that's the whole page. source/version: LAPACK Version 3.12.0; page: TESTING/LIN/chet01_3.f(3); date: not listed in the original footer, so we're not inventing one πŸ’€. slay, stay Hermitian πŸ’…βœ¨

πŸ“¦ where this page comes from