Skip to content

Commit ba91e7e

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

File tree

4 files changed

+44
-8
lines changed

4 files changed

+44
-8
lines changed

SRC/cgelst.f

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,16 @@
3838
*> CGELST solves overdetermined or underdetermined real linear systems
3939
*> involving an M-by-N matrix A, or its conjugate-transpose, using a QR
4040
*> or LQ factorization of A with compact WY representation of Q.
41-
*> It is assumed that A has full rank.
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.
4251
*>
4352
*> The following options are provided:
4453
*>
@@ -163,7 +172,7 @@
163172
*> = 0: successful exit
164173
*> < 0: if INFO = -i, the i-th argument had an illegal value
165174
*> > 0: if INFO = i, the i-th diagonal element of the
166-
*> 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
167176
*> full rank; the least squares solution could not be
168177
*> computed.
169178
*> \endverbatim

SRC/dgelst.f

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,16 @@
3838
*> DGELST solves overdetermined or underdetermined real linear systems
3939
*> involving an M-by-N matrix A, or its transpose, using a QR or LQ
4040
*> factorization of A with compact WY representation of Q.
41-
*> It is assumed that A has full rank.
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.
4251
*>
4352
*> The following options are provided:
4453
*>
@@ -163,7 +172,7 @@
163172
*> = 0: successful exit
164173
*> < 0: if INFO = -i, the i-th argument had an illegal value
165174
*> > 0: if INFO = i, the i-th diagonal element of the
166-
*> 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
167176
*> full rank; the least squares solution could not be
168177
*> computed.
169178
*> \endverbatim

SRC/sgelst.f

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,16 @@
3838
*> SGELST solves overdetermined or underdetermined real linear systems
3939
*> involving an M-by-N matrix A, or its transpose, using a QR or LQ
4040
*> factorization of A with compact WY representation of Q.
41-
*> It is assumed that A has full rank.
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.
4251
*>
4352
*> The following options are provided:
4453
*>
@@ -163,7 +172,7 @@
163172
*> = 0: successful exit
164173
*> < 0: if INFO = -i, the i-th argument had an illegal value
165174
*> > 0: if INFO = i, the i-th diagonal element of the
166-
*> 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
167176
*> full rank; the least squares solution could not be
168177
*> computed.
169178
*> \endverbatim

SRC/zgelst.f

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,16 @@
3838
*> ZGELST solves overdetermined or underdetermined real linear systems
3939
*> involving an M-by-N matrix A, or its conjugate-transpose, using a QR
4040
*> or LQ factorization of A with compact WY representation of Q.
41-
*> It is assumed that A has full rank.
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.
4251
*>
4352
*> The following options are provided:
4453
*>
@@ -163,7 +172,7 @@
163172
*> = 0: successful exit
164173
*> < 0: if INFO = -i, the i-th argument had an illegal value
165174
*> > 0: if INFO = i, the i-th diagonal element of the
166-
*> 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
167176
*> full rank; the least squares solution could not be
168177
*> computed.
169178
*> \endverbatim

0 commit comments

Comments
 (0)