/home/abui.../cgelqt3.f(3)

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

πŸ’– NAME πŸ’–

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/cgelqt3.f β€” bestie, this is the Library Functions Manual page for that file. No cap, that's the whole NAME section. ✨

🌸 SYNOPSIS 🌸

Functions/Subroutines

  • recursive subroutine CGELQT3 (m, n, a, lda, t, ldt, info) β€” CGELQT3

πŸ¦‹ Function/Subroutine Documentation πŸ¦‹

recursive subroutine CGELQT3 (integer m, integer n, complex, dimension( lda,
     * ) a, integer lda, complex, dimension( ldt, * ) t, integer ldt, integer
     info)

CGELQT3 β€” that's the subroutine name, and it's giving recursive main-character energy. πŸ’…

πŸŽ€ Purpose

okay so CGELQT3 recursively computes a LQ factorization of a complex M-by-N matrix A, using the compact WY representation of Q. It's based on the algorithm of Elmroth and Gustavson, IBM J. Res. Develop. Vol 44 No. 4 July 2000. periodt. πŸ”₯

✨ Parameters

  • M β€” M is INTEGER. The number of rows of the matrix A. M =< N.
  • N β€” N is INTEGER. The number of columns of the matrix A. N >= 0.
  • A β€” A is COMPLEX array, dimension (LDA,N). On entry, the complex M-by-N matrix A. On exit, the elements on and below the diagonal contain the N-by-N lower triangular matrix L; the elements above the diagonal are the rows of V. See below for further details.
  • LDA β€” LDA is INTEGER. The leading dimension of the array A. LDA >= max(1,M).
  • T β€” T is COMPLEX array, dimension (LDT,N). The N-by-N upper triangular factor of the block reflector. The elements on and above the diagonal contain the block reflector T; the elements below the diagonal are not used. See below for further details.
  • LDT β€” LDT is INTEGER. The leading dimension of the array T. LDT >= max(1,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

okay bestie, here's the tea on how V and H are stored: πŸ’œ

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 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. The block reflector H is then given by

H = I - V * T * V**T

where V**T is the transpose of V.

For details of the algorithm, see Elmroth and Gustavson (cited above).

Definition at line 115 of file cgelqt3.f.

🌈 Author

Generated automatically by Doxygen for LAPACK from the source code.


mwah πŸ’‹ β€” signed off with LAPACK Version 3.12.0, page /home/abui.../cgelqt3.f(3). 🫢

πŸ“¦ where this page comes from