Is there any way to solve generalized eigenvalue problem in CVX?

If you are just trying to “solve” the generalized eigenvalue problem, use the form of MATLAB’s eig with two input arguments eig(A,B). This does not involve CVX.

If you wish to “involve” CVX in the process, you can put cvx_begin before eig and cvx_end after eig. Then in some meaningless sense, you can say the problem was solved “in” CVX.

Do you have something specific you are trying to accomplish? Do you have a real problem you are trying to solve, or is this for a school assignment?

I am trying to solve the following problem

minimize \lambda

subject to

XA+A’X < 2*\lambda*X

X > 0

Where X and \lambda are unknown.

I can solve this problem in LMI toolbox using gevp solver. I want to solve this problem in CVX toolbox.

Your problem is quasi-convex, so you can use the bisection method described in section 4.2.5 “Quasiconvex optimization” of Boyd and Vandenberghe “Convex Optimization” https://web.stanford.edu/~boyd/cvxbook/bv_cvxbook.pdf . CVX can be used to solve the LMIs within the bisection algorithm.

Strict inequalities will be interpreted as non-strict inequalities, so because of the homogeneity, you’ll need to do something to prevent X = zero matrix from occurring as a solution (with any lamnda) So, as one way of doing so, force X to be positive definite, such as X - eye(size(x)) == semidefinite(size(X)). That won’t affect optimal lambda.

Hi,

I’d appreciate it if you shared your solution. I’m still struggling to solve a gevp in CVX toolbox.