Skip to content

Commit 6922840

Browse files
author
GYT
committed
Add notes to *TPTRS about how only exact singularity is checked
1 parent 4afdca2 commit 6922840

File tree

4 files changed

+36
-16
lines changed

4 files changed

+36
-16
lines changed

SRC/ctptrs.f

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,14 @@
3838
*>
3939
*> A * X = B, A**T * X = B, or A**H * X = B,
4040
*>
41-
*> where A is a triangular matrix of order N stored in packed format,
42-
*> and B is an N-by-NRHS matrix. A check is made to verify that A is
43-
*> nonsingular.
41+
*> where A is a triangular matrix of order N stored in packed format, and B is an N-by-NRHS matrix.
42+
*>
43+
*> This subroutine verifies that A is nonsingular, but callers should note that only exact
44+
*> singularity is detected. It is conceivable for one or more diagonal elements of A to be
45+
*> subnormally tiny numbers without this subroutine signalling an error.
46+
*>
47+
*> If a possible loss of numerical precision due to near-singular matrices is a concern, the
48+
*> caller should verify that A is nonsingular within some tolerance before calling this subroutine.
4449
*> \endverbatim
4550
*
4651
* Arguments:
@@ -110,7 +115,7 @@
110115
*> INFO is INTEGER
111116
*> = 0: successful exit
112117
*> < 0: if INFO = -i, the i-th argument had an illegal value
113-
*> > 0: if INFO = i, the i-th diagonal element of A is zero,
118+
*> > 0: if INFO = i, the i-th diagonal element of A is exactly zero,
114119
*> indicating that the matrix is singular and the
115120
*> solutions X have not been computed.
116121
*> \endverbatim

SRC/dtptrs.f

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,14 @@
3838
*>
3939
*> A * X = B or A**T * X = B,
4040
*>
41-
*> where A is a triangular matrix of order N stored in packed format,
42-
*> and B is an N-by-NRHS matrix. A check is made to verify that A is
43-
*> nonsingular.
41+
*> where A is a triangular matrix of order N stored in packed format, and B is an N-by-NRHS matrix.
42+
*>
43+
*> This subroutine verifies that A is nonsingular, but callers should note that only exact
44+
*> singularity is detected. It is conceivable for one or more diagonal elements of A to be
45+
*> subnormally tiny numbers without this subroutine signalling an error.
46+
*>
47+
*> If a possible loss of numerical precision due to near-singular matrices is a concern, the
48+
*> caller should verify that A is nonsingular within some tolerance before calling this subroutine.
4449
*> \endverbatim
4550
*
4651
* Arguments:
@@ -110,7 +115,7 @@
110115
*> INFO is INTEGER
111116
*> = 0: successful exit
112117
*> < 0: if INFO = -i, the i-th argument had an illegal value
113-
*> > 0: if INFO = i, the i-th diagonal element of A is zero,
118+
*> > 0: if INFO = i, the i-th diagonal element of A is exactly zero,
114119
*> indicating that the matrix is singular and the
115120
*> solutions X have not been computed.
116121
*> \endverbatim

SRC/stptrs.f

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,14 @@
3838
*>
3939
*> A * X = B or A**T * X = B,
4040
*>
41-
*> where A is a triangular matrix of order N stored in packed format,
42-
*> and B is an N-by-NRHS matrix. A check is made to verify that A is
43-
*> nonsingular.
41+
*> where A is a triangular matrix of order N stored in packed format, and B is an N-by-NRHS matrix.
42+
*>
43+
*> This subroutine verifies that A is nonsingular, but callers should note that only exact
44+
*> singularity is detected. It is conceivable for one or more diagonal elements of A to be
45+
*> subnormally tiny numbers without this subroutine signalling an error.
46+
*>
47+
*> If a possible loss of numerical precision due to near-singular matrices is a concern, the
48+
*> caller should verify that A is nonsingular within some tolerance before calling this subroutine.
4449
*> \endverbatim
4550
*
4651
* Arguments:
@@ -110,7 +115,7 @@
110115
*> INFO is INTEGER
111116
*> = 0: successful exit
112117
*> < 0: if INFO = -i, the i-th argument had an illegal value
113-
*> > 0: if INFO = i, the i-th diagonal element of A is zero,
118+
*> > 0: if INFO = i, the i-th diagonal element of A is exactly zero,
114119
*> indicating that the matrix is singular and the
115120
*> solutions X have not been computed.
116121
*> \endverbatim

SRC/ztptrs.f

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,14 @@
3838
*>
3939
*> A * X = B, A**T * X = B, or A**H * X = B,
4040
*>
41-
*> where A is a triangular matrix of order N stored in packed format,
42-
*> and B is an N-by-NRHS matrix. A check is made to verify that A is
43-
*> nonsingular.
41+
*> where A is a triangular matrix of order N stored in packed format, and B is an N-by-NRHS matrix.
42+
*>
43+
*> This subroutine verifies that A is nonsingular, but callers should note that only exact
44+
*> singularity is detected. It is conceivable for one or more diagonal elements of A to be
45+
*> subnormally tiny numbers without this subroutine signalling an error.
46+
*>
47+
*> If a possible loss of numerical precision due to near-singular matrices is a concern, the
48+
*> caller should verify that A is nonsingular within some tolerance before calling this subroutine.
4449
*> \endverbatim
4550
*
4651
* Arguments:
@@ -110,7 +115,7 @@
110115
*> INFO is INTEGER
111116
*> = 0: successful exit
112117
*> < 0: if INFO = -i, the i-th argument had an illegal value
113-
*> > 0: if INFO = i, the i-th diagonal element of A is zero,
118+
*> > 0: if INFO = i, the i-th diagonal element of A is exactly zero,
114119
*> indicating that the matrix is singular and the
115120
*> solutions X have not been computed.
116121
*> \endverbatim

0 commit comments

Comments
 (0)