DGEHRD(3)
π DGEHRD(3) π
okay bestie, welcome to the Library Functions Manual corner of the group chat π«Ά this one is all about DGEHRD, and yes itβs giving β¨ linear algebra main character energy β¨.
β¨ NAME β¨
The NAME is literally this file path, no cap:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dgehrd.f
π SYNOPSIS π
Functions/Subroutines:
subroutine DGEHRD (n, ilo, ihi, a, lda, tau, work, lwork, info)
and the function/subroutine is DGEHRD itself π
π FUNCTION/SUBROUTINE DOCUMENTATION π
subroutine DGEHRD (integer n, integer ilo, integer ihi, double precision,
dimension( lda, * ) a, integer lda, double precision, dimension( * )
tau, double precision, dimension( * ) work, integer lwork, integer info)
DGEHRD π
π― PURPOSE: π―
okay so the purpose is: DGEHRD reduces a real general matrix A to upper Hessenberg form H by an orthogonal similarity transformation:
Q**T * A * Q = H .
periodt. Thatβs the whole glow-up. β¨
π§Έ PARAMETERS π§Έ
NβNisINTEGER. Itβs the order of the matrixA.N >= 0. πILOβILOisINTEGER. Thatβs the whole description here, bestie; no extra lore. π«ΆIHIβIHIisINTEGER. It is assumed thatAis already upper triangular in rows and columns1:ILO-1andIHI+1:N.ILOandIHIare normally set by a previous call toDGEBAL; otherwise they should be set to1andNrespectively. See Further Details.1 <= ILO <= IHI <= N, ifN > 0;ILO=1andIHI=0, ifN=0. πAβAisDOUBLE PRECISIONarray, dimension(LDA,N). On entry, itβs theN-by-Ngeneral matrix to be reduced. On exit, the upper triangle and the first subdiagonal ofAare overwritten with the upper Hessenberg matrixH, and the elements below the first subdiagonal, with the arrayTAU, represent the orthogonal matrixQas a product of elementary reflectors. See Further Details. πΈLDAβLDAisINTEGER. Itβs the leading dimension of the arrayA.LDA >= max(1,N). πTAUβTAUisDOUBLE PRECISIONarray, dimension(N-1). These are the scalar factors of the elementary reflectors (see Further Details). Elements1:ILO-1andIHI:N-1ofTAUare set to zero. π¦WORKβWORKisDOUBLE PRECISIONarray, dimension(LWORK). On exit, ifINFO = 0,WORK(1)returns the optimalLWORK. πLWORKβLWORKisINTEGER. Itβs the length of the arrayWORK.LWORK >= max(1,N). For good performance,LWORKshould generally be larger. π
ifLWORK = -1, then a workspace query is assumed; the routine only calculates the optimal size of theWORKarray, returns this value as the first entry of theWORKarray, and no error message related toLWORKis issued byXERBLA. π
INFOβINFOisINTEGER.= 0: successful exit.< 0: ifINFO = -i, thei-th argument had an illegal value. π
π AUTHOR π
Credit where itβs due, bestie:
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π FURTHER DETAILS: π
okay so hereβs the tea β the matrix Q is represented as a product of (ihi-ilo) elementary reflectors:
Q = H(ilo) H(ilo+1) . . . H(ihi-1).
Each H(i) has the form:
H(i) = I - tau * v * v**T
where tau is a real scalar, and v is a real vector with v(1:i) = 0, v(i+1) = 1 and v(ihi+1:n) = 0; v(i+2:ihi) is stored on exit in A(i+2:ihi,i), and tau in TAU(i). π§
The contents of A are illustrated by the following example, with n = 7, ilo = 2 and ihi = 6:
on entry, on exit,
( a a a a a a a ) ( a a h h h h a )
( a a a a a a ) ( a h h h h a )
( a a a a a a ) ( h h h h h h )
( a a a a a a ) ( v2 h h h h h )
( a a a a a a ) ( v2 v3 h h h h )
( a a a a a a ) ( v2 v3 v4 h h h )
( a ) ( a )
where a denotes an element of the original matrix A, h denotes a modified element of the upper Hessenberg matrix H, and vi denotes an element of the vector defining H(i). π
This file is a slight modification of LAPACK-3.0's DGEHRD subroutine incorporating improvements proposed by Quintana-Orti and Van de Geijn (2006). (See DLAHR2.) π₯
π DEFINITION AT LINE π
Definition at line 166 of file dgehrd.f. π
πͺ AUTHOR πͺ
Generated automatically by Doxygen for LAPACK from the source code. π€β¨
okay bestie thatβs the whole page π the footerβs source is LAPACK, the version is 3.12.0, and the path is /home/abui...RC/dgehrd.f(3) β no date printed, just vibes β mwah π
π
π¦ where this page comes from
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms