CLATRZ(3)

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

πŸ’… CLATRZ(3) β€” bestie edition πŸŽ€

okay so this is the man page for CLATRZ from LAPACK, and honestly? it's giving "math but make it fashion." no cap, this subroutine is lowkey iconic. let's get into it ✨


🌸 NAME 🌸

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/clatrz.f β€” that's the whole file path, bestie. it's literally the source file for this function. fr fr 🫢


✨ SYNOPSIS ✨

Functions/Subroutines

subroutine CLATRZ (m, n, l, a, lda, tau, work)

okay so CLATRZ factors an upper trapezoidal matrix by means of unitary transformations. the way that this is literally what it does πŸ’…


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

subroutine CLATRZ (integer m, integer n, integer l, complex, dimension( lda, * ) a, integer lda, complex, dimension( * ) tau, complex, dimension( * ) work)

CLATRZ factors an upper trapezoidal matrix by means of unitary transformations. periodt. πŸ’–


πŸ‘‘ Purpose πŸ‘‘

CLATRZ factors the M-by-(M+L) complex upper trapezoidal matrix [ A1 A2 ] = [ A(1:M,1:M) A(1:M,N-L+1:N) ] as ( R 0 ) * Z by means of unitary transformations, where Z is an (M+L)-by-(M+L) unitary matrix and, R and A1 are M-by-M upper triangular matrices.

like… it's literally decomposing your matrix into a nice triangular part and a unitary part. main character energy tbh πŸ”₯


🌈 Parameters 🌈

  • M β€” M is INTEGER. The number of rows of the matrix A. M >= 0.
  • N β€” N is INTEGER. The number of columns of the matrix A. N >= 0.
  • L β€” L is INTEGER. The number of columns of the matrix A containing the meaningful part of the Householder vectors. N-M >= L >= 0.
  • 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 N-L+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. slay πŸ’…
  • LDA β€” LDA is INTEGER. The leading dimension of the array A. LDA >= max(1,M).
  • TAU β€” TAU is COMPLEX array, dimension (M). The scalar factors of the elementary reflectors. so important, bestie πŸŽ€
  • WORK β€” WORK is COMPLEX array, dimension (M). just vibes. workspace. we love her πŸ¦‹

⭐ Author ⭐

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

the whole squad contributed. we stan 🌸


πŸ’œ Contributors πŸ’œ

  • A. Petitet, Computer Science Dept., Univ. of Tenn., Knoxville, USA

literally the icon who helped make this happen πŸ‘‘


πŸ”₯ Further Details πŸ”₯

okay so buckle up because this is the math tea β˜•

The factorization is obtained by Householder's method. The kth transformation matrix, Z( k ), which 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 l element vector. tau and z( k ) are chosen to annihilate the elements of the kth row of A2. The scalar tau is returned in the kth element of TAU and the vector u( k ) in the kth row of A2, such that the elements of z( k ) are in a( k, l + 1 ), ..., a( k, n ). The elements of R are returned in the upper triangular part of A1. Z is given by Z = Z( 1 ) * Z( 2 ) * ... * Z( m ).

i mean, the way that this is literally just Householder reflections doing their thing. she's a genius your honor 😭✨


Definition at line 139 of file clatrz.f.


πŸŽ€ Author πŸŽ€

Generated automatically by Doxygen for LAPACK from the source code. the bots did their thing πŸ€–πŸ’–


okay that's the whole page bestie! this is LAPACK Version 3.12.0, and the file is /home/abui...RC/clatrz.f(3). go forth and factor those matrices, you absolute icon πŸŒŸπŸ’…


πŸ“¦ where this page comes from