Triangular Decomposition of a Hermitian Matrix

DESCRIPTION:
Computes a symmetric indefinite factorization of a real symmetric or complex Hermitian Matrix.

USAGE:
lu.Hermitian(x, lower = T, norm.comp = T, tune = <see below>,
             workspace = <see below>)

REQUIRED ARGUMENTS:
x:
a real symmetric or complex Hermitian matrix. Missing values (NAs) are not allowed.

OPTIONAL ARGUMENTS:
lower:
a logical variable telling whether to use the lower or upper triangle of the matrix for the factorization. The default is to select the lower triangle.
norm.comp:
a logical variable telling whether or not to compute the one or infinity norm of the matrix and return it as an attribute. The norm should be computed if solve is going to eventually be applied to the factorization with condition estimation. The default is to compute the norm.
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 symmetric indefinite factorization of x is returned as an object of class c("lu.Hermitian", "decomp"). A copy of the call to lu.Hermitian is included as an attributes, as is the one or infinity norm of the matrix if requested (used for condition estimation).

DETAILS:
Based on the functions dsytrf and zhetrf from LAPACK (Anderson et al. 1994). For any symmetric (Hermitian) matrix X, there is a row permutation P, a triangular matrix T whose diagonal elements equal 1, and a block diagonal matrix B with either 1 by 1 or symmetric 2 by 2 blocks on the diagonal, such that P X t(P) = T B t(T). The matrix T is either lower or upper triangular (depending on which triangle is selected by lower). This product is called a symmetric indefinite factorization of X. If all of the blocks of B are 1 by 1 (i. e. B is diagonal), and if all of the diagonal elements of B are positive, the the matrix is positive definite and the factorization is a variant of the Cholesky decomposition with pivoting.

REFERENCES:
Anderson, E., et al. (1994). LAPACK User's Guide, 2nd edition, SIAM, Philadelphia.

SEE ALSO:
expand.lu.Hermitian , facmul.lu.Hermitian , .laenv , lu.Hermitian.object , lu.Matrix .

EXAMPLES:
 n <- 5
 x <- Matrix( rnorm(n*n), nrow = n, ncol = n)
 x[row(x) > col(x)] <- t(x)[row(x) > col(x)]  # construct symmetric matrix
 class(x) <- Matrix.class(x)
 lu(x)                           # symmetric indefinite factorization of A