Path: news.mathworks.com!not-for-mail
From: <HIDDEN>
Newsgroups: comp.soft-sys.matlab
Subject: Re: How to solve this non-convex quadratically constrained quadratic programming
Date: Thu, 19 Apr 2012 15:35:13 +0000 (UTC)
Organization: Xoran Technologies
Lines: 19
Message-ID: <jmpbbh$n13$1@newscl01ah.mathworks.com>
References: <3072521.689.1334707719706.JavaMail.geo-discussion-forums@ynmm9> <jmljp0$jbi$1@newscl01ah.mathworks.com> <16329087.1512.1334757550839.JavaMail.geo-discussion-forums@ynmm10> <jmofmi$q63$1@newscl01ah.mathworks.com>
Reply-To: <HIDDEN>
NNTP-Posting-Host: www-02-blr.mathworks.com
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: newscl01ah.mathworks.com 1334849713 23587 172.30.248.47 (19 Apr 2012 15:35:13 GMT)
X-Complaints-To: news@mathworks.com
NNTP-Posting-Date: Thu, 19 Apr 2012 15:35:13 +0000 (UTC)
X-Newsreader: MATLAB Central Newsreader 1440443
Xref: news.mathworks.com comp.soft-sys.matlab:765193

"David Epstein" <David.Epstein.spam@remove.warwick.ac.uk> wrote in message <jmofmi$q63$1@newscl01ah.mathworks.com>...
>
> I had a quick look at Bruno's code, but I didn't understand it. I assume it's a very good implementation of Lagrange Multipliers, applied to this particular situation. So it seems like an excellent start, though it doesn't seem all that likely that changing only one or two lines would be much of a help. I'm probably thinking too much like a pure mathematician. A lot depends on where your X comes from.
====================

I also don't understand it. I can see that the code is recasting the problem as

min. x'*H*x-g'*x
s.t. norm(x)*2=1

The Lagrange Multiplier equations for this, I find to be

(H-lambda*I)*x=g

It is also clear to me that the required lambda will be the optimal objective function value, so minimizing or maximizing lambda corresponds to minimizing or maximizing the objective.

However, I cannot see how the above Lagrange multiplier equations are equivalent to the quadratic eigenvalue problem

(  (H*H - g*g') + (-2*H)*lambda + I*lambda^2 )*x=0