1

I am trying to deal with an issue: I am trying to determine the nature of some points, that's why I need to check in Matlab if a matrix with complex elements is positive or negative definite. After performing some research, I came to the following two methods:

  1. Calculate the eigenvalues and see if it is positive/negative;

        eig(matrix)
    

    If the eigenvalues are positive => matrix is positive definite; Else, if eigenvalues are negative => matrix is negative definite;

  2. Use the following function:

        [R P] = chol(matrix)
    

    If p is 0 => you have a positive definite matrix; otherwise, your matrix is NOT positive definite.

My problem is that I have two complex eigenvalues (and my symmetric matrix has complex elements), therefore, method 1 doesn't help me to draw any conclusion. And the method 2, doesn't give me information whether the matrix is negative definite or indefinite, because it tests only if the matrix is positive definite or not, therefore, doesn't solve my problem.

Does any one have any idea how I can check if a matrix with complex eigenvalues is positive or negative definite with other methods than the mentioned ones? Thank you.

LATER EDIT:

My function is: 11.*x1 + 22.*x1.^2.*x2 + x2.^2 + 31.*x1.^2;

I have done the partial derivative with respect to x1, x2 and I have equalized all the obtained relations with 0. Therefore, I have obtained the following system:

62*x1 + 44*x1*x2 + 11 = 0

22*x1^2 + 2*x2 = 0

from here, I got x1 having the following possible values: {0.333, -0.1025 + 0.2403i, -0.1025 - 0.2403i} and x2 having the following values: {-1.22, 0.5197 + 0.5417i, 0.5197 - 0.5417i}

My Hessian looks something like:

( 62+44*x2 44*x1)

( 44*x1 2 )

After taking the 3 possible pairs of (x1,x2) I obtain three values for the Hessian matrix. For the first (x1,x2) pair everything is ok => I have a saddle, since I have 2 real eigenvalues of opposite signs. The difficulties comes with the others, because intuitively I would say that we cannot determine the nature of those points, but I came across to the following idea, while surfing the internet for finding an explanation:

-if A belongs to Mn(C) and

1) Re(x_star * A * x) > 0 => A positive definite.

2) Re(x_star * A * x) < 0 => A negative definite.

(according to http://mathworld.wolfram.com/PositiveDefiniteMatrix.html)

So, I am a bit confused :-?

  • If there are complex non-real eigenvalues the matrix cannot definite: neither positive nor negative. – DonAntonio Mar 18 '13 at 12:38
  • For systems modeling you may only care about the real part of the eigenvalue which will determine stability/instability – karakfa Mar 18 '13 at 13:11
  • That's a good point, but I have to determine if I have a stationary point that's a minimun/maximum/saddle. – SunnyDay Mar 18 '13 at 13:45

2 Answers2

5

Taken from here:

A necessary and sufficient condition for a complex matrix $A$ to be positive definite is that the Hermitian part $$A_H=\frac{1}{2}(A+A^H)$$ where $A^H$ denotes the conjugate transpose, be positive definite.

So, you can build a Hermitian part and then check if it is positive definite, e.g. by looking at its eigenvalues (which are real for hermitian matrices)

dmytro
  • 352
1

Well i guess for symmetric complex matrices the word "positiv definite" is senseless in general, for hermitian matrices there is a intepretation, we defined a matrix to be positiv definite if $$\langle x, A x \rangle> 0$$ for $x\neq 0$, but this definition makes no sense when you expect complex numbers, as there is no order in the complex numbers.

What do you mean with the nature of some points? Maybe you don't need to do that.

  • That's true, thank you. I need to determine whether my matrix (actually, it is a Hessian matrix) is positive definite/negative definite/indefinite so that I can determine if I am dealing with minimum or maximum stationary points or with a saddle. – SunnyDay Mar 18 '13 at 13:44
  • @cropcircles how you define maximum minimum or stationary point in complex numbers? – Dominic Michaelis Mar 18 '13 at 13:45
  • I know that since there's no order in complex numbers, it's improper to say minimum/maximum (since that implies a relation to be established. – SunnyDay Mar 18 '13 at 13:48
  • i mean your function is complex, as it is holomorphic (and not constant) it will be open, so you always get complex parts, where do you face the problem? maybe give us the whole problem – Dominic Michaelis Mar 18 '13 at 13:50
  • @Cropcircles i would see it as a real valued function, and ignore the complex zeroes – Dominic Michaelis Mar 18 '13 at 16:51