SRC/sgehrd.f(3)
π SRC/sgehrd.f(3) π
okay so welcome to the Library Functions Manual page for SRC/sgehrd.f(3) β yes bestie, the title and manual name are folded right in here like a cute little intro. β¨
πΈ NAME πΈ
SRC/sgehrd.f
π SYNOPSIS π
π Functions/Subroutines π
subroutine sgehrd (n, ilo, ihi, a, lda, tau, work, lwork, info)
SGEHRD
π¦ Function/Subroutine Documentation π¦
β¨ subroutine sgehrd β¨
subroutine sgehrd (integer n, integer ilo, integer ihi, real, dimension(
lda, * ) a, integer lda, real, dimension( * ) tau, real, dimension( * )
work, integer lwork, integer info)
SGEHRD β the main character, literally. π
π Purpose π
SGEHRD reduces a real general matrix A to upper Hessenberg form H by an orthogonal similarity transformation:
Q**T * A * Q = H
periodt. π
π Parameters π
NβNis INTEGER. The order of the matrixA.N >= 0.ILOβILOis INTEGER. Thatβs the whole parameter description in the source, bestie β no extra clauses. π«ΆIHIβIHIis INTEGER. It is assumed thatAis already upper triangular in rows and columns1:ILO-1andIHI+1:N.ILOandIHIare normally set by a previous call toSGEBAL; otherwise they should be set to1andNrespectively. See Further Details.1 <= ILO <= IHI <= N, ifN > 0;ILO=1andIHI=0, ifN=0.AβAis REAL array, dimension(LDA,N). On entry, 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βLDAis INTEGER. The leading dimension of the arrayA.LDA >= max(1,N).TAUβTAUis REAL array, dimension(N-1). The scalar factors of the elementary reflectors (see Further Details). Elements1:ILO-1andIHI:N-1ofTAUare set to zero.WORKβWORKis REAL array, dimension(MAX(1,LWORK)). On exit, ifINFO = 0,WORK(1)returns the optimalLWORK.LWORKβLWORKis INTEGER. 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βINFOis INTEGER.= 0: successful exit.< 0: ifINFO = -i, thei-th argument had an illegal value.
π Author π
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
π Further Details π
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).
Fun fact: this file is a slight modification of LAPACK-3.0's SGEHRD subroutine incorporating improvements proposed by Quintana-Orti and Van de Geijn (2006). (See SLAHR2.)
Definition at line 166 of file sgehrd.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
π and thatβs the whole vibe, bestie β LAPACK Version 3.12.0, page SRC/sgehrd.f(3), signing off~ πβ¨
π¦ 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