How to express Product of many terms in Cvx

My objective function is :

 minimize  \prod (t_i ^ w_i) 

where

 t_i is optimization variable , i index from 1 to n
 & w_i is a known integer

i.e. t1^w1 * t2^w2 …tn^wn

As written, it is not convex, so CVX cannot solve it. It is mathematically equivalent to

minimize(geo_mean(t,w))

however, this is not convex either, because the quantity is concave, not convex.

If you are certain that t is positive, you might consider solving this as a geometric program:

cvx_begin gp
    variable t(n)
    minimize(prod(t.^w))

But note that the restrictions on the kinds of constraints you can now impose on t are quite different than they are with a standard convex program. Most of the functions CVX implements are not supported for geometric programs. Please read the CVX documentation on geometric programming mode, as well as other introductory texts on geometric programming.

Thank you for your reply.

Actually yes, i am 100% sure that all t elements are positive.

The formulation is taken from one of Stephen Boyd Papers: Kindly review the highlighted paragraph (in page 3 and 4) for the original formulation and try to advice me how to implement this geometric programming optimization problem in CVX .

http://www.mediafire.com/view/x7uzxf12eqehza8/Boyd%2520paper.pdf

By the way, how the objective function is equivalent to the one u mentioned :

 minimize(sum(t.^w))

Thank you for your reply.

Actually yes, i am 100% sure that all t elements are positive.

The formulation is taken from one of Stephen Boyd Papers: Kindly review the highlighted paragraph (in page 3 and 4) for the original formulation and try to advice me how to implement this geometric programmi

By the way :
you suggested that the i could use:

cvx_begin gp
variable t(n)
minimize(sum(t.^w))

instead of the product term. Is this by using the Arithmetic mean (AN)- Geometric mean(GM) approximation where :

GM  smaller than or equal  AN

I can’t review papers for you, sorry. But if it is indeed a geometric program, you should be able to implement it in CVX. I apologize for the typo, though, I should have written prod(t.^w) above. I will edit that.