If you're looking for something less pricey... I highly recommend Stephen Boyd's book (free here: <a href="http://www.stanford.edu/~boyd/cvxbook/" rel="nofollow">http://www.stanford.edu/~boyd/cvxbook/</a>), as well as his cvx matlab toolbox. There are also some video lectures which might be less mind-numbing (<a href="http://www.stanford.edu/class/ee364a/index.html" rel="nofollow">http://www.stanford.edu/class/ee364a/index.html</a>).