Learn R Programming

rags2ridges (version 1.2)

evaluateS: Evaluate numerical properties square matrix

Description

Function that evaluates various numerical properties of a square input matrix. The intended use is to evaluate the various numerical properties of what is assumed to be a covariance matrix. Another use is to evaluate the various numerical properties of a (regularized) precision matrix.

Usage

evaluateS(S, verbose = TRUE)

Arguments

S
Covariance or (regularized) precision matrix.
verbose
A logical indicating if output should be printed on screen.

Value

  • symmA logical indicating if the matrix is symmetric.
  • realEigenA logical indicating if the eigenvalues are real.
  • posEigenA logical indicating if the eigenvalues are strictly positive.
  • ddA logical indicating if the matrix is diagonally dominant.
  • traceA numerical giving the value of the trace.
  • detA numerical giving the value of the determinant.
  • condNumberA numerical giving the value of the spectral condition number.

Details

The function evaluates various numerical properties of a covariance or precision input matrix. The function assesses if the input matrix is symmetric, if all its eigenvalues are real, if all its eigenvalues are strictly positive, and if it is a diagonally dominant matrix. In addition, the function calculates the trace, the determinant, and the spectral condition number of the input matrix. See, e.g., Harville (1997) for more details on the mentioned (numerical) matrix properties.

References

Harville, D.A.(1997). Matrix algebra from a statistician's perspective. New York: Springer-Verlag.

See Also

covML, ridgeS, symm

Examples

Run this code
## Obtain some (high-dimensional) data
p = 25
n = 10
set.seed(333)
X = matrix(rnorm(n*p), nrow = n, ncol = p)
colnames(X)[1:25] = letters[1:25]
Cx <- covML(X)

## Evaluate numerical properties covariance matrix
## Obtain, e.g., value trace
Seval <- evaluateS(Cx); Seval
Seval$trace		

## Evaluate numerical properties precision matrix after regularization
P <- ridgeS(Cx, lambda = 10, type = 'Alt')
Peval <- evaluateS(symm(P)); Peval

Run the code above in your browser using DataLab