CLATRZ(3)
π 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 π
CLATRZfactors 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 ) * Zby 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 )throw of A, is given in the formZ( k ) = ( I 0 ), ( 0 T( k ) )whereT( k ) = I - tau*u( k )*u( k )**H, u( k ) = ( 1 ), ( 0 ) ( z( k ) )tau is a scalar andz( k )is an l element vector. tau andz( 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 vectoru( k )in the kth row of A2, such that the elements ofz( k )are ina( k, l + 1 ), ..., a( k, n ). The elements of R are returned in the upper triangular part of A1. Z is given byZ = 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
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms