Assume I have a variable v \in \mathbb{C}^{N\times N}, defined as variable v(N,N) complex. Now, when I do log(1+v), in constraint/optimization problem, CVX says,
Disciplined convex programming information:
log(X) is concave and nondecreasing in X. When used in CVX
expressions, X must be concave.
Disciplined geometric programming information:
log(X) is typically not used in geometric programs. Technically it
possible to do so in certain advanced cases, because monomials and
posynomials are treated by CVX as log-affine and log-convex
constructs, respectively. However, such usage is undocumented and
will not be officially supported.
If v is real and >= 0, then abs(v) can be replaced by v, and the LHS would be concave, making the constraint convex. The is because log(affne) is concave.
if a is a double precision real number, and v is a CVX variable, CVX should accept log(1+a*v). It will not accept log(1+a*abs(v)) because abs(v) is convex.