convex optimization
- To: mathgroup at smc.vnet.net
- Subject: [mg92337] convex optimization
- From: Art <grenander at gmail.com>
- Date: Sat, 27 Sep 2008 22:23:11 -0400 (EDT)
I am reading the excellent text by Boyd and Vandenberghe on Convex
Optimization. They have nice software accompanying the book they
provide for free to try the many examples in the book, but not in
Mathematica.
I was wondering what is the range of Mathematica's functionality in
this area. Many of the optimization problems can be very concisely
stated in Mathematica. Does it have SDP and 2nd-order cone programs?
I just tried and was surprised it easily solved this sparse
approximation problem:
n = 100; m = 200;
A = RandomReal[NormalDistribution[0, 1], {n, m}];
b = RandomReal[NormalDistribution[0, 1], n];
xs = Array[x, m];
res = NMinimize[{Norm[xs, 1], A.xs == b}, xs];
soln = Flatten[xs /. res[[2]]];
Total at Chop[A.soln - b] == 0
True