From d5c30c90bdecf38da1064e2ed52583634573e741 Mon Sep 17 00:00:00 2001 From: julie Date: Tue, 1 Nov 2011 22:02:31 +0000 Subject: Never say never... --- SRC/zgbsvxx.f | 69 ++++++++++++++++++++--------------------------------------- 1 file changed, 23 insertions(+), 46 deletions(-) (limited to 'SRC/zgbsvxx.f') diff --git a/SRC/zgbsvxx.f b/SRC/zgbsvxx.f index 390ec7fa..955df209 100644 --- a/SRC/zgbsvxx.f +++ b/SRC/zgbsvxx.f @@ -178,14 +178,12 @@ *> The j-th column of A is stored in the j-th column of the *> array AB as follows: *> AB(KU+1+i-j,j) = A(i,j) for max(1,j-KU)<=i<=min(N,j+kl) -*> \endverbatim -*> \verbatim +*> *> If FACT = 'F' and EQUED is not 'N', then AB must have been *> equilibrated by the scaling factors in R and/or C. AB is not *> modified if FACT = 'F' or 'N', or if FACT = 'E' and *> EQUED = 'N' on exit. -*> \endverbatim -*> \verbatim +*> *> On exit, if EQUED .ne. 'N', A is scaled as follows: *> EQUED = 'R': A := diag(R) * A *> EQUED = 'C': A := A * diag(C) @@ -208,13 +206,11 @@ *> and the multipliers used during the factorization are stored *> in rows KL+KU+2 to 2*KL+KU+1. If EQUED .ne. 'N', then AFB is *> the factored form of the equilibrated matrix A. -*> \endverbatim -*> \verbatim +*> *> If FACT = 'N', then AF is an output argument and on exit *> returns the factors L and U from the factorization A = P*L*U *> of the original matrix A. -*> \endverbatim -*> \verbatim +*> *> If FACT = 'E', then AF is an output argument and on exit *> returns the factors L and U from the factorization A = P*L*U *> of the equilibrated matrix A (see the description of A for @@ -234,13 +230,11 @@ *> contains the pivot indices from the factorization A = P*L*U *> as computed by DGETRF; row i of the matrix was interchanged *> with row IPIV(i). -*> \endverbatim -*> \verbatim +*> *> If FACT = 'N', then IPIV is an output argument and on exit *> contains the pivot indices from the factorization A = P*L*U *> of the original matrix A. -*> \endverbatim -*> \verbatim +*> *> If FACT = 'E', then IPIV is an output argument and on exit *> contains the pivot indices from the factorization A = P*L*U *> of the equilibrated matrix A. @@ -380,37 +374,31 @@ *> For each right-hand side, this array contains information about *> various error bounds and condition numbers corresponding to the *> normwise relative error, which is defined as follows: -*> \endverbatim -*> \verbatim +*> *> Normwise relative error in the ith solution vector: *> max_j (abs(XTRUE(j,i) - X(j,i))) *> ------------------------------ *> max_j abs(X(j,i)) -*> \endverbatim -*> \verbatim +*> *> The array is indexed by the type of error information as described *> below. There currently are up to three pieces of information *> returned. -*> \endverbatim -*> \verbatim +*> *> The first index in ERR_BNDS_NORM(i,:) corresponds to the ith *> right-hand side. -*> \endverbatim -*> \verbatim +*> *> The second index in ERR_BNDS_NORM(:,err) contains the following *> three fields: *> err = 1 "Trust/don't trust" boolean. Trust the answer if the *> reciprocal condition number is less than the threshold *> sqrt(n) * dlamch('Epsilon'). -*> \endverbatim -*> \verbatim +*> *> err = 2 "Guaranteed" error bound: The estimated forward error, *> almost certainly within a factor of 10 of the true error *> so long as the next entry is greater than the threshold *> sqrt(n) * dlamch('Epsilon'). This error bound should only *> be trusted if the previous boolean is true. -*> \endverbatim -*> \verbatim +*> *> err = 3 Reciprocal condition number: Estimated normwise *> reciprocal condition number. Compared with the threshold *> sqrt(n) * dlamch('Epsilon') to determine if the error @@ -419,8 +407,7 @@ *> appropriately scaled matrix Z. *> Let Z = S*A, where S scales each row by a power of the *> radix so all absolute row sums of Z are approximately 1. -*> \endverbatim -*> \verbatim +*> *> See Lapack Working Note 165 for further details and extra *> cautions. *> \endverbatim @@ -431,14 +418,12 @@ *> For each right-hand side, this array contains information about *> various error bounds and condition numbers corresponding to the *> componentwise relative error, which is defined as follows: -*> \endverbatim -*> \verbatim +*> *> Componentwise relative error in the ith solution vector: *> abs(XTRUE(j,i) - X(j,i)) *> max_j ---------------------- *> abs(X(j,i)) -*> \endverbatim -*> \verbatim +*> *> The array is indexed by the right-hand side i (on which the *> componentwise relative error depends), and the type of error *> information as described below. There currently are up to three @@ -446,26 +431,22 @@ *> componentwise accuracy is not requested (PARAMS(3) = 0.0), then *> ERR_BNDS_COMP is not accessed. If N_ERR_BNDS .LT. 3, then at most *> the first (:,N_ERR_BNDS) entries are returned. -*> \endverbatim -*> \verbatim +*> *> The first index in ERR_BNDS_COMP(i,:) corresponds to the ith *> right-hand side. -*> \endverbatim -*> \verbatim +*> *> The second index in ERR_BNDS_COMP(:,err) contains the following *> three fields: *> err = 1 "Trust/don't trust" boolean. Trust the answer if the *> reciprocal condition number is less than the threshold *> sqrt(n) * dlamch('Epsilon'). -*> \endverbatim -*> \verbatim +*> *> err = 2 "Guaranteed" error bound: The estimated forward error, *> almost certainly within a factor of 10 of the true error *> so long as the next entry is greater than the threshold *> sqrt(n) * dlamch('Epsilon'). This error bound should only *> be trusted if the previous boolean is true. -*> \endverbatim -*> \verbatim +*> *> err = 3 Reciprocal condition number: Estimated componentwise *> reciprocal condition number. Compared with the threshold *> sqrt(n) * dlamch('Epsilon') to determine if the error @@ -476,8 +457,7 @@ *> current right-hand side and S scales each row of *> A*diag(x) by a power of the radix so all absolute row *> sums of Z are approximately 1. -*> \endverbatim -*> \verbatim +*> *> See Lapack Working Note 165 for further details and extra *> cautions. *> \endverbatim @@ -496,8 +476,7 @@ *> that entry will be filled with default value used for that *> parameter. Only positions up to NPARAMS are accessed; defaults *> are used for higher-numbered parameters. -*> \endverbatim -*> \verbatim +*> *> PARAMS(LA_LINRX_ITREF_I = 1) : Whether to perform iterative *> refinement or not. *> Default: 1.0D+0 @@ -505,8 +484,7 @@ *> computed. *> = 1.0 : Use the extra-precise refinement algorithm. *> (other values are reserved for future use) -*> \endverbatim -*> \verbatim +*> *> PARAMS(LA_LINRX_ITHRESH_I = 2) : Maximum number of residual *> computations allowed for refinement. *> Default: 10 @@ -516,8 +494,7 @@ *> Gaussian elimination, the guarantees in *> err_bnds_norm and err_bnds_comp may no longer be *> trustworthy. -*> \endverbatim -*> \verbatim +*> *> PARAMS(LA_LINRX_CWISE_I = 3) : Flag determining if the code *> will attempt to find a solution with small componentwise *> relative error in the double-precision algorithm. Positive -- cgit v1.2.3