gelqt(3)

πŸ’… gelqt(3) β€” Library Functions Manual πŸ’…

okay bestie, this is the gelqt(3) page, and it's literally the LQ-factor-with-T zone. Buckle up. πŸŽ€

πŸŽ€ NAME πŸŽ€

gelqt β€” gelqt: LQ factor, with T ✨

✨ SYNOPSIS ✨

Functions

subroutine cgelqt (m, n, mb, a, lda, t, ldt, work, info)
           CGELQT
subroutine dgelqt (m, n, mb, a, lda, t, ldt, work, info)
           DGELQT
subroutine sgelqt (m, n, mb, a, lda, t, ldt, work, info)
           SGELQT
subroutine zgelqt (m, n, mb, a, lda, t, ldt, work, info)
           ZGELQT

πŸ’« Detailed Description πŸ’«

Okay so the detailed description is basically: these four routines are the whole show, and the full function tea is right below. πŸ«–

πŸ‘‘ Function Documentation πŸ‘‘

πŸ’– subroutine cgelqt β€” CGELQT

subroutine cgelqt (integer m, integer n, integer mb, complex, dimension( lda, * ) a, integer lda, complex, dimension( ldt, * ) t, integer ldt, complex, dimension( * ) work, integer info)

Purpose

Bestie, CGELQT computes a blocked LQ factorization of a complex M-by-N matrix A using the compact WY representation of Q. No cap. πŸ’…

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. ✨
  • MB β€” MB is INTEGER. The block size to be used in the blocked QR. MIN(M,N) >= MB >= 1. πŸŽ€
  • A β€” A is COMPLEX array, dimension (LDA,N). On entry, the M-by-N matrix A. On exit, the elements on and below the diagonal of the array contain the M-by-MIN(M,N) lower trapezoidal matrix L (L is lower triangular if M <= N); the elements above the diagonal are the rows of V. πŸ’œ
  • LDA β€” LDA is INTEGER. The leading dimension of the array A. LDA >= max(1,M). 🌸
  • T β€” T is COMPLEX array, dimension (LDT,MIN(M,N)). The upper triangular block reflectors stored in compact form as a sequence of upper triangular blocks. See below for further details. πŸ¦‹
  • LDT β€” LDT is INTEGER. The leading dimension of the array T. LDT >= MB. ⭐
  • WORK β€” WORK is COMPLEX array, dimension (MB*N). πŸ’–
  • 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 matrix V stores the elementary reflectors H(i) in the i-th row above the diagonal. For example, if M=5 and N=3, the matrix V is

V = (  1  v1 v1 v1 v1 )
    (     1  v2 v2 v2 )
    (         1 v3 v3 )

where the vi's represent the vectors which define H(i), which are returned in the matrix A. The 1's along the diagonal of V are not stored in A. Let K=MIN(M,N). The number of blocks is B = ceiling(K/MB), where each block is of order MB except for the last block, which is of order IB = K - (B-1)*MB. For each of the B blocks, a upper triangular block reflector factor is computed: T1, T2, ..., TB. The MB-by-MB (and IB-by-IB for the last block) T's are stored in the MB-by-K matrix T as

T = (T1 T2 ... TB).

Definition at line 123 of file cgelqt.f.


πŸ’™ subroutine dgelqt β€” DGELQT

subroutine dgelqt (integer m, integer n, integer mb, double precision, dimension( lda, * ) a, integer lda, double precision, dimension( ldt, * ) t, integer ldt, double precision, dimension( * ) work, integer info)

Purpose

DGELQT computes a blocked LQ factorization of a real M-by-N matrix A using the compact WY representation of Q. Slay. πŸ’…

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. ✨
  • MB β€” MB is INTEGER. The block size to be used in the blocked QR. MIN(M,N) >= MB >= 1. πŸŽ€
  • A β€” A is DOUBLE PRECISION array, dimension (LDA,N). On entry, the M-by-N matrix A. On exit, the elements on and below the diagonal of the array contain the M-by-MIN(M,N) lower trapezoidal matrix L (L is lower triangular if M <= N); the elements above the diagonal are the rows of V. πŸ’œ
  • LDA β€” LDA is INTEGER. The leading dimension of the array A. LDA >= max(1,M). 🌸
  • T β€” T is DOUBLE PRECISION array, dimension (LDT,MIN(M,N)). The upper triangular block reflectors stored in compact form as a sequence of upper triangular blocks. See below for further details. πŸ¦‹
  • LDT β€” LDT is INTEGER. The leading dimension of the array T. LDT >= MB. ⭐
  • WORK β€” WORK is DOUBLE PRECISION array, dimension (MB*N). πŸ’–
  • 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 matrix V stores the elementary reflectors H(i) in the i-th row above the diagonal. For example, if M=5 and N=3, the matrix V is

V = (  1  v1 v1 v1 v1 )
    (     1  v2 v2 v2 )
    (         1 v3 v3 )

where the vi's represent the vectors which define H(i), which are returned in the matrix A. The 1's along the diagonal of V are not stored in A. Let K=MIN(M,N). The number of blocks is B = ceiling(K/MB), where each block is of order MB except for the last block, which is of order IB = K - (B-1)*MB. For each of the B blocks, a upper triangular block reflector factor is computed: T1, T2, ..., TB. The MB-by-MB (and IB-by-IB for the last block) T's are stored in the MB-by-K matrix T as

