ZGEHRD(3)
π ZGEHRD(3) β Library Functions Manual β¨
Okay so bestie, welcome to the zgehrd page in the Library Functions Manual. This is the LAPACK file at /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/zgehrd.f, and it is literally here to reduce a complex general matrix. π¦
πΈ NAME πΈ
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/zgehrd.f
β¨ SYNOPSIS β¨
π Functions/Subroutines π
subroutine ZGEHRD (n, ilo, ihi, a, lda, tau, work, lwork, info)
ZGEHRD
π Function/Subroutine Documentation π
subroutine ZGEHRD (integer n, integer ilo, integer ihi, complex*16,
dimension( lda, * ) a, integer lda, complex*16, dimension( * ) tau,
complex*16, dimension( * ) work, integer lwork, integer info)
ZGEHRD
π Purpose π
Bestie, ZGEHRD reduces a complex general matrix A to upper Hessenberg form H by an unitary similarity transformation:
Q**H * A * Q = H .
The original really does say βan unitaryβ β we are not fixing it, we are respecting the icon. π
π¦ Parameters π¦
NβN is INTEGER. The order of the matrixA.N >= 0.ILOβILO is INTEGER.IHIβIHI is INTEGER. It is assumed thatAis already upper triangular in rows and columns1:ILO-1andIHI+1:N.ILOandIHIare normally set by a previous call toZGEBAL; otherwise they should be set to1andNrespectively. See Further Details.1 <= ILO <= IHI <= N, ifN > 0;ILO=1andIHI=0, ifN=0.AβA is COMPLEX*16 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 unitary matrixQas a product of elementary reflectors. See Further Details.LDAβLDA is INTEGER. The leading dimension of the arrayA.LDA >= max(1,N).TAUβTAU is COMPLEX*16 array, dimension (N-1). The scalar factors of the elementary reflectors (see Further Details). Elements1:ILO-1andIHI:N-1ofTAUare set to zero.WORKβWORK is COMPLEX*16 array, dimension (LWORK). On exit, ifINFO = 0,WORK(1)returns the optimalLWORK.LWORKβLWORK is INTEGER. The length of the arrayWORK.LWORK >= max(1,N). For good performance,LWORKshould generally be larger.
If LWORK = -1, then a workspace query is assumed; the routine only calculates the optimal size of the WORK array, returns this value as the first entry of the WORK array, and no error message related to LWORK is issued by XERBLA.
INFOβINFO is INTEGER:= 0: successful exit< 0: ifINFO = -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 π₯
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**H
where tau is a complex scalar, and v is a complex 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 ZGEHRD subroutine incorporating improvements proposed by Quintana-Orti and Van de Geijn (2006). (See ZLAHR2.)
Definition at line 166 of file zgehrd.f.
β Author β
Generated automatically by Doxygen for LAPACK from the source code.
π Cute sign-off: LAPACK, Version 3.12.0, source /home/abui...RC/zgehrd.f(3). Date? Not on this footer, bestie β just pure version energy. Bye and slay! π
β¨
π¦ 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