Learn R Programming

stsm (version 1.7)

force.defpos: Force Positive Definiteness of a Matrix

Description

This function transforms a matrix to be positive definite.

Usage

force.defpos(m, tol = 0.001, debug = FALSE)

Arguments

m
a matrix.
tol
tolerance.
debug
logical. If TRUE, it is checked that the output matrix is positive definite.

Value

  • A positive definite matrix.

Details

The scoring algorithm maxlik.fd.scoring requires a positive definite matrix to project the gradient into the optimal direction. If that matrix happens to be non-positive definite then the matrix $M$ is transformed as described in Pollock (1999) pp. 341-342:$$M = M + (\mu - \kappa) I$$where $I$ is the identity matrix, $\mu$ is a tolerance value and $\kappa$ is the smallest eigenvalue of $M$.Other alternatives are discussed in Nocedal and Wright (2006) chapter 3.

References

Nocedal, J. and Wright, J. W. (2006). Numerical Optimization. Springer-Verlag.

Pollock, D.S.G. (1999). A Handbook of Time-Series Analysis Signal Processing and Dynamics. Academic Press.