/home/abui...D/zlahrd.f(3)

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

πŸ’… NAME πŸ’…

ok so bestie, this page is literally the manual for this one file, and the file is:

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/DEPRECATED/zlahrd.f

and it lives inside the Library Functions Manual at /home/abui...D/zlahrd.f(3) β€” that's the whole vibe, that's the page πŸŽ€


✨ SYNOPSIS ✨

Functions/Subroutines

  • subroutine ZLAHRD (n, k, nb, a, lda, tau, t, ldt, y, ldy) β€” bestie, what it does is it reduces the first nb columns of a general rectangular matrix A so that everything below the k-th subdiagonal is straight-up zero, and then it hands back the auxiliary matrices you need to apply that transformation to the part of A you haven't reduced yet. iconic behavior honestly πŸ¦‹

🌸 Function/Subroutine Documentation 🌸

subroutine ZLAHRD (integer n, integer k, integer nb, complex*16, dimension( lda, * ) a, integer lda, complex*16, dimension( nb ) tau, complex*16, dimension( ldt, nb ) t, integer ldt, complex*16, dimension( ldy, nb ) y, integer ldy)

subroutine ZLAHRD (integer n, integer k, integer nb, complex*16, dimension(
    lda, * ) a, integer lda, complex*16, dimension( nb ) tau, complex*16,
    dimension( ldt, nb ) t, integer ldt, complex*16, dimension( ldy, nb ) y,
    integer ldy)

ZLAHRD reduces the first nb columns of a general rectangular matrix A so that the elements below the k-th subdiagonal are zero, and returns auxiliary matrices which are needed to apply the transformation to the unreduced part of A. slay πŸ’œ

Purpose:

⚠️ DEPRECATED ALERT ⚠️ This routine is deprecated and has been replaced by routine ZLAHR2. like, it's giving "still here, still working, but please use the new one" 😭

ZLAHRD reduces the first NB columns of a complex general n-by-(n-k+1) matrix A so that elements below the k-th subdiagonal are zero. The reduction is performed by a unitary similarity transformation Q**H * A * Q. The routine returns the matrices V and T which determine Q as a block reflector I - V*T*V**H, and also the matrix Y = A * V * T. no cap, that's the whole deal ✨

Parameters

  • N

N is INTEGER

The order of the matrix A. that's it, that's the girl 🌈

  • K

K is INTEGER

The offset for the reduction. Elements below the k-th subdiagonal in the first NB columns are reduced to zero. lowkey the starting point of the whole thing πŸ’«

  • NB

NB is INTEGER

The number of columns to be reduced. count em πŸ”₯

  • A

A is COMPLEX*16 array, dimension (LDA,N-K+1)

On entry, the n-by-(n-k+1) general matrix A.

On exit, the elements on and above the k-th subdiagonal in the first NB columns are overwritten with the corresponding elements of the reduced matrix; the elements below the k-th subdiagonal, with the array TAU, represent the matrix Q as a product of elementary reflectors. The other columns of A are unchanged. See Further Details. bestie pls read Further Details, it's important 🫢

  • LDA

LDA is INTEGER

The leading dimension of the array A. LDA >= max(1,N). respect the boundary πŸ‘‘

  • TAU

TAU is COMPLEX*16 array, dimension (NB)

The scalar factors of the elementary reflectors. See Further Details. again β€” Further Details, go read it πŸ“–

  • T

T is COMPLEX*16 array, dimension (LDT,NB)

The upper triangular matrix T. triangle supremacy πŸ”Ί

  • LDT

LDT is INTEGER

The leading dimension of the array T. LDT >= NB. don't come in under that πŸ’…

  • Y

Y is COMPLEX*16 array, dimension (LDY,NB)

The n-by-nb matrix Y. that's her 🌸

  • LDY

LDY is INTEGER

The leading dimension of the array Y. LDY >= max(1,N). same energy, different letter ✨

Author

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

the whole squad really said "we built this" 🀝

Further Details:

The matrix Q is represented as a product of nb elementary reflectors

Q = H(1) H(2) . . . H(nb).

Each H(i) has the form

H(i) = I - tau * v * v**H

where tau is a complex scalar, and v is a complex vector with v(1:i+k-1) = 0, v(i+k) = 1; v(i+k+1:n) is stored on exit in A(i+k+1:n,i), and tau in TAU(i). okay so that's the lore 🧚

The elements of the vectors v together form the (n-k+1)-by-nb matrix V which is needed, with T and Y, to apply the transformation to the unreduced part of the matrix, using an update of the form: A := (I - V*T*V**H) * (A - Y*V**H).

The contents of A on exit are illustrated by the following example with n = 7, k = 3 and nb = 2:

( a   h   a   a   a )
( a   h   a   a   a )
( a   h   a   a   a )
( h   h   a   a   a )
( v1  h   a   a   a )
( v1  v2  a   a   a )
( v1  v2  a   a   a )

where a denotes an element of the original matrix A, h denotes a modified element of the upper Hessenberg matrix H, and vi denotes an element of the vector defining H(i). literal legend behavior, the diagram ate πŸ“


πŸ“ Definition at line 166 of file zlahrd.f.


πŸ¦‹ Author πŸ¦‹

Generated automatically by Doxygen for LAPACK from the source code. not a human, just vibes and a parser πŸ’€


and that's the page bestie!! πŸ’– it's LAPACK, Version 3.12.0, signed off from /home/abui...D/zlahrd.f(3) β€” go reduce some columns, love u, bye πŸŽ€βœ¨

πŸ“¦ where this page comes from