{concave} - {concave}

f1 and g1 are both concave. Hence the error message for {concave} - {concave}, which is not allowed by CVX"s DCP rules.

I don’t know what you intend to do with Mq, so perhaps there is a way of writing the code which does not require forming M1.

Your first step is to probe your optimization problem is convex.