Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
16 changes: 7 additions & 9 deletions TESTING/LIN/ctbt02.f
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,11 @@
*> \verbatim
*>
*> CTBT02 computes the residual for the computed solution to a
*> triangular system of linear equations A*x = b, A**T *x = b, or
*> A**H *x = b when A is a triangular band matrix. Here A**T denotes
*> the transpose of A, A**H denotes the conjugate transpose of A, and
*> x and b are N by NRHS matrices. The test ratio is the maximum over
*> the number of right hand sides of
*> norm(b - op(A)*x) / ( norm(op(A)) * norm(x) * EPS ),
*> where op(A) denotes A, A**T, or A**H, and EPS is the machine epsilon.
*> triangular system of linear equations op(A)*X = B, when A is a
*> triangular band matrix. The test ratio is the maximum over the
*> number of right hand sides of
*> norm(op(A)*X - B) / ( norm(op(A)) * norm(X) * EPS ),
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is still incorrect. The expression norm(op(A)*X - B) / ( norm(op(A)) * norm(X) * EPS ) is a number, so it does not have right-hand sides. I suggest something like:

The test ratio is the maximum over
norm(b - op(A)*x) / ( norm(op(A)) * norm(x) * EPS )
for every column b of B,
where op(A) = A, A**T, or A**H, x is the solution vector, and EPS is the machine epsilon.

What do you think?

Copy link
Contributor Author

@jip jip Jun 15, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, this looks better. Two adjoining "where" sections (the first one - "for every column b of B" - is implicit, and the second one is explicit) could be merged:

The test ratio is the maximum over
  norm(b - op(A)*x) / ( norm(op(A)) * norm(x) * EPS ),
where op(A) = A, A**T, or A**H, b is the column of B, x is
the solution vector, and EPS is the machine epsilon.

but this is a matter of taste.

I believe this variant is incorrect, too. The original comment states "x and b are N by NRHS matrices". So will be the residual R := b - op(A)*x. The code computes taxicab-based norm || R(j) || for each j-th column R(j) from R. Then it takes a max(j) || R(j) || which means in toto a computing of kinda 1-norm, but based on taxicab-based norm |Re(z)| + |Im(z)|, not magnitude-based norm |z|. So, the phrase "the maximum over" is excessive.

And this variant may be improved further:

  1. Since x and b are matrices not vectors here, capital letters X and B are used.
  2. I'm using norm(op(A)*X - B) not norm(B - op(A)*X) since the first is the exact expression which is computed. I know they give identical results. I don't insist on this summands swapping here.

So, the result may look like this:

The test ratio is set to
  norm(op(A)*X - B) / ( norm(op(A)) * norm(X) * EPS ),
where op(A) = A, A**T, or A**H, B is the N by NRHS matrix of
right-hand sides, X is the N by NRHS matrix of solution vectors, and
EPS is the machine epsilon.

When "kinda 1-norms" in both norm(op(A)*X - B) and norm(X) will be replaced by "true 1-norm", then the following statement could be added: "The norm used is the 1-norm.".

I'm ready to update this PR with any of variants discussed above.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, this looks better. Two adjoining "where" sections (the first one - "for every column b of B" - is implicit, and the second one is explicit) could be merged:

The test ratio is the maximum over
  norm(b - op(A)*x) / ( norm(op(A)) * norm(x) * EPS ),
where op(A) = A, A**T, or A**H, b is the column of B, x is
the solution vector, and EPS is the machine epsilon.

but this is a matter of taste.

I would go with either this one or the version I proposed. Maybe you can modify it a bit:

The test ratio is the maximum over
  norm(b - op(A)*x) / ( ||op(A)||_1 * norm(x) * EPS ),
where op(A) = A, A**T, or A**H, b is the column of B, x is
the solution vector, and EPS is the machine epsilon.

As you pointed out, the norm operator is that "kinda 1-norm" for vectors of size N, in which |Re(z)| + |Im(z)| replaces the magnitude |z| for all complex scalars z. This is what the subroutine computes if I understand the algorithm correctly.

