Optimizing log of absolute affine function

My optimization problem is

    variable w(n,1) complex 
    maximize (mean(log(abs(w'*x))))
    subject to
       a'*w == 1

where x is a complex matrix and a is a complex vector.

The objective function is concave as the Hessian is negative semidefinite but error occurred when solving this problem using cvx. It shows “Disciplined convex programming
error: Illegal operation: log( {convex} )”
. May I know what’s wrong with my formulation?


log is a concave function whose argument in CVX must be concave (per help cvx/log), but abs is a convex function, hence the illegal operation message.

What is the value of x? Can you reformulate without using abs, such that the argument of log is a concave function (affine is o.k., as that is concave)?

That is not correct. The objective function is not concave.