/home/abui...hr_col01.f(3)
π NAME
ok so bestie, this page is for /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/LIN/zunhr_col01.f β yes that entire path is literally the name, she has a long government name and we respect it π. It lives in the Library Functions Manual, and honestly? iconic placement.
β¨ SYNOPSIS
π Functions/Subroutines
subroutine ZUNHR_COL01 (m, n, mb1, nb1, nb2, result)β the whole vibe of this page, it's the one and only routine we're talking about, no cap.
π¦ Function/Subroutine Documentation
subroutine ZUNHR_COL01 (integer m, integer n, integer mb1, integer nb1,
integer nb2, double precision, dimension(6) result)
π Purpose
!>ZUNHR_COL01testsZUNGTSQRandZUNHR_COLusingZLATSQR,ZGEMQRT.!>Therefore,ZLATSQR(part ofZGEQR),ZGEMQRT(part ofZGEMQR)!>have to be tested before this test.!>
so yeah β this is a test routine, and it's lowkey dependent on other stuff being tested first. Order matters, periodt π«Ά
πΈ Parameters
MβMisINTEGER, and it's the number of rows in the test matrix. row queen πNβNisINTEGER, the number of columns in the test matrix. slay.MB1βMB1isINTEGER, the number of rows in a row block of an input test matrix. (yeah, the original says "row", we're keeping that energy β¨)NB1βNB1isINTEGER, the number of columns in a column block of an input test matrix.NB2βNB2isINTEGER, the number of columns in a column block of an output test matrix. different matrix, different block, keep up bestie πRESULTβRESULTis aDOUBLE PRECISIONarray, dimension(6). It holds the results of each of the six tests below, and this is where it gets good:
!>RESULTisDOUBLE PRECISIONarray, dimension (6)!>Results of each of the six tests below.!>!>A is a m-by-n test input matrix to be factored.!>so that A = Q_gr * ( R )!>( 0 ),!>!>Q_qr is an implicit m-by-m unitary Q matrix, the result!>of factorization in blocked WY-representation,!>stored in ZGEQRT output format.!>!>R is a n-by-n upper-triangular matrix,!>!>0 is a (m-n)-by-n zero matrix,!>!>Q is an explicit m-by-m unitary matrix Q = Q_gr * I!>!>C is an m-by-n random matrix,!>!>D is an n-by-m random matrix.!>!>The six tests are:
and here are the six tests, fr fr, exactly as written:
RESULT(1) = |R - (Q**H) * A| / ( eps * m * |A| )which is equivalent to testing for| A - Q * R | / (eps * m * |A|),RESULT(2) = |I - (Q**H) * Q| / ( eps * m ),RESULT(3) = | Q_qr * C - Q * C | / (eps * m * |C|),RESULT(4) = | (Q_gr**H) * C - (Q**H) * C | / (eps * m * |C|)RESULT(5) = | D * Q_qr - D * Q | / (eps * m * |D|)RESULT(6) = | D * (Q_qr**H) - D * (Q**H) | / (eps * m * |D|),
!>where:!>Q_qr * C, (Q_grH) * C, D * Q_qr, D * (Q_qrH) are!>computed using ZGEMQRT,!>!>Q * C, (QH) * C, D * Q, D * (QH) are!>computed using ZGEMM.!>
so half the products go through ZGEMQRT and the other half through ZGEMM β that's the whole point of the comparison, iykyk π₯
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 118 of file zunhr_col01.f. π―
π Sign-off
This page was generated automatically by Doxygen for LAPACK from the source code, and it's serving LAPACK, Version 3.12.0 π β the page itself is /home/abui...hr_col01.f(3). bye bestie, go test some matrices π¦β¨
π¦ 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