I believe this variant is incorrect, too. The original comment states "x and b are N by NRHS matrices". So will be the residual R := b - op(A)*x. The code computes taxicab-based norm || R(j) || for each j-th column R(j) from R. Then it takes a max(j) || R(j) || which means in toto a computing of kinda 1-norm, but based on taxicab-based norm |Re(z)| + |Im(z)|, not magnitude-based norm |z|. So, the phrase "the maximum over" is excessive.

And this variant may be improved further:

1. Since x and b are matrices not vectors here, capital letters X and B are used.

2. I'm using `norm(op(A)*X - B)` not `norm(B - op(A)*X)` since the first is the exact expression which is computed. I know they give identical results. I don't insist on this summands swapping here.

So, the result may look like this:

The test ratio is set to
  norm(op(A)*X - B) / ( norm(op(A)) * norm(X) * EPS ),
where op(A) = A, A**T, or A**H, B is the N by NRHS matrix of
right-hand sides, X is the N by NRHS matrix of solution vectors, and
EPS is the machine epsilon.

I don't agree with this proposal. The algorithm does not compute norm(X), where "capital" X is the original input matrix. Maybe I am missing something, please correct me if I am wrong.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(Sorry for delayed answer)

I think you are right. I'll use the last variant you've proposed:

I would go with either this one or the version I proposed. Maybe you can modify it a bit:

The test ratio is the maximum over
  norm(b - op(A)*x) / ( ||op(A)||_1 * norm(x) * EPS ),
where op(A) = A, A**T, or A**H, b is the column of B, x is
the solution vector, and EPS is the machine epsilon.

I'll try either to update this PR or to create a new one.

