TESTING/EIG/csgt01.f(3)

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

okay bestie, welcome to TESTING/EIG/csgt01.f from the LAPACK Library Functions Manual β€” yep, the (3) manual-page situation. this whole page is about CSGT01, and it’s giving β€œtesting routine that checks your generalized Hermitian eigen-decomposition” energy. πŸ’…

🌸 NAME

TESTING/EIG/csgt01.f β€” that’s the page/file name, and the actual subroutine star is CSGT01.

✨ SYNOPSIS

🧚 Functions/Subroutines

subroutine csgt01 (itype, uplo, n, m, a, lda, b, ldb, z, ldz, d, work,
    rwork, result)
    CSGT01

the icon herself: CSGT01.

πŸ’… Function/Subroutine Documentation

here’s the full signature, copied exactly because we do not mess with signatures in this house:

subroutine csgt01 (integer itype, character uplo, integer n, integer m,
    complex, dimension( lda, * ) a, integer lda, complex, dimension( ldb, *
    ) b, integer ldb, complex, dimension( ldz, * ) z, integer ldz, real,
    dimension( * ) d, complex, dimension( * ) work, real, dimension( * )
    rwork, real, dimension( * ) result)

CSGT01

πŸŽ€ Purpose

quick translation: CSGT01 checks a decomposition of the form

!>
!> CSGT01 checks a decomposition of the form
!>
!>    A Z   =  B Z D or
!>    A B Z =  Z D or
!>    B A Z =  Z D
!>
!> where A is a Hermitian matrix, B is Hermitian positive definite,
!> Z is unitary, and D is diagonal.
!>
!> One of the following test ratios is computed:
!>
!> ITYPE = 1:  RESULT(1) = | A Z - B Z D | / ( |A| |Z| n ulp )
!>
!> ITYPE = 2:  RESULT(1) = | A B Z - Z D | / ( |A| |Z| n ulp )
!>
!> ITYPE = 3:  RESULT(1) = | B A Z - Z D | / ( |A| |Z| n ulp )
!>

so yeah, it’s checking A Z = B Z D, A B Z = Z D, or B A Z = Z D where A is Hermitian, B is Hermitian positive definite, Z is unitary, and D is diagonal. and depending on ITYPE, it computes one of those test ratios. the math is mathing 🧚

πŸ¦‹ Parameters

parameter roll call, bestie:

  • ITYPE β€” INTEGER. The form of the Hermitian generalized eigenproblem.
    • = 1: A*z = (lambda)*B*z
    • = 2: A*B*z = (lambda)*z
    • = 3: B*A*z = (lambda)*z
  • UPLO β€” CHARACTER*1. Specifies whether the upper or lower triangular part of the Hermitian matrices A and B is stored.
    • = 'U': Upper triangular
    • = 'L': Lower triangular
  • N β€” INTEGER. The order of the matrix A. N >= 0.
  • M β€” INTEGER. The number of eigenvalues found. M >= 0.
  • A β€” COMPLEX array, dimension (LDA, N). The original Hermitian matrix A.
  • LDA β€” INTEGER. The leading dimension of the array A. LDA >= max(1,N).
  • B β€” COMPLEX array, dimension (LDB, N). The original Hermitian positive definite matrix B.
  • LDB β€” INTEGER. The leading dimension of the array B. LDB >= max(1,N).
  • Z β€” COMPLEX array, dimension (LDZ, M). The computed eigenvectors of the generalized eigenproblem.
  • LDZ β€” INTEGER. The leading dimension of the array Z. LDZ >= max(1,N).
  • D β€” REAL array, dimension (M). The computed eigenvalues of the generalized eigenproblem.
  • WORK β€” COMPLEX array, dimension (N*N).
  • RWORK β€” REAL array, dimension (N).
  • RESULT β€” REAL array, dimension (1). The test ratio as described above.

πŸ‘‘ Author

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

Definition at line 150 of file csgt01.f.

πŸ‘‘ Author

Generated automatically by Doxygen for LAPACK from the source code.


and that’s the whole page, bestie 🫢 the footer vibe is LAPACK Version 3.12.0, with TESTING/EIG/csgt01.f(3) riding at the bottom. periodt πŸ’–

πŸ“¦ where this page comes from