Can we optimize a matrix instead of a vector?
You can optimize (with respect to) a matrix variable, but the objective function has to evaluate to a scalar. Of course, that’s true for a vector as well.
For instance, let’s say you want to find the positive semi-definite matrix X which is closest in Frobenius norm to the 9 by 9 matrix C.
cvx_begin variable X(9,9) minimize(norm(X - C,'fro')) X == semidefinite(9) cvx_end