Geometric programs are not (in general) convex optimization problems, but they can be transformed to convex problems by a change of variables and a transformation of the objective and constraint functions. In particular, definingafter performing the change of variables <math>y_i = \log(x_i)</math> and taking the log of the objective and constraint functions, the monomialfunctions <math>f(x)f_i</math>, =i.e., cthe x_1^{a_1}posynomials, \cdotsare x_n^{a_n}transformed \mapstoe^{a^Tinto ylog-sum-exp functions, which are convex, and the functions +b}<math>g_i</math>, wherei.e., the monomials, become affine. Hence, this transformation transforms every GP into an equivalent convex program. <mathref>bS. =Boyd, \log(c)S. J. Kim, L. Vandenberghe, and A. Hassibi. ''[http://www.stanford.edu/~boyd/gp_tutorial.html A Tutorial on Geometric Programming].'' Retrieved 8 January 2019.</mathref>.
Similarly, if <math>f</math> is the [[posynomial]]
then <math>f(x) = \sum_{k=1}^K e^{a_k^T y + b_k}</math>, where <math>a_k = (a_{1k},\dots,a_{nk} )</math> and <math>b_k = \log(c_k) </math>. After the change of variables, a posynomial becomes a sum of exponentials of affine functions.