SLATRZ(3)

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

πŸ’– SLATRZ(3) πŸ’–

okay bestie, quick vibe check: this is the SLATRZ(3) page from the LAPACK Library Functions Manual, and it lives at /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/slatrz.f. she’s giving β€œdeep linear algebra, but make it cute” πŸ’…


✨ SYNOPSIS ✨

Functions/Subroutines:

  • subroutine SLATRZ (m, n, l, a, lda, tau, work) β€” SLATRZ factors an upper trapezoidal matrix by means of orthogonal transformations.

🫢 Function/Subroutine Documentation 🫢

subroutine SLATRZ (integer m, integer n, integer l, real, dimension( lda, * ) a, integer lda, real, dimension( * ) tau, real, dimension( * ) work)

SLATRZ factors an upper trapezoidal matrix by means of orthogonal transformations. yes, that’s the whole main-character job description, and she ate πŸ”₯

Purpose

SLATRZ factors the M-by-(M+L) real upper trapezoidal matrix

[ A1 A2 ] = [ A(1:M,1:M) A(1:M,N-L+1:N) ]

as ( R 0 ) * Z, by means of orthogonal transformations. Z is an (M+L)-by-(M+L) orthogonal matrix, and R and A1 are M-by-M upper triangular matrices.


🌸 Parameters 🌸

  • M β€” M is INTEGER. the number of rows of the matrix A. M >= 0. no negative row energy allowed, bestie πŸ™ˆ
  • N β€” N is INTEGER. the number of columns of the matrix A. N >= 0. periodt.
  • L β€” L is INTEGER. the number of columns of the matrix A containing the meaningful part of the Householder vectors. constraint check: N-M >= L >= 0.
  • A β€” A is REAL 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 orthogonal matrix Z as a product of M elementary reflectors. she’s doing a little before-and-after reveal, iconic behavior πŸ’–
  • LDA β€” LDA is INTEGER. the leading dimension of the array A. LDA >= max(1,M).
  • TAU β€” TAU is REAL array, dimension (M). the scalar factors of the elementary reflectors. little scalar icons, lowkey carrying the whole transformation πŸŽ€
  • WORK β€” WORK is REAL array, dimension (M). the workspace bestie, respect her.

πŸ‘‘ Author πŸ‘‘

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

πŸ¦‹ Contributors: πŸ¦‹

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

πŸ’œ Further Details πŸ’œ

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 )**T,   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. not me getting emotional over annihilation, but okay 😭

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 ).

Definition at line 139 of file slatrz.f.


πŸŽ€ Author πŸŽ€

Generated automatically by Doxygen for LAPACK from the source code.


ok that’s the whole lore dump πŸ’€ every flag, constraint, formula, and little Fortran detail is here. no cap.

and for the cute sign-off: this is LAPACK Version 3.12.0, from the path /home/abui...RC/slatrz.f(3) β€” slay, stay orthogonal, and hydrate before you factorize πŸ«Άβœ¨πŸ’…

πŸ“¦ where this page comes from