T = (T1 T2 ... TB).

Definition at line 138 of file dgelqt.f.


πŸ’š subroutine sgelqt β€” SGELQT

subroutine sgelqt (integer m, integer n, integer mb, real, dimension( lda, * ) a, integer lda, real, dimension( ldt, * ) t, integer ldt, real, dimension( * ) work, integer info)

Purpose

SGELQT computes a blocked LQ factorization of a real M-by-N matrix A using the compact WY representation of Q. It's giving math excellence. πŸ”₯

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. ✨
  • MB β€” MB is INTEGER. The block size to be used in the blocked QR. MIN(M,N) >= MB >= 1. πŸŽ€
  • A β€” A is REAL array, dimension (LDA,N). On entry, the M-by-N matrix A. On exit, the elements on and below the diagonal of the array contain the M-by-MIN(M,N) lower trapezoidal matrix L (L is lower triangular if M <= N); the elements above the diagonal are the rows of V. πŸ’œ
  • LDA β€” LDA is INTEGER. The leading dimension of the array A. LDA >= max(1,M). 🌸
  • T β€” T is REAL array, dimension (LDT,MIN(M,N)). The upper triangular block reflectors stored in compact form as a sequence of upper triangular blocks. See below for further details. πŸ¦‹
  • LDT β€” LDT is INTEGER. The leading dimension of the array T. LDT >= MB. ⭐
  • WORK β€” WORK is REAL array, dimension (MB*N). πŸ’–
  • 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 matrix V stores the elementary reflectors H(i) in the i-th row above the diagonal. For example, if M=5 and N=3, the matrix V is

V = (  1  v1 v1 v1 v1 )
    (     1  v2 v2 v2 )
    (         1 v3 v3 )

where the vi's represent the vectors which define H(i), which are returned in the matrix A. The 1's along the diagonal of V are not stored in A. Let K=MIN(M,N). The number of blocks is B = ceiling(K/MB), where each block is of order MB except for the last block, which is of order IB = K - (B-1)*MB. For each of the B blocks, a upper triangular block reflector factor is computed: T1, T2, ..., TB. The MB-by-MB (and IB-by-IB for the last block) T's are stored in the MB-by-K matrix T as

T = (T1 T2 ... TB).

Definition at line 123 of file sgelqt.f.


πŸ’œ subroutine zgelqt β€” ZGELQT

subroutine zgelqt (integer m, integer n, integer mb, complex*16, dimension( lda, * ) a, integer lda, complex*16, dimension( ldt, * ) t, integer ldt, complex*16, dimension( * ) work, integer info)

Purpose

ZGELQT computes a blocked LQ factorization of a complex M-by-N matrix A using the compact WY representation of Q. Main character routine behavior. πŸ‘‘

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. ✨
  • MB β€” MB is INTEGER. The block size to be used in the blocked QR. MIN(M,N) >= MB >= 1. πŸŽ€
  • A β€” the A details continue in part 2, bestie πŸ’–

A

A is COMPLEX*16 array, dimension (LDA,N)

On entry, the M-by-N matrix A.

On exit, the elements on and below the diagonal of the array contain the M-by-MIN(M,N) lower trapezoidal matrix L (L is lower triangular if M <= N); the elements above the diagonal are the rows of V.

bestie clock this one in fr β€” A is doing double duty. it goes in as the matrix and comes out as two things stacked in the same array. main character energy honestly πŸ‘‘

LDA

LDA is INTEGER

The leading dimension of the array A. LDA >= max(1,M).

T

T is COMPLEX*16 array, dimension (LDT,MIN(M,N))

The upper triangular block reflectors stored in compact form as a sequence of upper triangular blocks. See below for further details.

LDT

LDT is INTEGER

The leading dimension of the array T. LDT >= MB.

WORK

WORK is COMPLEX*16 array, dimension (MB*N)

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 matrix V stores the elementary reflectors H(i) in the i-th row above the diagonal. For example, if M=5 and N=3, the matrix V is

            V = (  1  v1 v1 v1 v1 )
                (     1  v2 v2 v2 )
                (         1 v3 v3 )

where the vi's represent the vectors which define H(i), which are returned in the matrix A. The 1's along the diagonal of V are not stored in A.

Let K=MIN(M,N). The number of blocks is B = ceiling(K/MB), where each block is of order MB except for the last block, which is of order IB = K - (B-1)*MB. For each of the B blocks, a upper triangular block reflector factor is computed: T1, T2, ..., TB. The MB-by-MB (and IB-by-IB for the last block) T's are stored in the MB-by-K matrix T as

            T = (T1 T2 ... TB).
lowkey the prettiest part of the whole page honestly. those little triangles are giving structural engineering πŸŽ€

Definition at line 138 of file zgelqt.f.

🌸 Author

Generated automatically by Doxygen for LAPACK from the source code.


okay that's a wrap bestie 🫢 this whole glow-up is LAPACK Version 3.12.0, the gelqt(3) page β€” go forth and factor some block reflectors, you're literally gonna slay πŸ’…βœ¨

πŸ“¦ where this page comes from