3
$\begingroup$

I'm doing some calculations and I want to simulate them in python or matlab (or whatever). However I use hermitian matrices and I don't really manage to find a library which enables me to calculate primal problems in complex form.

Do you know of any obvious extension to the real problem to calculate the problem using real numbers?

The extension of taking a matrix $A = A_{R} + i A_{I}$ and then construct $$\tilde A = \begin{pmatrix} A_R & -A_I \\ -A_I & A_R \end{pmatrix} $$ will NOT work since in general (and unfortunately in my case too) $\tilde A \neq \tilde{A}^T$, which is needed for real semi definite programs.

So the questions are:

  1. Does anyone knows of some software allowing complex semidefinite programming?
  2. Does anyone knows about some algorithm to implement in python to solve primal problems of semidefinite programs?

Let me know if the questions are unclear.

$\endgroup$
  • $\begingroup$ What are you asking for? If you know what the algebraic equations are, it's relatively straightforward to program the matrix operations in whatever language you're familiar with. I notice a large collection of functions in MatLab containing the word "hermitian," for example. $\endgroup$ – Carl Witthoft Aug 12 '14 at 11:41
  • $\begingroup$ Maybe my question has not been stated clearly, I can modify is, but the question is if anyone knows about semi-definite programming software that allows Complex-valued matrices. Cvxopt (for Python) for example does not allow them. In case nobody knows of such a software or library, if someone knows about some algorithm for solving complex semidefinite programs. $\endgroup$ – Ognan Aug 12 '14 at 12:31
  • 5
    $\begingroup$ Would Computational Science be a better home for this question? $\endgroup$ – Emilio Pisanty Aug 12 '14 at 12:42
  • $\begingroup$ probably, I'm sorry, I didn't know it existed... $\endgroup$ – Ognan Aug 13 '14 at 15:29
1
$\begingroup$

You may use PICOS for Python: "PICOS is a user friendly interface to several conic and integer programming solvers, very much like YALMIP under MATLAB."

Since the version 1.0.1, it is possible to do complex semidefinite programming with Picos: http://picos.zib.de/v101dev/complex.html

$\endgroup$
  • $\begingroup$ Yes, although I had some problems with PICOS, I got errors when the program was turning the problem to real through some method. Do you know if YALMIP also works for complex matrices? Because I haven't been able to find in the documentation specifically if it works for hermitian (or at least complex matrices) $\endgroup$ – Ognan Aug 13 '14 at 13:43
  • 1
    $\begingroup$ @Ognan, I never used YALMIP with complex matrices but I gave a peek in the manual and it seems that it also supports complex matrices: users.isy.liu.se/johanl/yalmip/pmwiki.php?n=Tutorials.Complex $\endgroup$ – shamisen Aug 13 '14 at 13:55
  • 1
    $\begingroup$ Thank you very much, I really don't know why I didn't see it before :) Thanks again $\endgroup$ – Ognan Aug 13 '14 at 15:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.