You might have heard about Stephen Boyd who is a professor in the department of Electrical Engineering at Stanford University. He came here to EPFL about a week ago to give a talk about “Convex Optimization” problems. I had already heard that he was a great lecturer but his teaching abilities were beyond my expectations.

During his talk he mentioned to one of the toolboxes which have been developed in his group to solve Convex Optimization problems. I have found this package sometime ago to solve a rate optimization problem and fount it quite convenient to use. After the talk, I thought that it would be good idea to introduce it here. The name of the package is CVX and it is written under MATLAB.

As an example, in order to solve the following problem

$latex \mathrm{minimize}\ ||Ax-b||_2$
$latex \mathrm{subject\ to}\ l \le x \le u$

one can simply write the following lines of code in MATLAB:

10 cvx_begin
20 variable x(n);
30 minimize( norm(A*x-b) );
40 subject to
50 l <= x <= u;
60 cvx_end

For more information and documentation you may want to refer to the CVX Research page.

P.S.: One thing I’d like about Stephen Boyd is that all of his books and softwares are available online for free.

2 Responses to “CVX: a toolbox to solve convex optimization problems”

1. For technical posts, you may want to write the entire thing in LaTeX and then use “LaTeX to WordPress” to produce a wordpress code that you can paste in your blog. Link: http://lucatrevisan.wordpress.com/latex-to-wordpress/

2. @MCH
Yes, I’ve seen this before but I didn’t have time to test it!
I think it should make writing technical stuff very simple! 🙂