latrz(3)

πŸŽ€ NAME πŸŽ€

latrz β€” ok so this is the latrz: RZ factor step page, bestie. That's the whole name entry. We love a concise queen. πŸ‘‘


✨ SYNOPSIS ✨

Functions (aka the whole squad πŸ’…)

subroutine clatrz (m, n, l, a, lda, tau, work)
    CLATRZ factors an upper trapezoidal matrix by means of unitary
    transformations.
subroutine dlatrz (m, n, l, a, lda, tau, work)
    DLATRZ factors an upper trapezoidal matrix by means of orthogonal
    transformations.
subroutine slatrz (m, n, l, a, lda, tau, work)
    SLATRZ factors an upper trapezoidal matrix by means of orthogonal
    transformations.
subroutine zlatrz (m, n, l, a, lda, tau, work)
    ZLATRZ factors an upper trapezoidal matrix by means of unitary
    transformations.

πŸ¦‹ Detailed Description πŸ¦‹

Like, genuinely the detailed part. Fr fr this is where the actual lore lives. Keep scrolling, it's giving reference-manual-but-make-it-cute. πŸ’–


🌸 Function 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. Iconic behavior honestly.

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

Parameters

  • M β€” M is INTEGER. The number of rows of the matrix A. M >= 0. Not me checking my row count first thing 😭
  • 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. She's doing a whole transformation arc πŸ’…
  • 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.
  • WORK β€” WORK is COMPLEX array, dimension (M).

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

Definition at line 139 of file clatrz.f. ✨


subroutine dlatrz (integer m, integer n, integer l, double precision, dimension( lda, * ) a, integer lda, double precision, dimension( * ) tau, double precision, dimension( * ) work)

DLATRZ factors an upper trapezoidal matrix by means of orthogonal transformations. The double-precision sibling. Main character energy, different preprocessor directive. πŸ’€

Purpose:

!>
!> DLATRZ 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.
  • 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 DOUBLE PRECISION 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.
  • LDA β€” LDA is INTEGER. The leading dimension of the array A. LDA >= max(1,M).
  • TAU β€” TAU is DOUBLE PRECISION array, dimension (M). The scalar factors of the elementary reflectors.
  • WORK β€” WORK is DOUBLE PRECISION array, dimension (M).

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.
!>
!>  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 dlatrz.f. πŸ¦‹


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. Single precision, same vibes. πŸ“

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.
  • 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 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.
  • 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.
  • WORK β€” WORK is REAL array, dimension (M).

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.
!>
!>  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. 🧚

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

okay so ZLATRZ factors an upper trapezoidal matrix by means of unitary transformations. that's the whole vibe. bestie it's giving linear algebra glow-up ✨


🎯 Purpose

ZLATRZ 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, you hand it a trapezoidal situation and it hands you back a triangular R, a big 0 block, and a whole unitary Z doing the choreography in between. main character factorization fr fr πŸ‘‘


πŸ“‹ Parameters

  • M (INTEGER) β€” the number of rows of the matrix A. the rule is M >= 0. no negative row counts, we don't do that here πŸ’…
  • N (INTEGER) β€” the number of columns of the matrix A. and N >= 0, same energy.
  • L (INTEGER) β€” the number of columns of the matrix A containing the meaningful part of the Householder vectors. constraint is N-M >= L >= 0, so pls respect the sandwich πŸ₯ͺ
  • A (COMPLEX16 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. she's multi-purpose, we love a reuse-the-buffer moment πŸ’–
  • LDA (INTEGER) β€” the leading dimension of the array A. must satisfy LDA >= max(1,M). lowkey the most forgotten argument and the most betrayed when you get it wrong 😭
  • TAU (COMPLEX16 array, dimension (M))* β€” the scalar factors of the elementary reflectors. the little playlist of scalars that make the whole thing work.
  • WORK (COMPLEX16 array, dimension (M))* β€” workspace. that's it, that's the description. it's giving "just here for the vibes" 🫢

πŸ‘‘ Author

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

iconic academic collective, no cap.


🌸 Contributors

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

shoutout to A. Petitet, fr fr πŸ’œ


πŸ”₯ 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 text Z( k ) = ( I 0 ), ( 0 T( k ) ) where text T( k ) = I - tau*u( k )*u( k )**H, u( k ) = ( 1 ), ( 0 ) ( z( k ) )

so 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. literally their whole purpose is destruction (constructive destruction, it's fine) πŸ’€

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. look at her putting everything exactly where it belongs, organized queen πŸŽ€

Z is given by

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

a whole product of m reflectors, stacked like a friendship bracelet. obsessed 🌈


Definition at line 139 of file zlatrz.f.

Author: Generated automatically by Doxygen for LAPACK from the source code.


aaaand that's the page!! πŸ’– this whole thing comes from LAPACK, Version 3.12.0, and the page is latrz(3) β€” go forth and factor your trapezoidal matrices, bestie, you're gonna slay πŸ¦‹β­

πŸ“¦ where this page comes from