Skip to content

Commit 1bf0ea2

Browse files
author
GYT
committed
Add notes to *GELS about how only exact rank-deficiency is checked
1 parent 6922840 commit 1bf0ea2

File tree

4 files changed

+48
-8
lines changed

4 files changed

+48
-8
lines changed

SRC/cgels.f

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,17 @@
3737
*>
3838
*> CGELS solves overdetermined or underdetermined complex linear systems
3939
*> involving an M-by-N matrix A, or its conjugate-transpose, using a QR
40-
*> or LQ factorization of A. It is assumed that A has full rank.
40+
*> or LQ factorization of A.
41+
*>
42+
*> It is assumed that A has full rank, and only a rudimentary protection
43+
*> against rank-deficient matrices is provided. This subroutine only detects
44+
*> exact rank-deficiency, where a diagonal element of the triangular factor
45+
*> of A is exactly zero.
46+
*>
47+
*> It is conceivable for one (or more) of the diagonal elements of the triangular
48+
*> factor of A to be subnormally tiny numbers without this subroutine signalling
49+
*> an error. The solutions computed for such almost-rank-deficient matrices may
50+
*> be less accurate due to a loss of numerical precision.
4151
*>
4252
*> The following options are provided:
4353
*>
@@ -161,7 +171,7 @@
161171
*> = 0: successful exit
162172
*> < 0: if INFO = -i, the i-th argument had an illegal value
163173
*> > 0: if INFO = i, the i-th diagonal element of the
164-
*> triangular factor of A is zero, so that A does not have
174+
*> triangular factor of A is exactly zero, so that A does not have
165175
*> full rank; the least squares solution could not be
166176
*> computed.
167177
*> \endverbatim

SRC/dgels.f

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,17 @@
3737
*>
3838
*> DGELS solves overdetermined or underdetermined real linear systems
3939
*> involving an M-by-N matrix A, or its transpose, using a QR or LQ
40-
*> factorization of A. It is assumed that A has full rank.
40+
*> factorization of A.
41+
*>
42+
*> It is assumed that A has full rank, and only a rudimentary protection
43+
*> against rank-deficient matrices is provided. This subroutine only detects
44+
*> exact rank-deficiency, where a diagonal element of the triangular factor
45+
*> of A is exactly zero.
46+
*>
47+
*> It is conceivable for one (or more) of the diagonal elements of the triangular
48+
*> factor of A to be subnormally tiny numbers without this subroutine signalling
49+
*> an error. The solutions computed for such almost-rank-deficient matrices may
50+
*> be less accurate due to a loss of numerical precision.
4151
*>
4252
*> The following options are provided:
4353
*>
@@ -162,7 +172,7 @@
162172
*> = 0: successful exit
163173
*> < 0: if INFO = -i, the i-th argument had an illegal value
164174
*> > 0: if INFO = i, the i-th diagonal element of the
165-
*> triangular factor of A is zero, so that A does not have
175+
*> triangular factor of A is exactly zero, so that A does not have
166176
*> full rank; the least squares solution could not be
167177
*> computed.
168178
*> \endverbatim

SRC/sgels.f

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,17 @@
3737
*>
3838
*> SGELS solves overdetermined or underdetermined real linear systems
3939
*> involving an M-by-N matrix A, or its transpose, using a QR or LQ
40-
*> factorization of A. It is assumed that A has full rank.
40+
*> factorization of A.
41+
*>
42+
*> It is assumed that A has full rank, and only a rudimentary protection
43+
*> against rank-deficient matrices is provided. This subroutine only detects
44+
*> exact rank-deficiency, where a diagonal element of the triangular factor
45+
*> of A is exactly zero.
46+
*>
47+
*> It is conceivable for one (or more) of the diagonal elements of the triangular
48+
*> factor of A to be subnormally tiny numbers without this subroutine signalling
49+
*> an error. The solutions computed for such almost-rank-deficient matrices may
50+
*> be less accurate due to a loss of numerical precision.
4151
*>
4252
*> The following options are provided:
4353
*>
@@ -162,7 +172,7 @@
162172
*> = 0: successful exit
163173
*> < 0: if INFO = -i, the i-th argument had an illegal value
164174
*> > 0: if INFO = i, the i-th diagonal element of the
165-
*> triangular factor of A is zero, so that A does not have
175+
*> triangular factor of A is exactly zero, so that A does not have
166176
*> full rank; the least squares solution could not be
167177
*> computed.
168178
*> \endverbatim

SRC/zgels.f

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,17 @@
3737
*>
3838
*> ZGELS solves overdetermined or underdetermined complex linear systems
3939
*> involving an M-by-N matrix A, or its conjugate-transpose, using a QR
40-
*> or LQ factorization of A. It is assumed that A has full rank.
40+
*> or LQ factorization of A.
41+
*>
42+
*> It is assumed that A has full rank, and only a rudimentary protection
43+
*> against rank-deficient matrices is provided. This subroutine only detects
44+
*> exact rank-deficiency, where a diagonal element of the triangular factor
45+
*> of A is exactly zero.
46+
*>
47+
*> It is conceivable for one (or more) of the diagonal elements of the triangular
48+
*> factor of A to be subnormally tiny numbers without this subroutine signalling
49+
*> an error. The solutions computed for such almost-rank-deficient matrices may
50+
*> be less accurate due to a loss of numerical precision.
4151
*>
4252
*> The following options are provided:
4353
*>
@@ -161,7 +171,7 @@
161171
*> = 0: successful exit
162172
*> < 0: if INFO = -i, the i-th argument had an illegal value
163173
*> > 0: if INFO = i, the i-th diagonal element of the
164-
*> triangular factor of A is zero, so that A does not have
174+
*> triangular factor of A is exactly zero, so that A does not have
165175
*> full rank; the least squares solution could not be
166176
*> computed.
167177
*> \endverbatim

0 commit comments

Comments
 (0)