Skip to content

Commit c26d01b

Browse files
author
scr2016
committed
MOdified comments in test code for real Householder reconstruction
routines: modified: TESTING/LIN/dchkorhr_col.f modified: TESTING/LIN/dorhr_col01.f modified: TESTING/LIN/dorhr_col02.f modified: TESTING/LIN/schkorhr_col.f modified: TESTING/LIN/sorhr_col01.f modified: TESTING/LIN/sorhr_col02.f
1 parent 4c22df1 commit c26d01b

File tree

6 files changed

+159
-31
lines changed

6 files changed

+159
-31
lines changed

TESTING/LIN/dchkorhr_col.f

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
*> DCHKORHR_COL tests:
2828
*> 1) DORGTSQR and DORHR_COL using DLATSQR, DGEMQRT,
2929
*> 2) DORGTSQR_ROW and DORHR_COL inside DGETSQRHRT
30-
*> (which calls DLATSQR, DORGTSQR_ROW and DORHR_COL) using DGEMQR.
30+
*> (which calls DLATSQR, DORGTSQR_ROW and DORHR_COL) using DGEMQRT.
3131
*> Therefore, DLATSQR (part of DGEQR), DGEMQRT (part of DGEMQR)
3232
*> have to be tested before this test.
3333
*>

TESTING/LIN/dorhr_col01.f

Lines changed: 39 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -62,14 +62,46 @@
6262
*> \verbatim
6363
*> RESULT is DOUBLE PRECISION array, dimension (6)
6464
*> Results of each of the six tests below.
65-
*> ( C is a M-by-N random matrix, D is a N-by-M random matrix )
6665
*>
67-
*> RESULT(1) = | A - Q * R | / (eps * m * |A|)
68-
*> RESULT(2) = | I - (Q**H) * Q | / (eps * m )
69-
*> RESULT(3) = | Q * C - Q * C | / (eps * m * |C|)
70-
*> RESULT(4) = | (Q**H) * C - (Q**H) * C | / (eps * m * |C|)
71-
*> RESULT(5) = | (D * Q) - D * Q | / (eps * m * |D|)
72-
*> RESULT(6) = | D * (Q**H) - D * (Q**H) | / (eps * m * |D|)
66+
*> A is a m-by-n test input matrix to be factored.
67+
*> so that A = Q_gr * ( R )
68+
*> ( 0 ),
69+
*>
70+
*> Q_qr is an implicit m-by-m orthogonal Q matrix, the result
71+
*> of factorization in blocked WY-representation,
72+
*> stored in ZGEQRT output format.
73+
*>
74+
*> R is a n-by-n upper-triangular matrix,
75+
*>
76+
*> 0 is a (m-n)-by-n zero matrix,
77+
*>
78+
*> Q is an explicit m-by-m orthogonal matrix Q = Q_gr * I
79+
*>
80+
*> C is an m-by-n random matrix,
81+
*>
82+
*> D is an n-by-m random matrix.
83+
*>
84+
*> The six tests are:
85+
*>
86+
*> RESULT(1) = |R - (Q**H) * A| / ( eps * m * |A| )
87+
*> is equivalent to test for | A - Q * R | / (eps * m * |A|),
88+
*>
89+
*> RESULT(2) = |I - (Q**H) * Q| / ( eps * m ),
90+
*>
91+
*> RESULT(3) = | Q_qr * C - Q * C | / (eps * m * |C|),
92+
*>
93+
*> RESULT(4) = | (Q_gr**H) * C - (Q**H) * C | / (eps * m * |C|)
94+
*>
95+
*> RESULT(5) = | D * Q_qr - D * Q | / (eps * m * |D|)
96+
*>
97+
*> RESULT(6) = | D * (Q_qr**H) - D * (Q**H) | / (eps * m * |D|),
98+
*>
99+
*> where:
100+
*> Q_qr * C, (Q_gr**H) * C, D * Q_qr, D * (Q_qr**H) are
101+
*> computed using DGEMQRT,
102+
*>
103+
*> Q * C, (Q**H) * C, D * Q, D * (Q**H) are
104+
*> computed using DGEMM.
73105
*> \endverbatim
74106
*
75107
* Authors:

TESTING/LIN/dorhr_col02.f