*> where op(A) = A, A**T, or A**H, and EPS is the machine epsilon.
*> \endverbatim
*
* Arguments:
Expand Down Expand Up @@ -142,7 +140,7 @@
*> \verbatim
*> RESID is REAL
*> The maximum over the number of right hand sides of
*> norm(B - op(A)*X) / ( norm(op(A)) * norm(X) * EPS ).
*> norm(op(A)*x - b) / ( norm(op(A)) * norm(x) * EPS ).
*> \endverbatim
*
* Authors:
Expand Down Expand Up @@ -221,7 +219,7 @@ SUBROUTINE CTBT02( UPLO, TRANS, DIAG, N, KD, NRHS, AB, LDAB, X,
END IF
*
* Compute the maximum over the number of right hand sides of
* norm(B - op(A)*X) / ( norm(op(A)) * norm(X) * EPS ).
* norm(op(A)*x - b) / ( norm(op(A)) * norm(x) * EPS ).
*
RESID = ZERO
DO 10 J = 1, NRHS
Expand Down
23 changes: 10 additions & 13 deletions TESTING/LIN/ctpt02.f
Original file line number Diff line number Diff line change
Expand Up @@ -28,14 +28,11 @@
*> \verbatim
*>
*> CTPT02 computes the residual for the computed solution to a
*> triangular system of linear equations A*x = b, A**T *x = b, or
*> A**H *x = b, when the triangular matrix A is stored in packed format.
*> Here A**T denotes the transpose of A, A**H denotes the conjugate
*> transpose of A, and x and b are N by NRHS matrices. The test ratio
*> is the maximum over the number of right hand sides of
*> triangular system of linear equations op(A)*X = B, when the
*> triangular matrix A is stored in packed format. The test ratio is
*> the maximum over the number of right hand sides of
*> norm(b - op(A)*x) / ( norm(op(A)) * norm(x) * EPS ),
*> where op(A) denotes A, A**T, or A**H, and EPS is the machine epsilon.
*> norm(op(A)*X - B) / ( norm(op(A)) * norm(X) * EPS ),
*> where op(A) = A, A**T, or A**H, and EPS is the machine epsilon.
*> \endverbatim
*
* Arguments:
Expand All @@ -53,9 +50,9 @@
*> \verbatim
*> TRANS is CHARACTER*1
*> Specifies the operation applied to A.
*> = 'N': A *x = b (No transpose)
*> = 'T': A**T *x = b (Transpose)
*> = 'C': A**H *x = b (Conjugate transpose)
*> = 'N': A * X = B (No transpose)
*> = 'T': A**T * X = B (Transpose)
*> = 'C': A**H * X = B (Conjugate transpose)
*> \endverbatim
*>
*> \param[in] DIAG
Expand Down Expand Up @@ -130,7 +127,7 @@
*> \verbatim
*> RESID is REAL
*> The maximum over the number of right hand sides of
*> norm(op(A)*x - b) / ( norm(op(A)) * norm(x) * EPS ).
*> norm(op(A)*B - B) / ( norm(op(A)) * norm(X) * EPS ).
*> \endverbatim
*
* Authors:
Expand Down Expand Up @@ -191,7 +188,7 @@ SUBROUTINE CTPT02( UPLO, TRANS, DIAG, N, NRHS, AP, X, LDX, B, LDB,
RETURN
END IF
*
* Compute the 1-norm of A or A**H.
* Compute the 1-norm of op(A).
*
IF( LSAME( TRANS, 'N' ) ) THEN
ANORM = CLANTP( '1', UPLO, DIAG, N, AP, RWORK )
Expand All @@ -208,7 +205,7 @@ SUBROUTINE CTPT02( UPLO, TRANS, DIAG, N, NRHS, AP, X, LDX, B, LDB,
END IF
*
* Compute the maximum over the number of right hand sides of
* norm(op(A)*x - b) / ( norm(op(A)) * norm(x) * EPS ).
* norm(op(A)*X - B) / ( norm(op(A)) * norm(X) * EPS ).
*
RESID = ZERO
DO 10 J = 1, NRHS
Expand Down
24 changes: 11 additions & 13 deletions TESTING/LIN/ctrt02.f
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,11 @@
*> \verbatim
*>
*> CTRT02 computes the residual for the computed solution to a
*> triangular system of linear equations A*x = b, A**T *x = b,
*> or A**H *x = b. Here A is a triangular matrix, A**T is the transpose
*> of A, A**H is the conjugate transpose of A, and x and b are N by NRHS
*> matrices. The test ratio is the maximum over the number of right
*> hand sides of
*> norm(b - op(A)*x) / ( norm(op(A)) * norm(x) * EPS ),
*> where op(A) denotes A, A**T, or A**H, and EPS is the machine epsilon.
*> triangular system of linear equations op(A)*X = B, where A is a
*> triangular matrix. The test ratio is the maximum over the number of
*> right hand sides of
*> norm(op(A)*X - B) / ( norm(op(A)) * norm(X) * EPS ),
*> where op(A) = A, A**T, or A**H, and EPS is the machine epsilon.
*> \endverbatim
*
* Arguments:
Expand All @@ -53,9 +51,9 @@
*> \verbatim
*> TRANS is CHARACTER*1
*> Specifies the operation applied to A.
*> = 'N': A *x = b (No transpose)
*> = 'T': A**T *x = b (Transpose)
*> = 'C': A**H *x = b (Conjugate transpose)
*> = 'N': A * X = B (No transpose)
*> = 'T': A**T * X = B (Transpose)
*> = 'C': A**H * X = B (Conjugate transpose)
*> \endverbatim
*>
*> \param[in] DIAG
Expand Down Expand Up @@ -138,7 +136,7 @@
*> \verbatim
*> RESID is REAL
*> The maximum over the number of right hand sides of
*> norm(op(A)*x - b) / ( norm(op(A)) * norm(x) * EPS ).
*> norm(op(A)*X - B) / ( norm(op(A)) * norm(X) * EPS ).
*> \endverbatim
*
* Authors:
Expand Down Expand Up @@ -200,7 +198,7 @@ SUBROUTINE CTRT02( UPLO, TRANS, DIAG, N, NRHS, A, LDA, X, LDX, B,
RETURN
END IF
*
* Compute the 1-norm of A or A**H.
* Compute the 1-norm of op(A).
*
IF( LSAME( TRANS, 'N' ) ) THEN
ANORM = CLANTR( '1', UPLO, DIAG, N, N, A, LDA, RWORK )
Expand All @@ -217,7 +215,7 @@ SUBROUTINE CTRT02( UPLO, TRANS, DIAG, N, NRHS, A, LDA, X, LDX, B,
END IF
*
* Compute the maximum over the number of right hand sides of
* norm(op(A)*x - b) / ( norm(op(A)) * norm(x) * EPS )
* norm(op(A)*X - B) / ( norm(op(A)) * norm(X) * EPS )
*
RESID = ZERO
DO 10 J = 1, NRHS
Expand Down
15 changes: 7 additions & 8 deletions TESTING/LIN/dtbt02.f
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,11 @@
*> \verbatim
*>
*> DTBT02 computes the residual for the computed solution to a
*> triangular system of linear equations A*x = b or A' *x = b when
*> A is a triangular band matrix. Here A' is the transpose of A and
*> x and b are N by NRHS matrices. The test ratio is the maximum over
*> the number of right hand sides of
*> norm(b - op(A)*x) / ( norm(op(A)) * norm(x) * EPS ),
*> where op(A) denotes A or A' and EPS is the machine epsilon.
*> triangular system of linear equations op(A)*X = B, when A is a
*> triangular band matrix. The test ratio is the maximum over the
*> number of right hand sides of
*> norm(op(A)*X - B) / ( norm(op(A)) * norm(X) * EPS ),
*> where op(A) = A, A**T, or A**H and EPS is the machine epsilon.
*> The norm used is the 1-norm.
*> \endverbatim
*
Expand Down Expand Up @@ -136,7 +135,7 @@
*> \verbatim
*> RESID is DOUBLE PRECISION
*> The maximum over the number of right hand sides of
*> norm(B - op(A)*X) / ( norm(op(A)) * norm(X) * EPS ).
*> norm(op(A)*x - b) / ( norm(op(A)) * norm(x) * EPS ).
*> \endverbatim
*
* Authors:
Expand Down Expand Up @@ -214,7 +213,7 @@ SUBROUTINE DTBT02( UPLO, TRANS, DIAG, N, KD, NRHS, AB, LDAB, X,
END IF
*
* Compute the maximum over the number of right hand sides of
* norm(B - op(A)*X) / ( norm(op(A)) * norm(X) * EPS ).
* norm(op(A)*x - b) / ( norm(op(A)) * norm(x) * EPS ).
*
RESID = ZERO
DO 10 J = 1, NRHS
Expand Down
21 changes: 10 additions & 11 deletions TESTING/LIN/dtpt02.f
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,11 @@
*> \verbatim
*>
*> DTPT02 computes the residual for the computed solution to a
*> triangular system of linear equations A*x = b or A'*x = b when
*> the triangular matrix A is stored in packed format. Here A' is the
*> transpose of A and x and b are N by NRHS matrices. The test ratio is
*> triangular system of linear equations op(A)*X = B, when the
*> triangular matrix A is stored in packed format. The test ratio is
*> the maximum over the number of right hand sides of
*> norm(b - op(A)*x) / ( norm(op(A)) * norm(x) * EPS ),
*> where op(A) denotes A or A' and EPS is the machine epsilon.
*> norm(op(A)*X - B) / ( norm(op(A)) * norm(X) * EPS ),
*> where op(A) = A or A**T, and EPS is the machine epsilon.
*> The norm used is the 1-norm.
*> \endverbatim
*
Expand All @@ -51,9 +50,9 @@
*> \verbatim
*> TRANS is CHARACTER*1
*> Specifies the operation applied to A.
*> = 'N': A *x = b (No transpose)
*> = 'T': A'*x = b (Transpose)
*> = 'C': A'*x = b (Conjugate transpose = Transpose)
*> = 'N': A * X = B (No transpose)
*> = 'T': A**T * X = B (Transpose)
*> = 'C': A**H * X = B (Conjugate transpose = Transpose)
*> \endverbatim
*>
*> \param[in] DIAG
Expand Down Expand Up @@ -123,7 +122,7 @@
*> \verbatim
*> RESID is DOUBLE PRECISION
*> The maximum over the number of right hand sides of
*> norm(op(A)*x - b) / ( norm(op(A)) * norm(x) * EPS ).
*> norm(op(A)*X - B) / ( norm(op(A)) * norm(X) * EPS ).
*> \endverbatim
*
* Authors:
Expand Down Expand Up @@ -183,7 +182,7 @@ SUBROUTINE DTPT02( UPLO, TRANS, DIAG, N, NRHS, AP, X, LDX, B, LDB,
RETURN
END IF
*
* Compute the 1-norm of A or A'.
* Compute the 1-norm of op(A).
*
IF( LSAME( TRANS, 'N' ) ) THEN
ANORM = DLANTP( '1', UPLO, DIAG, N, AP, WORK )
Expand All @@ -200,7 +199,7 @@ SUBROUTINE DTPT02( UPLO, TRANS, DIAG, N, NRHS, AP, X, LDX, B, LDB,
END IF
*
* Compute the maximum over the number of right hand sides of
* norm(op(A)*x - b) / ( norm(op(A)) * norm(x) * EPS ).
* norm(op(A)*X - B) / ( norm(op(A)) * norm(X) * EPS ).
*
RESID = ZERO
DO 10 J = 1, NRHS
Expand Down
23 changes: 11 additions & 12 deletions TESTING/LIN/dtrt02.f
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,11 @@
*> \verbatim
*>
*> DTRT02 computes the residual for the computed solution to a
*> triangular system of linear equations A*x = b or A'*x = b.
*> Here A is a triangular matrix, A' is the transpose of A, and x and b
*> are N by NRHS matrices. The test ratio is the maximum over the
*> number of right hand sides of
*> norm(b - op(A)*x) / ( norm(op(A)) * norm(x) * EPS ),
*> where op(A) denotes A or A' and EPS is the machine epsilon.
*> triangular system of linear equations op(A)*X = B, where A is a
*> triangular matrix. The test ratio is the maximum over the number of
*> right hand sides of
*> norm(op(A)*X - B) / ( norm(op(A)) * norm(X) * EPS ),
*> where op(A) = A or A**T, and EPS is the machine epsilon.
*> The norm used is the 1-norm.
*> \endverbatim
*
Expand All @@ -52,9 +51,9 @@
*> \verbatim
*> TRANS is CHARACTER*1
*> Specifies the operation applied to A.
*> = 'N': A *x = b (No transpose)
*> = 'T': A'*x = b (Transpose)
*> = 'C': A'*x = b (Conjugate transpose = Transpose)
*> = 'N': A * X = B (No transpose)
*> = 'T': A**T * X = B (Transpose)
*> = 'C': A**H * X = B (Conjugate transpose = Transpose)
*> \endverbatim
*>
*> \param[in] DIAG
Expand Down Expand Up @@ -132,7 +131,7 @@
*> \verbatim
*> RESID is DOUBLE PRECISION
*> The maximum over the number of right hand sides of
*> norm(op(A)*x - b) / ( norm(op(A)) * norm(x) * EPS ).
*> norm(op(A)*X - B) / ( norm(op(A)) * norm(X) * EPS ).
*> \endverbatim
*
* Authors:
Expand Down Expand Up @@ -193,7 +192,7 @@ SUBROUTINE DTRT02( UPLO, TRANS, DIAG, N, NRHS, A, LDA, X, LDX, B,
RETURN
END IF
*
* Compute the 1-norm of A or A'.
* Compute the 1-norm of op(A).
*
IF( LSAME( TRANS, 'N' ) ) THEN
ANORM = DLANTR( '1', UPLO, DIAG, N, N, A, LDA, WORK )
Expand All @@ -210,7 +209,7 @@ SUBROUTINE DTRT02( UPLO, TRANS, DIAG, N, NRHS, A, LDA, X, LDX, B,
END IF
*
* Compute the maximum over the number of right hand sides of
* norm(op(A)*x - b) / ( norm(op(A)) * norm(x) * EPS )
* norm(op(A)*X - B) / ( norm(op(A)) * norm(X) * EPS )
*
RESID = ZERO
DO 10 J = 1, NRHS
Expand Down
12 changes: 6 additions & 6 deletions TESTING/LIN/stbt02.f
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,11 @@
*> \verbatim
*>
*> STBT02 computes the residual for the computed solution to a
*> triangular system of linear equations op(A)*X = B when A is a
*> triangular band matrix. The test ratio is the maximum over the
*> triangular system of linear equations op(A)*X = B, when A is a
*> triangular band matrix. The test ratio is the maximum over the
*> number of right hand sides of
*> norm(b - op(A)*x) / ( norm(op(A)) * norm(x) * EPS ),
*> where op(A) denotes A or A' and EPS is the machine epsilon.
*> norm(op(A)*X - B) / ( norm(op(A)) * norm(X) * EPS ),
*> where op(A) = A or A**T, and EPS is the machine epsilon.
*> The norm used is the 1-norm.
*> \endverbatim
*
Expand Down Expand Up @@ -135,7 +135,7 @@
*> \verbatim
*> RESID is REAL
*> The maximum over the number of right hand sides of
*> norm(B - op(A)*X) / ( norm(op(A)) * norm(X) * EPS ).
*> norm(op(A)*x - b) / ( norm(op(A)) * norm(x) * EPS ).
*> \endverbatim
*
* Authors:
Expand Down Expand Up @@ -213,7 +213,7 @@ SUBROUTINE STBT02( UPLO, TRANS, DIAG, N, KD, NRHS, AB, LDAB, X,
END IF
*
* Compute the maximum over the number of right hand sides of
* norm(B - op(A)*X) / ( norm(op(A)) * norm(X) * EPS ).
* norm(op(A)*x - b) / ( norm(op(A)) * norm(x) * EPS ).
*
RESID = ZERO
DO 10 J = 1, NRHS
Expand Down
21 changes: 10 additions & 11 deletions TESTING/LIN/stpt02.f
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,11 @@
*> \verbatim
*>
*> STPT02 computes the residual for the computed solution to a
*> triangular system of linear equations A*x = b or A'*x = b when
*> the triangular matrix A is stored in packed format. Here A' is the
*> transpose of A and x and b are N by NRHS matrices. The test ratio is
*> triangular system of linear equations op(A)*X = B, when the
*> triangular matrix A is stored in packed format. The test ratio is
*> the maximum over the number of right hand sides of
*> norm(b - op(A)*x) / ( norm(op(A)) * norm(x) * EPS ),
*> where op(A) denotes A or A' and EPS is the machine epsilon.
*> norm(op(A)*X - B) / ( norm(op(A)) * norm(X) * EPS ),
*> where op(A) = A or A**T, and EPS is the machine epsilon.
*> The norm used is the 1-norm.
*> \endverbatim
*
Expand All @@ -51,9 +50,9 @@
*> \verbatim
*> TRANS is CHARACTER*1
*> Specifies the operation applied to A.
*> = 'N': A *x = b (No transpose)
*> = 'T': A'*x = b (Transpose)
*> = 'C': A'*x = b (Conjugate transpose = Transpose)
*> = 'N': A * X = B (No transpose)
*> = 'T': A**T * X = B (Transpose)
*> = 'C': A**H * X = B (Conjugate transpose = Transpose)
*> \endverbatim
*>
*> \param[in] DIAG
Expand Down Expand Up @@ -123,7 +122,7 @@
*> \verbatim
*> RESID is REAL
*> The maximum over the number of right hand sides of
*> norm(op(A)*x - b) / ( norm(op(A)) * norm(x) * EPS ).
*> norm(op(A)*X - B) / ( norm(op(A)) * norm(X) * EPS ).
*> \endverbatim
*
* Authors:
Expand Down Expand Up @@ -183,7 +182,7 @@ SUBROUTINE STPT02( UPLO, TRANS, DIAG, N, NRHS, AP, X, LDX, B, LDB,
RETURN
END IF
*
* Compute the 1-norm of A or A'.
* Compute the 1-norm of op(A).
*
IF( LSAME( TRANS, 'N' ) ) THEN
ANORM = SLANTP( '1', UPLO, DIAG, N, AP, WORK )
Expand All @@ -200,7 +199,7 @@ SUBROUTINE STPT02( UPLO, TRANS, DIAG, N, NRHS, AP, X, LDX, B, LDB,
END IF
*
* Compute the maximum over the number of right hand sides of
* norm(op(A)*x - b) / ( norm(op(A)) * norm(x) * EPS ).
* norm(op(A)*X - B) / ( norm(op(A)) * norm(X) * EPS ).
*
RESID = ZERO
DO 10 J = 1, NRHS
Expand Down
Loading