I’m working on a function from a paper that is claimed to be jointly concave in q_i and \tau_i. I want to implement it in CVX but cannot find a valid DCP form.
The function is:
f(q_i,\tau_i) = W \tau_i \mathbb{E}_{c_i}\left[ \log_2\left(1 + \frac{P_p\left|\sqrt{b} + \sqrt{\frac{a_i d_i q_i}{\tau_i}} c_i\right|^2}{\sigma^2}\right) \right]
The paper proves its concavity as follows:
- Let g(q_i) = W \log_2\left(1 + \frac{P_p\left|\sqrt{b} + \sqrt{a_i d_i q_i} c_i\right|^2}{\sigma^2}\right). This function is concave in q_i because it is the composition of a concave function (\log_2(1 + \cdot)) with a non-decreasing concave function of q_i.
- The original function f(q_i,\tau_i) is the perspective function of g(q_i): f(q_i,\tau_i) = \tau_i \cdot g(q_i/\tau_i). Since the perspective of a concave function is also concave, f(q_i,\tau_i) is jointly concave in (q_i,\tau_i).
- Taking the expectation over c_i preserves concavity.
However, I cannot find a way to represent the term \sqrt{q_i/\tau_i} in CVX that satisfies DCP rules. All attempts result in errors like Cannot perform the operation: {concave} .* {convex}.
Question:
Given that f(q_i,\tau_i) is mathematically concave, is there a way to rewrite it in CVX-compliant DCP form?
Thank you for your help!