SRC/DEPRECATED/ctzrqf.f(3)

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

πŸ’… NAME

SRC/DEPRECATED/ctzrqf.f β€” bestie, this is one of those Library Functions Manual pages for a LAPACK routine that has officially retired. It still has lore though, and we're gonna read it together. πŸŽ€


✨ SYNOPSIS

πŸ¦‹ Functions/Subroutines

subroutine ctzrqf (m, n, a, lda, tau, info)

CTZRQF β€” that's the whole name, no notes. πŸ’…


πŸ‘‘ Function/Subroutine Documentation

Okay so here's the actual signature, keep it exactly like this:

subroutine ctzrqf (integer m, integer n, complex, dimension( lda, * ) a,
    integer lda, complex, dimension( * ) tau, integer info)

🌸 CTZRQF

πŸ’– Purpose:

⚠️ Heads up bestie: this routine is deprecated and has been replaced by routine CTZRZF. So like… use the new one, fr fr. But let's learn the lore anyway.

CTZRQF reduces the M-by-N ( M<=N ) complex upper trapezoidal matrix A to upper triangular form by means of unitary transformations. Slay.

The upper trapezoidal matrix A is factored as

A = ( R  0 ) * Z,

where Z is an N-by-N unitary matrix and R is an M-by-M upper triangular matrix. Iconic decomposition behavior. ✨

🧚 Parameters

  • M β€” M is INTEGER. The number of rows of the matrix A. M >= 0. (Zero rows? Valid. We respect it.)
  • N β€” N is INTEGER. The number of columns of the matrix A. N >= M. (Note the inequality, bestie β€” it's gotta be at least as wide as it is tall. πŸ’…)
  • A β€” A is COMPLEX array, dimension (LDA,N).
    • On entry, the leading M-by-N upper trapezoidal part of the array A must contain the matrix to be factorized.
    • On exit, the leading M-by-M upper triangular part of A contains the upper triangular matrix R, and elements M+1 to N of the first M rows of A, with the array TAU, represent the unitary matrix Z as a product of M elementary reflectors. 🫢
  • LDA β€” LDA is INTEGER. The leading dimension of the array A. LDA >= max(1,M). (That max(1,M) is doing SO much work, don't skip it.)
  • TAU β€” TAU is COMPLEX array, dimension (M). The scalar factors of the elementary reflectors. πŸ“
  • INFO β€” INFO is INTEGER.
    • = 0: successful exit πŸŽ‰
    • < 0: if INFO = -i, the i-th argument had an illegal value 😭

🌈 Author

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

πŸ”₯ Further Details:

The factorization is obtained by Householder's method. The kth transformation matrix, Z( k ), whose conjugate transpose is used to introduce zeros into the (m - k + 1)th row of A, is given in the form

Z( k ) = ( I     0   ),
         ( 0  T( k ) )

where

T( k ) = I - tau*u( k )*u( k )**H,   u( k ) = (   1    ),
                                              (   0    )
                                              ( z( k ) )

tau is a scalar and z( k ) is an ( n - m ) element vector. tau and z( k ) are chosen to annihilate the elements of the kth row of X. (Yes, it says X, that's what the source says β€” not me, not my fault, we do not editorialize. πŸ™ˆ)

The scalar tau is returned in the kth element of TAU and the vector u( k ) in the kth row of A, such that the elements of z( k ) are in a( k, m + 1 ), ..., a( k, n ). The elements of R are returned in the upper triangular part of A. πŸ’œ

Z is given by

Z =  Z( 1 ) * Z( 2 ) * ... * Z( m ).

Definition at line 137 of file ctzrqf.f.


πŸ’€ Author

Generated automatically by Doxygen for LAPACK from the source code. (Not a human, just a robot doing its little robot thing. We appreciate the effort. πŸ€–πŸŒΈ)


And that's the whole page bestie!! πŸŽ€βœ¨ This gem comes from LAPACK, Version 3.12.0, and it lives at SRC/DEPRECATED/ctzrqf.f(3) β€” yes, the folder is literally called DEPRECATED, the routine is telling you something. πŸ«ΆπŸ’…

πŸ“¦ where this page comes from