CUNMR3(3)
β¨ CUNMR3(3) β¨
okay bestie, welcome to the Library Functions Manual entry for CUNMR3(3) β and no cap, this one is a Fortran subroutine that multiplies a general matrix by the unitary matrix from an RZ factorization determined by ctzrzf (unblocked algorithm). Letβs get into it π
π NAME π
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/cunmr3.f
π SYNOPSIS π
π« Functions/Subroutines π«
subroutine CUNMR3 (side, trans, m, n, k, l, a, lda, tau, c, ldc, work,
info)
CUNMR3 multiplies a general matrix by the unitary matrix from a RZ
factorization determined by ctzrzf (unblocked algorithm).
π¦ Function/Subroutine Documentation π¦
subroutine CUNMR3 (character side, character trans, integer m, integer n,
integer k, integer l, complex, dimension( lda, * ) a, integer lda,
complex, dimension( * ) tau, complex, dimension( ldc, * ) c, integer
ldc, complex, dimension( * ) work, integer info)
CUNMR3 multiplies a general matrix by the unitary matrix from a RZ factorization determined by ctzrzf (unblocked algorithm).
β¨ Purpose: β¨
Okay so hereβs the assignment, bestie: CUNMR3 overwrites the general complex m by n matrix C with one of these four flavors:
Q * C if SIDE = 'L' and TRANS = 'N', or
Q**H* C if SIDE = 'L' and TRANS = 'C', or
C * Q if SIDE = 'R' and TRANS = 'N', or
C * Q**H if SIDE = 'R' and TRANS = 'C',
where Q is a complex unitary matrix defined as the product of k elementary reflectors:
Q = H(1) H(2) . . . H(k)
as returned by CTZRZF. Q is of order m if SIDE = 'L' and of order n if SIDE = 'R'.
πΈ Parameters πΈ
SIDEβSIDEisCHARACTER*1.= 'L': applyQorQ**Hfrom the Left= 'R': applyQorQ**Hfrom the Right
TRANSβTRANSisCHARACTER*1.= 'N': applyQ(No transpose)= 'C': applyQ**H(Conjugate transpose)
MβMisINTEGER; itβs the number of rows of the matrixC.M >= 0.NβNisINTEGER; itβs the number of columns of the matrixC.N >= 0.KβKisINTEGER; itβs the number of elementary reflectors whose product defines the matrixQ. IfSIDE = 'L',M >= K >= 0; ifSIDE = 'R',N >= K >= 0.LβLisINTEGER; itβs the number of columns of the matrixAcontaining the meaningful part of the Householder reflectors. IfSIDE = 'L',M >= L >= 0, ifSIDE = 'R',N >= L >= 0.AβAisCOMPLEXarray, dimension(LDA,M)ifSIDE = 'L',(LDA,N)ifSIDE = 'R'. Thei-th row must contain the vector which defines the elementary reflectorH(i), fori = 1,2,...,k, as returned byCTZRZFin the lastkrows of its array argumentA.Ais modified by the routine but restored on exit.LDAβLDAisINTEGER; itβs the leading dimension of the arrayA.LDA >= max(1,K).TAUβTAUisCOMPLEXarray, dimension(K).TAU(i)must contain the scalar factor of the elementary reflectorH(i), as returned byCTZRZF.CβCisCOMPLEXarray, dimension(LDC,N). On entry, them-by-nmatrixC. On exit,Cis overwritten byQ*CorQ**H*CorC*Q**HorC*Q.LDCβLDCisINTEGER; itβs the leading dimension of the arrayC.LDC >= max(1,M).WORKβWORKisCOMPLEXarray, dimension(N)ifSIDE = 'L',(M)ifSIDE = 'R'.INFOβINFOisINTEGER.= 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.
π Contributors: π
- A. Petitet, Computer Science Dept., Univ. of Tenn., Knoxville, USA
π§ Further Details: π§
bestie, the Further Details section is serving minimalism. This is literally all it has:
!>
Definition at line 176 of file cunmr3.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
π sign-off: LAPACK Version 3.12.0, source footer says /home/abui...RC/cunmr3.f(3). 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