Lines changed: 39 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -63,14 +63,46 @@
6363
*> \verbatim
6464
*> RESULT is DOUBLE PRECISION array, dimension (6)
6565
*> Results of each of the six tests below.
66-
*> ( C is a M-by-N random matrix, D is a N-by-M random matrix )
6766
*>
68-
*> RESULT(1) = | A - Q * R | / (eps * m * |A|)
69-
*> RESULT(2) = | I - (Q**H) * Q | / (eps * m )
70-
*> RESULT(3) = | Q * C - Q * C | / (eps * m * |C|)
71-
*> RESULT(4) = | (Q**H) * C - (Q**H) * C | / (eps * m * |C|)
72-
*> RESULT(5) = | (D * Q) - D * Q | / (eps * m * |D|)
73-
*> RESULT(6) = | D * (Q**H) - D * (Q**H) | / (eps * m * |D|)
67+
*> A is a m-by-n test input matrix to be factored.
68+
*> so that A = Q_gr * ( R )
69+
*> ( 0 ),
70+
*>
71+
*> Q_qr is an implicit m-by-m orthogonal Q matrix, the result
72+
*> of factorization in blocked WY-representation,
73+
*> stored in ZGEQRT output format.
74+
*>
75+
*> R is a n-by-n upper-triangular matrix,
76+
*>
77+
*> 0 is a (m-n)-by-n zero matrix,
78+
*>
79+
*> Q is an explicit m-by-m orthogonal matrix Q = Q_gr * I
80+
*>
81+
*> C is an m-by-n random matrix,
82+
*>
83+
*> D is an n-by-m random matrix.
84+
*>
85+
*> The six tests are:
86+
*>
87+
*> RESULT(1) = |R - (Q**H) * A| / ( eps * m * |A| )
88+
*> is equivalent to test for | A - Q * R | / (eps * m * |A|),
89+
*>
90+
*> RESULT(2) = |I - (Q**H) * Q| / ( eps * m ),
91+
*>
92+
*> RESULT(3) = | Q_qr * C - Q * C | / (eps * m * |C|),
93+
*>
94+
*> RESULT(4) = | (Q_gr**H) * C - (Q**H) * C | / (eps * m * |C|)
95+
*>
96+
*> RESULT(5) = | D * Q_qr - D * Q | / (eps * m * |D|)
97+
*>
98+
*> RESULT(6) = | D * (Q_qr**H) - D * (Q**H) | / (eps * m * |D|),
99+
*>
100+
*> where:
101+
*> Q_qr * C, (Q_gr**H) * C, D * Q_qr, D * (Q_qr**H) are
102+
*> computed using DGEMQRT,
103+
*>
104+
*> Q * C, (Q**H) * C, D * Q, D * (Q**H) are
105+
*> computed using DGEMM.
74106
*> \endverbatim
75107
*
76108
* Authors:

