Hi,
I have a scalar that is convex and real, lets say “x”.
when trying to multiply it with -1jx I get the following error:
Disciplined convex programming error:
Cannot perform the operation: {complex affine} . {convex}
Now although some may argue that -1j is in fact a affine function, I should note that multiplying x by real scalar is fine.
Am I missing something?
the difference between a concave expression and a convex expression;
the product of a concave expression and a nonnegative constant;
the product of a convex expression and a nonpositive constant;
the negation of a convex expression.
You will not see in these lists a provision for multiplying a convex expression by an imaginary or complex number. Hence your error message.
Let x be a CVX variable. Consider the convex expression x^2. Then consider the expression 2*x^2; that is also convex. What is the convexity of 1j*x^2 or -1j*x^2 ; they are neither convex nor concave, so CVX will not allow them.
Thanks for the explantion!
I do wonder though, is it possible in cvx framework to fft a convex variable? Say if the sparse condition is in the dual transform.