Last data update: 2014.03.03

R: Positive or Negative Semidefiniteness
semidefinitenessR Documentation

Positive or Negative Semidefiniteness

Description

Check whether a symmetric matrix is positive or negative semidefinite.

Usage

semidefiniteness( m, positive = TRUE, tol = .Machine$double.eps,
   method = "det" )

Arguments

m

a quadratic matrix or a list containing quadratic matrices.

positive

logical. Check for positive (TRUE, default) or negative (FALSE) semidefiniteness.

tol

tolerance level (values between -tol and tol are considered to be zero).

method

method to test for semidefiniteness, either "det" (the textbook method: checking for the signs of the determinants of sub-matrices) or "eigen" (checking for the signs of the eigen values).

Details

Please note that a matrix can be neither positive nor negative semidefinite or positive and negative semidefinite at the same time.

Value

semidefiniteness returns a locigal value or a logical vector (if argument m is a list) indicating whether the matrix (or each of the matrices) is positive/negative (depending on argument positive) semidefinite.

Author(s)

Arne Henningsen

References

Chiang, A.C. (1984) Fundamental Methods of Mathematical Economics, 3rd ed., McGraw-Hill.

Examples

   # a positive semidefinite matrix
   semidefiniteness( matrix( 1, 3, 3 ))

   # a negative semidefinite matrix
   semidefiniteness( matrix(-1, 3, 3 ), positive = FALSE )

   # a matrix that is positive and negative semidefinite
   semidefiniteness( matrix( 0, 3, 3 ))
   semidefiniteness( matrix( 0, 3, 3 ), positive = FALSE )

   # a matrix that is neither positive nor negative semidefinite
   semidefiniteness( matrix( 1:9, 3, 3 ))
   semidefiniteness( matrix( 1:9, 3, 3 ), positive = FALSE )

Results