Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
107 commits
Select commit Hold shift + click to select a range
fffd38f
changed comment in dchkq3
scr2016 Aug 9, 2023
b8475a7
added dgeqp3rk.f dlaqp2rk.f dlaqp3rk.f
scr2016 Aug 9, 2023
30b43ed
fixes to implicit declarations
scr2016 Aug 11, 2023
af1bb9e
changed comment in dchkq3
scr2016 Nov 14, 2023
706fd1a
added dgeqp3rk.f dlaqp2rk.f dlaqp3rk.f
scr2016 Nov 14, 2023
f238fae
fixes to implicit declarations
scr2016 Nov 14, 2023
ba5afcd
modified comments in TESTING/LIN/alareq.f TESTING/EIG/alareq.f TESTI…
scr2016 Nov 14, 2023
dd4c896
added IMPLCIT NONE to dgeqp3rk.f dlaqp2rk.f dlaqp3rk.f and fixed comm…
scr2016 Nov 14, 2023
6e9d748
Changed KP0 to KP1 in dgeqp3rk.f dlaqp2rk.f dlaqp3rk.f
scr2016 Nov 14, 2023
e851768
changed order of code blocks at the beginning in dgeqp3rk.f and added…
scr2016 Nov 14, 2023
f5a907d
changed comments for JPIV in dgeqp3rk.f dlaqp2rk.f dlaqp3rk.f
scr2016 Nov 14, 2023
614452f
changed KMAX into MAXK in dlaqp2rk.f, dgeqp3rk.f
scr2016 Nov 14, 2023
1287f67
added quick return if possible for MAXK = 0 in dgeqp3rk.f
scr2016 Nov 14, 2023
f8edd87
added quick return if possible at the beginning for 1) MAXK = 0; 2) A…
scr2016 Nov 14, 2023
8d5c716
fixe the comment in dgeqp3rk.f and changed design in dlaqp2rk.f to re…
scr2016 Nov 14, 2023
f0b12a2
fixed a bug in dgeqp3rk.f in quick return if possible for the whole o…
scr2016 Nov 14, 2023
e965983
Added zero submatrix optimization and changed MAXK into KMAX in dlaqp…
scr2016 Nov 14, 2023
4c09d8e
changed comments in SRC/dlaqp2rk.f
scr2016 Nov 14, 2023
8da81bc
replaced MAXK with KMAX in glaqp3rk.f
scr2016 Nov 14, 2023
73bfa95
replaced MAXK with KMAX in dgeqp3rk.f
scr2016 Nov 14, 2023
3fc469a
changes in dlaqp2rk.f IF( IOFFSET.EQ.0 .AND. K.EQ.1 ) THEN into IF( I…
scr2016 Nov 14, 2023
46f90f6
in dlaqp2rk.f moved ZERO submatrix condition check under if statement…
scr2016 Nov 14, 2023
b943dee
in dlaqp3rk.f added comments TODO
scr2016 Nov 14, 2023
d152705
added zero submatrix check to DLAQP3RK and changed the position of DO…
scr2016 Nov 14, 2023
9de1ee7
changed indent in in one line in SRC/dlaqp2rk.f
scr2016 Nov 14, 2023
762496f
moved zero submatrix check in (if(ioffset ==0) else) clause into else…
scr2016 Nov 14, 2023
7bc3615
removed redundant IF(.NOT.DONE.) statement at the end of the DGEQP3RK…
scr2016 Nov 14, 2023
9c0a21e
changed comments and variable names and assigment for KB, IF, KF in D…
scr2016 Nov 14, 2023
43eb003
Moved ABSTOL and RELTOL verification in DLAQP3RK in ELSE clause of IF…
scr2016 Nov 14, 2023
39828c7
Changed bar length in the comments in DLAQP3RK
scr2016 Nov 14, 2023
115d5a4
in DLAQP3RK chahged ABSTOL and RELTOL condition to return from the lo…
scr2016 Nov 14, 2023
9ea14cd
in DLAQP2RK moved ABSTOL condition into ELSE clause of IF(I.EQ.1)
scr2016 Nov 14, 2023
8391371
added to the description of DGEQP3Rk, DLAQP2RK and DLAQP3RK reference…
scr2016 Nov 14, 2023
214842c
changed the meaing of K to mean the rank of R instead of the number …
scr2016 Nov 14, 2023
ecaf99b
removed KF argument in DLAQP3RK, KF is the number of factorized parti…
scr2016 Nov 14, 2023
6aac080
added NaN and INf checks to dgeqp3rk.f dlaqp2rk.f dlaqp3rk.f
scr2016 Nov 14, 2023
352ffe9
fixed grammatical error in the description of INFO in dgeqp3rk.f dla…
scr2016 Nov 14, 2023
785b734
modified descriptions and corrected grammatical errors in dgeqp3rk.f…
scr2016 Nov 14, 2023
33c8a2a
modified descriptions after review number 1 in dgeqp3rk.f dlaqp2rk.f…
scr2016 Nov 14, 2023
8ebb7c8
fixed INFO NaN and Inf reporting bug in DGEQP3RK and added debug code…
scr2016 Nov 14, 2023
e9e9394
changed the description of DGEQP3RK, DLAQP3RK, DLAQP2RK and removed t…
scr2016 Nov 14, 2023
46e7519
changed the description of DGEQP3RK (added imlicit stopping criterion…
scr2016 Nov 14, 2023
4603e69
updated the description of DLAQP3RK
scr2016 Nov 14, 2023
1b7bf32
renamed old auxiliary index J into J1 in DLAQP2RK
scr2016 Nov 14, 2023
f84ee6c
Revert "renamed old auxiliary index J into J1 in DLAQP2RK"
scr2016 Nov 14, 2023
3fc6c23
optimized, deleted not neede setting of MAXC2NRMK and RELMAXC2NRMK wh…
scr2016 Nov 14, 2023
bfbcec2
optimized, deleted not needed setting of MAXC2NRMK and RELMAXC2NRMK w…
scr2016 Nov 14, 2023
1798bdb
Renamed parameter the number of factorized columns so far KF into K ,…
scr2016 Nov 14, 2023
395d04e
Changed tha text alignment in INFO description in DGEQP3RK and DLAQP3RK
scr2016 Nov 14, 2023
a0341b2
added a new file for testing TESTING/LIN/dchkqp3rk.f LIN/Makefile LIN…
scr2016 Nov 14, 2023
79f4d03
added testing for truncated Qr TESTING/LIN/dchkq3rk.f
scr2016 Nov 14, 2023
7c1c8b0
updated LIN/alaerh.f with GEQP3RK
scr2016 Nov 14, 2023
e209e73
added test matrices types reporting and test type reporinting for DGE…
scr2016 Nov 14, 2023
14e5f47
matrix configuration for DGEQP3RK in LIN/dlatb4.f
scr2016 Nov 14, 2023
a111c9b
Changed comments and updated GOTO statements in LIN/dqpt01.f
scr2016 Nov 14, 2023
ea810c9
replaced GO TO statements with DO J=1,M ... END DO in dqrt11.f
scr2016 Nov 14, 2023
2eac2f6
replaced GO TO statements with DO J=1,M ... END DO in dqrt12.f and c…
scr2016 Nov 14, 2023
8d7f615
added DQK test path for DGEQP3RK into TESTING/dtest.in
scr2016 Nov 14, 2023
36fa124
added IMPLICIT NONE to TESTING/LIN/dchkqp3rk.f
scr2016 Nov 14, 2023
46ef59f
fixed description from '\ingroup heqp3rk' to '\ingroup geqp3rk' in SR…
scr2016 Nov 14, 2023
18c19a4
fixed a typo in TESTING/LIN/alahd.f
scr2016 Nov 14, 2023
12e9397
Corrected WORK array size requirements for minimum and optimal size i…
scr2016 Nov 14, 2023
4161851
changed padding of parameters in the function signature of DGEQP3RK
scr2016 Nov 14, 2023
8482937
added GEQP3RK to ILAENV routine, it changed ilaenv.f and dgeqp3rk.f
scr2016 Nov 14, 2023
8e5b705
Removed blank line in the comments of dgeqp3rk.f
scr2016 Nov 14, 2023
f1a95ee
changed comment for LWORK in dgeqp3rk.f for minimum LWORK brackets, c…
scr2016 Nov 14, 2023
a020ed0
changed comment in DLAQP2RK in the code section about IF guard for DLARF
scr2016 Nov 14, 2023
b20545c
cnanged doxigen comments in \brief for dgeqp3rk.f dlaqp2rk.f dlaqp3rk…
scr2016 Nov 14, 2023
37b19bf
changed the description of DLAQP3RK to include real
scr2016 Nov 14, 2023
a39a28f
changed comments about TAU in dlaqp2rk.f and dlaqp3rk.f
scr2016 Nov 14, 2023
8ecf111
changed text aligment for DGEMM and DGEMV function calls in DLAQP3RK
scr2016 Nov 14, 2023
2c93952
changed comments about checking TAU for NaN in dlaqp2rk.f and dlaqp3r…
scr2016 Nov 14, 2023
86cf705
Updated description of the INFO about NaN detection in DGEQP3RK, DLA…
scr2016 Nov 14, 2023
f1bbf6c
fixed comments of function signature description in TESTING/LIN/dchkq…
scr2016 Nov 14, 2023
93b5bc3
changed comments in dlatb4.f
scr2016 Nov 14, 2023
59fc007
simplified the formula in the descriotion from LWORK >= (2*N + N+NRHS…
scr2016 Nov 14, 2023
8e888aa
changed comments in dlatb4.f and changed text allignment for function…
scr2016 Nov 14, 2023
35634f3
changed the matrix IMAT in DCHKQP3RK to call DLATB4 to 14
scr2016 Nov 14, 2023
6abbd2b
merged if MINMN contition with matrix types conditon for matrixces wi…
scr2016 Nov 14, 2023
231dd99
changed alligment of if statements in generation matrices with zeros …
scr2016 Nov 14, 2023
1309b6c
fixed an DLARFG index bug in dlaqp2rk.f and inserted debug statemen…
scr2016 Nov 14, 2023
667f08c
corrected comment in update the i-th row of A in DLAQP3RK
scr2016 Nov 14, 2023
c3eaab3
corrected comments in TESTING/LIN/dchkqp3rk.f for KMAX loop
scr2016 Nov 14, 2023
c037c32
added SRC/zgeqp3rk.f SRC/zlaqp2rk.f SRC/zlaqp2rk.f and changed Makef…
scr2016 Nov 14, 2023
e3b58c4
added testing code for DGEQP3RK
scr2016 Nov 14, 2023
7656583
changed formatting in the RELTOL description WE recomment RELTOL to …
scr2016 Nov 14, 2023
bfbd799
DOWNDATED comments in SRC/zgeqp3rk.f SRC/zlaqp2rk.f SRC/zlaqp3rk.f
scr2016 Nov 14, 2023
d086a3d
DOWNDATED comments in LIN/zchkqp3rk.f
scr2016 Nov 14, 2023
349a295
removed one comment sign * in SRC/zlaqp3rk.f
scr2016 Nov 14, 2023
c64027a
DOWNDATED commnets in SRC/dgeqp3rk.f SRC/dlaqp2rk.f SRC/dlaqp3rk.f
scr2016 Nov 14, 2023
5bcd585
added comments symbols '*' in TESTING/LIN/zchkqp3rk.f
scr2016 Nov 14, 2023
bd42f8e
DOWNDATED comments in TESTING/LIN/dchkqp3rk.f
scr2016 Nov 14, 2023
10e12a4
Intrinsic DBLE declaration from DLAQP3RK, since it is not used
scr2016 Nov 14, 2023
0c44048
changed LWORK_DORMQR into LWORK_MQR name in LIN/dchkqp3rk.f LIN/zchkq…
scr2016 Nov 14, 2023
540e4eb
Changed ArrayE allocation from static to dynamic
scr2016 Nov 14, 2023
7019c63
added single precision ant testing for truncated QR i.e. SGEQP3RK, SL…
scr2016 Nov 14, 2023
c2228e1
forgot add in the previous commit TESTING/LIN/schkqp3rk.f, adding now
scr2016 Nov 14, 2023
0a67441
fixed comments in SLAQP3RK
scr2016 Nov 14, 2023
036fef4
fixed description in SRC/zlaqp2rk.f SRC/zlaqp3rk.f
scr2016 Nov 14, 2023
ee81706
fxed comments in zchkqp3rk.f schkqp3rk.f
scr2016 Nov 14, 2023
6a15917
added declaration of intrinsics REAL or DBLE in SRC/dchkqp3rk.f zchkq…
scr2016 Nov 14, 2023
ea4787c
added complex precision truncated QR and testing for CGEQP3RK, CLAQP2…
scr2016 Nov 14, 2023
7603b62
UPDATED the descriptions of the new truncated QR routines
scr2016 Nov 14, 2023
d64a6ca
fixed a typo-bug for intrinsics in dlaqp3rk.f
scr2016 Nov 14, 2023
21e33bd
final trucated QR
invalid-email-address Nov 14, 2023
a1322ff
merged with git pull
scr2016 Nov 14, 2023
8d44861
fixed a type for adding TESTING/LIN/zchkqp3rk.f into CMakeLists.txt
scr2016 Nov 14, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
fixe the comment in dgeqp3rk.f and changed design in dlaqp2rk.f to re…
…turn from the loop instead of exiting the loop when ABSTOL or RELTOL criterion is satisfied
  • Loading branch information
scr2016 committed Nov 14, 2023
commit 8d5c716a6403a21b7f670b6a119816cdc108ed8e
2 changes: 2 additions & 0 deletions SRC/dgeqp3rk.f
Original file line number Diff line number Diff line change
Expand Up @@ -693,6 +693,8 @@ SUBROUTINE DGEQP3RK( M, N, NRHS, MAXK, ABSTOL, RELTOL,
* which is also limited by the first stopping criterion MAXK.
*
JMAX = MIN( MAXK, MINMN )

* ===================================================================
*
* Quick return, if A is a zero matrix.
*
Expand Down
60 changes: 35 additions & 25 deletions SRC/dlaqp2rk.f
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,6 @@
*> the left by Q**T.
*> \endverbatim
*>
*>
*> \param[in] LDA
*> \verbatim
*> LDA is INTEGER
Expand Down Expand Up @@ -314,13 +313,18 @@ SUBROUTINE DLAQP2RK( M, N, NRHS, IOFFSET, MAXK, ABSTOL, RELTOL,
*
* MINMNFACT in the smallest dimension of the submatrix
* A(IOFFSET+1:M,1:N) to be factorized.
*
* MINMNUPDT is the smallest dimension
* of the subarray A(IOFFSET+1:M,1:N+NRHS) to be udated, which contains
* the submatrices A(IOFFSET+1:M,1:N) and B(IOFFSET+1:M,1:NRHS) as column
* blocks.
*
MINMNFACT = MIN( M-IOFFSET, N )
MINMNUPDT = MIN( M-IOFFSET, N+NRHS )
MAXK = MIN( MAXK, MINMNFACT )
TOL3Z = SQRT( DLAMCH( 'Epsilon' ) )
*
* Compute factorization.
* Compute the factorization.
*
DO K = 1, MAXK
*
Expand Down Expand Up @@ -358,12 +362,22 @@ SUBROUTINE DLAQP2RK( M, N, NRHS, IOFFSET, MAXK, ABSTOL, RELTOL,
* to test for RELTOL >= ZERO, since RELMAXC2NRMK is
* non-negative.
*

IF( MAXC2NRMK.LE.ABSTOL .OR. RELMAXC2NRMK.LE.RELTOL ) THEN
*
* Exit the loop.
* Set the number of factorized columns.
*
KF = K - 1
*
* Set TAUs corresponding to the columns that were not factorized
* to ZERO, i.e. TAU(KF+1:MINMNFACT)=TAU(K:MINMNFACT) set to ZERO.
*
DO J = K, MINMNFACT
TAU( J ) = ZERO
END DO
*
* Return from the routine.
*
EXIT
RETURN
END IF
*
* ==================================================================
Expand Down Expand Up @@ -466,35 +480,31 @@ SUBROUTINE DLAQP2RK( M, N, NRHS, IOFFSET, MAXK, ABSTOL, RELTOL,
*
* Set the number of factorized columns
*
KF = K - 1
*
IF( KF.EQ.MAXK ) THEN
KF = MAXK
*
* All MAXK columns were factorized, no ABSTOL or RELTOL triggered,
* we need to set MAXC2NRMK and RELMAXC2NRMK before we return.
* We reached the end of the loop, i.e. all MAXK columns were
* factorized, we need to set MAXC2NRMK and RELMAXC2NRMK before
* we return.
*
IF( KF.LT.MINMNFACT ) THEN
IF( KF.LT.MINMNFACT ) THEN
*
JMAXC2NRM = KF + IDAMAX( N-KF, VN1( KF+1 ), 1 )
MAXC2NRMK = VN1( JMAXC2NRM )
*
IF( KF.EQ.0 ) THEN
RELMAXC2NRMK = ONE
ELSE
RELMAXC2NRMK = MAXC2NRMK / MAXC2NRM
END IF
JMAXC2NRM = KF + IDAMAX( N-KF, VN1( KF+1 ), 1 )
MAXC2NRMK = VN1( JMAXC2NRM )
*
IF( KF.EQ.0 ) THEN
RELMAXC2NRMK = ONE
ELSE
MAXC2NRMK = ZERO
RELMAXC2NRMK = ZERO
RELMAXC2NRMK = MAXC2NRMK / MAXC2NRM
END IF
*
ELSE
MAXC2NRMK = ZERO
RELMAXC2NRMK = ZERO
END IF
*
* Before we return because either we reached the end of the
* loop MAXK, or ABSTOL or RELTOL was triggered, we need to:
* set TAUs corresponding to the columns that were not factorized
* to ZERO, i.e. TAU(KF+1:MINMN) set to ZERO.
* We reached the end of the loop, i.e. all MAXK columns were
* factorized, set TAUs corresponding to the columns that were
* not factorized to ZERO, i.e. TAU(KF+1:MINMNFACT) set to ZERO.
*
DO J = KF + 1, MINMNFACT
TAU( J ) = ZERO
Expand Down