```
cvx_begin
variable joe_blow(2,2) symmetric
joe_blow(1,2) >= 2 % or more generally constrain ( == ) to some affine function of matrix or scalar variables
minimize(sum(sum(joe_blow)))
joe_blow == semidefinite(2)
cvx_end
```

Of course this can be generalized to larger problems, and with block (matrix) elements of larger matrix.

Or build up the block diagonal matrix and strict upper triangle `U`

as an expression from smaller matrix and scalar variables. Then form the expression `block_diagonal_matrix + U + U'`

There are other variations you can do.

I have no idea, what, if any, the differences in formulations provided by CVX to the solver are, and whether some ways of specifying the problems differ in CVX modeling time, solver time, and CVX and solver memory usage.