SRC/dgelqt.f(3)
NAME
From the Library Functions Manual: SRC/dgelqt.f(3) is the manual page for SRC/dgelqt.f, aka DGELQT 💅✨
SYNOPSIS
Functions/Subroutines
subroutine dgelqt (m, n, mb, a, lda, t, ldt, work, info)
DGELQT — that’s the function name, bestie, and yes it’s giving main character energy 😭👑
Function/Subroutine Documentation ✨
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)
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)
DGELQT — that’s the subroutine’s name, no cap 🫶
Purpose:
Okay so DGELQT computes a blocked LQ factorization of a real M-by-N matrix A using the compact WY representation of Q. That’s the whole purpose, periodt 💖
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: ifINFO = -i, the i-th argument had an illegal value.
Author
Shoutout to the author squad, fr fr:
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Further Details:
Bestie, here’s the matrix tea 🍓 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.
Author
Generated automatically by Doxygen for LAPACK from the source code.
Footer vibes, bestie: LAPACK, Version 3.12.0 on the SRC/dgelqt.f(3) page. Date? Not in this footer, so no invented date — that’s the honest group-chat receipt 🫶✨
📦 where this page comes from
- arch rolling: lapack-doc 3.12.1-2 · custom
- 💖 girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms