Isposdef or isspd?

The docs say:

help?> isposdef
search: isposdef isposdef!

  isposdef(A) -> Bool

  Test whether a matrix is positive definite.

     Example
    ≡≡≡≡≡≡≡≡≡

  julia> A = [1 2; 2 50]
  2×2 Array{Int64,2}:
   1   2
   2  50
  
  julia> isposdef(A)
  true

But the following matrix (c.f. Wikipedia) is not correctly identified as positive definite:

julia> M = [1 1;-1 1]
2×2 Array{Int64,2}:
  1  1
 -1  1

julia> isposdef(M)
false

There is some confusion in the literature about whether a positive definite matrix is also symmetric (or more generally Hermitian), but this could be clarified by introducing isspd (or some other name).

The main question is, what would this be useful for? SPD matrices have a whole branch of LAPACK dedicated to them. Not sure non-symmetric positive matrices have any nice properties that could be used for algorithms?

4 Likes