Condition Estimation for Hermitian Matrices

DESCRIPTION:
Computes an estimate of the reciprocal condition number for a real symmetric and complex Hermitian matrix.

USAGE:
rcond.Hermitian(x, lower=T, tune, workspace)

REQUIRED ARGUMENTS:
x:
A real symmetric or complex Hermitian Matrix inheriting from class "Hermitian".

OPTIONAL ARGUMENTS:
lower:
a logical variable telling whether to use the lower or upper triangle of the matrix for the factorization used to compute the determinant. The default is to select the lower triangle.
tune:
a integer vector or list of named tuning parameters that may affect computational efficiency. The relevant parameters are the blocksize parameters NB and NBMIN as described in .laenv.
workspace:
workspace provided to the underlying software. The default is to use the optimum value relative to the tuning parameters. The optimal workspace for the problem (for the tuning parameters) is included as part of the output attributes.

VALUE:
A numeric value of class "rcond", representing the reciprocal one or infinity norm condition estimate. A copy of the call to "rcond" is returned as an attribute.

DETAILS:
Based on the functions dsytrf, dsycon, zhetrf, zhecon from Lapack (Anderson et al. (1994)). The condition number of a square matrix is the product of the norm of that matrix and the norm of its inverse. Its values fall in the range [1, Inf), where a value of Inf would imply a singular matrix. A matrix is said to be ill-conditioned if its has a large condition number. Another way to view a condition number of a matrix is as a factor by which errors for solutions to systems of equations with that matrix as coefficient matrix can be multiplied. Condition numbers usually are estimated rather than computed exactly for reasons of efficiency.

REFERENCES:
Anderson, E., et al. (1994). LAPACK User's Guide, 2nd edition, SIAM, Philadelphia. Golub, G., and Van Loan, C. F. (1989). Matrix Computations, 2nd edition, Johns Hopkins, Baltimore.

SEE ALSO:
rcond.Matrix , rcond.eigen.Hermitian

EXAMPLES:
x <- Matrix( sample(-3:3, size = 9, replace = T), nrow = 3, ncol = 3)
x[row(x) > col(x)] <- t(x)[row(x) > col(x)]  # construct symmetric matrix
class(x) <- Matrix.class(x)
rcond(x)