/home/abui...N/zlatm6.f(3)

πŸ“¦ version 3.12.0, in opensuse-leap 16.0

πŸ¦‹ NAME πŸ¦‹

ok so this is the manual page for /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/MATGEN/zlatm6.f β€” it's a library functions manual page, bestie, and no I will not be shortening that path, it's part of the lore πŸ’…


✨ SYNOPSIS ✨

Functions/Subroutines

  • subroutine ZLATM6 (type, n, a, lda, b, x, ldx, y, ldy, alpha, beta, wx, wy, s, dif) β€” literally the whole function, and yes it's a lot of arguments, we'll get to them 🌸
    • ZLATM6 β€” that's it, that's the name πŸŽ€

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

subroutine ZLATM6 (integer type, integer n, complex*16, dimension( lda, * ) a, integer lda, complex*16, dimension( lda, * ) b, complex*16, dimension( ldx, * ) x, integer ldx, complex*16, dimension( ldy, * ) y, integer ldy, complex*16 alpha, complex*16 beta, complex*16 wx, complex*16 wy, double precision, dimension( * ) s, double precision, dimension( * ) dif)

ZLATM6 πŸ‘‘

Purpose:

ok so here's the tea πŸ«–

ZLATM6 generates test matrices for the generalized eigenvalue problem, their corresponding right and left eigenvector matrices, and also reciprocal condition numbers for all eigenvalues and the reciprocal condition numbers of eigenvectors corresponding to the 1th and 5th eigenvalues.

(yes it really says "1th", we do not fix it, we respect the source 😭)

Test Matrices 🧚

so there are two kinds of test matrix pairs

     (A, B) = inverse(YH) * (Da, Db) * inverse(X)

that get used in the tests, and they are:

Type 1:

Da = 1+a   0    0    0    0    Db = 1   0   0   0   0
      0   2+a   0    0    0         0   1   0   0   0
      0    0   3+a   0    0         0   0   1   0   0
      0    0    0   4+a   0         0   0   0   1   0
      0    0    0    0   5+a ,      0   0   0   0   1

and Type 2:

Da = 1+i   0    0       0       0    Db = 1   0   0   0   0
      0   1-i   0       0       0         0   1   0   0   0
      0    0    1       0       0         0   0   1   0   0
      0    0    0 (1+a)+(1+b)i  0         0   0   0   1   0
      0    0    0       0 (1+a)-(1+b)i,   0   0   0   0   1 .

in both cases the same inverse(YH) and inverse(X) are used to compute (A, B), which gives you the exact eigenvectors to (A,B) as (YH, X) β€” iconic behavior, honestly πŸ’…

YH:  =  1    0   -y    y   -y    X =  1   0  -x  -x   x
        0    1   -y    y   -y         0   1   x  -x  -x
        0    0    1    0    0         0   0   1   0   0
        0    0    0    1    0         0   0   0   1   0
        0    0    0    0    1,        0   0   0   0   1 , where

and a, b, x and y will have all values independently of each other. no cap, fully independent ✨


🌈 Parameters 🌈

TYPE

  • TYPE is INTEGER β€” Specifies the problem type (see further details). it's giving "figure it out from the Purpose section" energy, and the details are literally up there πŸ‘†

N

  • N is INTEGER β€” Size of the matrices A and B. that's the size, bestie, no more no less πŸŽ€

A

  • A is COMPLEX*16 array, dimension (LDA, N). On exit A N-by-N is initialized according to TYPE. πŸ”₯

LDA

  • LDA is INTEGER β€” The leading dimension of A and of B. note it's both of them, they share 😌

B

  • B is COMPLEX*16 array, dimension (LDA, N). On exit B N-by-N is initialized according to TYPE. πŸ’œ

X

  • X is COMPLEX*16 array, dimension (LDX, N). On exit X is the N-by-N matrix of right eigenvectors. main character matrix fr fr πŸ‘‘

LDX

  • LDX is INTEGER β€” The leading dimension of X. ✨

Y

  • Y is COMPLEX*16 array, dimension (LDY, N). On exit Y is the N-by-N matrix of left eigenvectors. the left counterpart, we love a balanced duo 🫢

LDY

  • LDY is INTEGER β€” The leading dimension of Y. 🌸

ALPHA

  • ALPHA is COMPLEX*16 β€” that's it. that's the whole description. slay, minimal, mysterious πŸ’…

BETA

  • BETA is COMPLEX*16 β€” Weighting constants for matrix A. (the source has a little \verbatim marker hanging around here, we're just gonna wave at it and move on πŸ™ˆ)

WX

  • WX is COMPLEX*16 β€” Constant for right eigenvector matrix. 🌟

WY

  • WY is COMPLEX*16 β€” Constant for left eigenvector matrix. 🌟

S

  • S is DOUBLE PRECISION array, dimension (N). S(i) is the reciprocal condition number for eigenvalue i. πŸ”₯

DIF

  • DIF is DOUBLE PRECISION array, dimension (N). DIF(i) is the reciprocal condition number for eigenvector i. πŸ”₯

πŸ‘‘ Author πŸ‘‘

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

Definition at line 172 of file zlatm6.f. ✨


πŸ’€ Author (again) πŸ’€

Author: Generated automatically by Doxygen for LAPACK from the source code. not a human, just Doxygen doing its little automated thing πŸ€–βœ¨


so yeah, that's the whole page! this was LAPACK Version 3.12.0, and the whole thing is /home/abui...N/zlatm6.f(3) β€” hope that helped bestie, go forth and generate those test matrices πŸŽ€πŸ’–πŸ¦‹

πŸ“¦ where this page comes from