None.
If on entry
${\mathbf{ifail}}=0$ or
$\mathrm{-1}$, explanatory error messages are output on the current error message unit (as defined by
x04aaf).
Innerproducts are accumulated using
additional precision arithmetic and full machine accuracy should be obtained except when
${\mathbf{cc}}>0.99999$. (See
Section 9.)
Background information to multithreading can be found in the
Multithreading documentation.
Please consult the
X06 Chapter Introduction for information on how to control and interrogate the OpenMP environment used within this routine. Please also consult the
Users' Note for your implementation for any additional implementation-specific information.
Arguments
cc and
icol have been included to give some indication of whether or not the vectors are nearly linearly independent, and their values should always be tested on exit from the routine.
cc will be in the range
$[0.0,1.0]$ and the closer
cc is to
$1.0$, the more likely the vector
icol is to be linearly dependent on vectors
n1 to
${\mathbf{icol}}-1$. Theoretically, when the vectors are linearly dependent,
cc should be exactly
$1.0$. In practice, because of rounding errors, it may be difficult to decide whether or not a value of
cc close to
$1.0$ indicates linear dependence. As a general guide a value of
${\mathbf{cc}}>0.99999$ usually indicates linear dependence, but examples exist which give
${\mathbf{cc}}>0.99999$ for linearly independent vectors. If one of the original vectors is zero or if, possibly due to rounding errors, an exactly zero vector is produced by the Gram–Schmidt process, then
cc is set exactly to
$1.0$ and the vector is not, of course, normalized. If more than one such vector occurs then
icol references the last of these vectors.
If you are concerned about testing for near linear dependence in a set of vectors you may wish to consider using routine
f08kbf.
This example orthonormalizes columns 2, 3 and 4 of the matrix: