SRC/dorgl2.f(3)

πŸ’… SRC/dorgl2.f β€” the dorgl2 one (LAPACK, bestie)

okay so real talk, this page is from the LAPACK manual, and it's a Fortran thing, so buckle up πŸŽ€


✨ SYNOPSIS ✨

Functions/Subroutines πŸ¦‹

  • subroutine dorgl2 (m, n, k, a, lda, tau, work, info) β€” literally the whole vibe, it's DORGL2

🌸 Function/Subroutine Documentation 🌸

subroutine dorgl2 (integer m, integer n, integer k, double precision,
    dimension( lda, * ) a, integer lda, double precision, dimension( * )
    tau, double precision, dimension( * ) work, integer info)

DORGL2 πŸ‘‘

🫢 Purpose:

!>
!> DORGL2 generates an m by n real matrix Q with orthonormal rows,
!> which is defined as the first m rows of a product of k elementary
!> reflectors of order n
!>
!>       Q  =  H(k) . . . H(2) H(1)
!>
!> as returned by DGELQF.
!>

so basically it builds Q for you β€” an m-by-n real matrix with orthonormal rows, defined as the first m rows of that product of k elementary reflectors of order n, exactly the way DGELQF hands them back to you. no cap, it's giving "I do the math so you don't have to" energy πŸ’…


🌈 Parameters

πŸ“ M

!>          M is INTEGER
!>          The number of rows of the matrix Q. M >= 0.
!>

the row count of Q. constraint: M >= 0 β€” negative rows are not a thing, bestie 😭

🧚 N

!>          N is INTEGER
!>          The number of columns of the matrix Q. N >= M.
!>

the column count of Q. constraint: N >= M β€” the columns gotta cover the rows, periodt.

⭐ K

!>          K is INTEGER
!>          The number of elementary reflectors whose product defines the
!>          matrix Q. M >= K >= 0.
!>

how many elementary reflectors are multiplying together to define Q. constraint: M >= K >= 0 β€” sandwich it between zero and M, okay? πŸ₯ͺ

πŸ¦‹ A

!>          A is DOUBLE PRECISION array, dimension (LDA,N)
!>          On entry, the i-th row must contain the vector which defines
!>          the elementary reflector H(i), for i = 1,2,...,k, as returned
!>          by DGELQF in the first k rows of its array argument A.
!>          On exit, the m-by-n matrix Q.
!>

DOUBLE PRECISION array, dimension (LDA,N). on entry, row i has to contain the vector defining the elementary reflector H(i) for i = 1,2,...,k, exactly as DGELQF returns them in the first k rows of its array argument A. on exit? it's literally Q, the m-by-n matrix. glow-up complete ✨

πŸ’œ LDA

!>          LDA is INTEGER
!>          The first dimension of the array A. LDA >= max(1,M).
!>

the first dimension of A. constraint: LDA >= max(1,M) β€” don't try to be cute and shrink it, it will not slay πŸ™ˆ

πŸŽ€ TAU

!>          TAU is DOUBLE PRECISION array, dimension (K)
!>          TAU(i) must contain the scalar factor of the elementary
!>          reflector H(i), as returned by DGELQF.
!>

DOUBLE PRECISION array, dimension (K). TAU(i) must hold the scalar factor of the elementary reflector H(i), as returned by DGELQF. the little scalars behind the whole operation, iykyk πŸ’–

πŸ”₯ WORK

!>          WORK is DOUBLE PRECISION array, dimension (M)
!>

DOUBLE PRECISION array, dimension (M). that's it, that's the whole description β€” it's the workspace, it works, slay.

πŸ‘‘ INFO

!>          INFO is INTEGER
!>          = 0: successful exit
!>          < 0: if INFO = -i, the i-th argument has an illegal value
!>

INTEGER, and here's the tea:

  • = 0 β€” successful exit, we ate πŸŽ‰
  • < 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.

Definition at line 112 of file dorgl2.f. πŸ“


πŸ’– Author (the meta one)

Generated automatically by Doxygen for LAPACK from the source code. yes, a robot wrote the page, and I'm just here to make it cute πŸ€–πŸŽ€

ngl, everything above is a spec β€” don't invent behaviour, just pass the right args and let DORGL2 cook πŸ”₯

and that's the whole page, bestie! this was LAPACK, Version 3.12.0, page SRC/dorgl2.f(3) β€” go forth and generate those orthonormal rows πŸ’…βœ¨πŸ«Ά

πŸ“¦ where this page comes from