TESTING/LIN/schkorhr_col.f

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
*> SCHKORHR_COL tests:
2828
*> 1) SORGTSQR and SORHR_COL using SLATSQR, SGEMQRT,
2929
*> 2) SORGTSQR_ROW and SORHR_COL inside DGETSQRHRT
30-
*> (which calls SLATSQR, SORGTSQR_ROW and SORHR_COL) using SGEMQR.
30+
*> (which calls SLATSQR, SORGTSQR_ROW and SORHR_COL) using SGEMQRT.
3131
*> Therefore, SLATSQR (part of SGEQR), SGEMQRT (part of SGEMQR)
3232
*> have to be tested before this test.
3333
*>
@@ -157,7 +157,7 @@ SUBROUTINE SCHKORHR_COL( THRESH, TSTERR, NM, MVAL, NN, NVAL,
157157
*
158158
* Initialize constants
159159
*
160-
PATH( 1: 1 ) = 'D'
160+
PATH( 1: 1 ) = 'S'
161161
PATH( 2: 3 ) = 'HH'
162162
NRUN = 0
163163
NFAIL = 0

TESTING/LIN/sorhr_col01.f

Lines changed: 39 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -62,14 +62,46 @@
6262
*> \verbatim
6363
*> RESULT is REAL array, dimension (6)
6464
*> Results of each of the six tests below.
65-
*> ( C is a M-by-N random matrix, D is a N-by-M random matrix )
6665
*>
67-
*> RESULT(1) = | A - Q * R | / (eps * m * |A|)
68-
*> RESULT(2) = | I - (Q**H) * Q | / (eps * m )
69-
*> RESULT(3) = | Q * C - Q * C | / (eps * m * |C|)
70-
*> RESULT(4) = | (Q**H) * C - (Q**H) * C | / (eps * m * |C|)
71-
*> RESULT(5) = | (D * Q) - D * Q | / (eps * m * |D|)
72-
*> RESULT(6) = | D * (Q**H) - D * (Q**H) | / (eps * m * |D|)
66+
*> A is a m-by-n test input matrix to be factored.
67+
*> so that A = Q_gr * ( R )
68+
*> ( 0 ),
69+
*>
70+
*> Q_qr is an implicit m-by-m orthogonal Q matrix, the result
71+
*> of factorization in blocked WY-representation,
72+
*> stored in SGEQRT output format.
73+
*>
74+
*> R is a n-by-n upper-triangular matrix,
75+
*>
76+
*> 0 is a (m-n)-by-n zero matrix,
77+
*>
78+
*> Q is an explicit m-by-m orthogonal matrix Q = Q_gr * I
79+
*>
80+
*> C is an m-by-n random matrix,
81+
*>
82+
*> D is an n-by-m random matrix.
83+
*>
84+
*> The six tests are:
85+
*>
86+
*> RESULT(1) = |R - (Q**H) * A| / ( eps * m * |A| )
87+
*> is equivalent to test for | A - Q * R | / (eps * m * |A|),
88+
*>
89+
*> RESULT(2) = |I - (Q**H) * Q| / ( eps * m ),
90+
*>
91+
*> RESULT(3) = | Q_qr * C - Q * C | / (eps * m * |C|),
92+
*>
93+
*> RESULT(4) = | (Q_gr**H) * C - (Q**H) * C | / (eps * m * |C|)
94+
*>
95+
*> RESULT(5) = | D * Q_qr - D * Q | / (eps * m * |D|)
96+
*>
97+
*> RESULT(6) = | D * (Q_qr**H) - D * (Q**H) | / (eps * m * |D|),
98+
*>
99+
*> where:
100+
*> Q_qr * C, (Q_gr**H) * C, D * Q_qr, D * (Q_qr**H) are
101+
*> computed using SGEMQRT,
102+
*>
103+
*> Q * C, (Q**H) * C, D * Q, D * (Q**H) are
104+
*> computed using SGEMM.
73105
*> \endverbatim
74106
*
75107
* Authors:

TESTING/LIN/sorhr_col02.f

Lines changed: 39 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -63,14 +63,46 @@
6363
*> \verbatim
6464
*> RESULT is REAL array, dimension (6)
6565
*> Results of each of the six tests below.
66-
*> ( C is a M-by-N random matrix, D is a N-by-M random matrix )
6766
*>
68-
*> RESULT(1) = | A - Q * R | / (eps * m * |A|)
69-
*> RESULT(2) = | I - (Q**H) * Q | / (eps * m )
70-
*> RESULT(3) = | Q * C - Q * C | / (eps * m * |C|)
71-
*> RESULT(4) = | (Q**H) * C - (Q**H) * C | / (eps * m * |C|)
72-
*> RESULT(5) = | (D * Q) - D * Q | / (eps * m * |D|)
73-
*> RESULT(6) = | D * (Q**H) - D * (Q**H) | / (eps * m * |D|)
67+
*> A is a m-by-n test input matrix to be factored.
68+
*> so that A = Q_gr * ( R )
69+
*> ( 0 ),
70+
*>
71+
*> Q_qr is an implicit m-by-m orthogonal Q matrix, the result
72+
*> of factorization in blocked WY-representation,
73+
*> stored in SGEQRT output format.
74+
*>
75+
*> R is a n-by-n upper-triangular matrix,
76+
*>
77+
*> 0 is a (m-n)-by-n zero matrix,
78+
*>
79+
*> Q is an explicit m-by-m orthogonal matrix Q = Q_gr * I
80+
*>
81+
*> C is an m-by-n random matrix,
82+
*>
83+
*> D is an n-by-m random matrix.
84+
*>
85+
*> The six tests are:
86+
*>
87+
*> RESULT(1) = |R - (Q**H) * A| / ( eps * m * |A| )
88+
*> is equivalent to test for | A - Q * R | / (eps * m * |A|),
89+
*>
90+
*> RESULT(2) = |I - (Q**H) * Q| / ( eps * m ),
91+
*>
92+
*> RESULT(3) = | Q_qr * C - Q * C | / (eps * m * |C|),
93+
*>
94+
*> RESULT(4) = | (Q_gr**H) * C - (Q**H) * C | / (eps * m * |C|)
95+
*>
96+
*> RESULT(5) = | D * Q_qr - D * Q | / (eps * m * |D|)
97+
*>
98+
*> RESULT(6) = | D * (Q_qr**H) - D * (Q**H) | / (eps * m * |D|),
99+
*>
100+
*> where:
101+
*> Q_qr * C, (Q_gr**H) * C, D * Q_qr, D * (Q_qr**H) are
102+
*> computed using SGEMQRT,
103+
*>
104+
*> Q * C, (Q**H) * C, D * Q, D * (Q**H) are
105+
*> computed using SGEMM.
74106
*> \endverbatim
75107
*
76108
* Authors:

0 commit comments

Comments
 (0)